/* Fangkuaiyun public surfaces. Opt in with body.fky-public-page.
   Presentation only: inputs, validation, CAPTCHA and payment handlers stay native. */
body.fky-public-page {
  --primary: #2576ee;
  --primary-2: #3489fa;
  --primary-hover: #1766d8;
  --primary-d: #1766d8;
  --text: #253346;
  --title: #203047;
  --muted: #6b7b90;
  --border: #dbe5f1;
  --danger: #bd4754;
  --success: #24806a;
  --panel: rgba(255, 255, 255, .7);
  --fky-public-line: rgba(109, 136, 172, .15);
  --fky-public-shadow: 0 24px 64px rgba(53, 80, 119, .085), 0 4px 12px rgba(53, 80, 119, .035), inset 0 1px 0 #fff;
  box-sizing: border-box;
  width: 100%; height: auto; min-height: 100vh; min-height: 100svh;
  margin: 0; color: var(--text); overflow-x: hidden; overflow-y: auto; isolation: isolate;
  background: radial-gradient(ellipse at 88% 4%, rgba(175, 206, 245, .42), transparent 43%), radial-gradient(ellipse at 3% 92%, rgba(183, 223, 232, .38), transparent 45%), linear-gradient(145deg, #f7f9fc, #ecf2f9 62%, #f4f7fb);
  font: 14px/1.65 "Microsoft YaHei", "微软雅黑", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html:has(body.fky-public-page),
body.fky-public-page,
body.fky-public-page button,
body.fky-public-page input,
body.fky-public-page select,
body.fky-public-page textarea,
body.fky-public-page .btn,
body.fky-public-page .input,
body.fky-public-page .select,
body.fky-public-page .form-control,
body.fky-public-page .submit-btn,
body.fky-public-page label,
body.fky-public-page h1,
body.fky-public-page h2,
body.fky-public-page p {
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif !important;
}
body.fky-public-page *, body.fky-public-page *::before, body.fky-public-page *::after { box-sizing: border-box; }
/* All interface text, including dates and numeric values, follows the site font. */
body.fky-public-page :where(h1,h2,h3,h4,h5,h6,p,span,div,a,b,strong,em,label,small,time,td,th,dt,dd,li,summary,pre,code,kbd,samp,aside,legend,option):not([class*="icon"]):not([class*="fa-"]):not(.fa) {
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif !important;
}
body.fky-public-page::before, body.fky-public-page::after {
  content: ""; position: fixed; pointer-events: none; z-index: -1; animation: none;
  width: 46vw; height: 46vw; max-width: 660px; max-height: 660px; border-radius: 50%; opacity: .5; filter: blur(64px);
}
body.fky-public-page::before { top: -28%; left: -16%; background: rgba(188, 215, 247, .35); }
body.fky-public-page::after { right: -18%; bottom: -28%; background: rgba(176, 219, 236, .3); }
body.fky-public-page a { color: #256acb; text-decoration: none; }
body.fky-public-page a:hover { color: #1354af; }
body.fky-public-page button, body.fky-public-page input, body.fky-public-page select, body.fky-public-page textarea { font-family: inherit; }
body.fky-public-page input:not([type="hidden"]), body.fky-public-page textarea, body.fky-public-page select { max-width: 100%; }
body.fky-public-page ::selection { color: #21446c; background: #d6e7ff; }
body.fky-public-page :focus-visible { outline: 3px solid rgba(37, 118, 238, .48); outline-offset: 3px; }
body.fky-public-page .input,
body.fky-public-page .select,
body.fky-public-page .form-control,
body.fky-public-auth .form-item input,
body.fky-public-auth .form-item select,
body.fky-public-legacy textarea {
  min-width: 0; height: 48px; border: 1px solid #d5e1ef; border-radius: 12px;
  padding: 0 14px; background-color: rgba(255, 255, 255, .86); color: #253346;
  font-size: 14px; line-height: normal; outline: none;
  box-shadow: inset 0 1px 2px rgba(59, 86, 121, .025);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
body.fky-public-page .input:hover,
body.fky-public-page .select:hover,
body.fky-public-page .form-control:hover,
body.fky-public-auth .form-item input:hover,
body.fky-public-auth .form-item select:hover { border-color: #b9cde5; }
body.fky-public-page .input:focus,
body.fky-public-page .select:focus,
body.fky-public-page .form-control:focus,
body.fky-public-auth .form-item input:focus,
body.fky-public-auth .form-item select:focus,
body.fky-public-legacy textarea:focus {
  border-color: #78a9ed; background-color: #fff;
  box-shadow: 0 0 0 4px rgba(53, 132, 240, .1);
}
body.fky-public-page input::placeholder, body.fky-public-page textarea::placeholder { color: #91a0b2; opacity: 1; }
body.fky-public-page input:disabled, body.fky-public-page select:disabled { color: #8b97a8; background-color: #eef2f6; cursor: not-allowed; }
body.fky-public-page .form-item label, body.fky-public-page .form-group > label, body.fky-public-page .label {
  color: #54667d; font-size: 13px; font-weight: 600; line-height: 1.5; margin-bottom: 8px;
}
body.fky-public-page .submit-btn, body.fky-public-page .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-width: 0; max-width: 100%; min-height: 44px; padding: 10px 22px; border: 1px solid #245cdb; border-radius: 10px;
  color: #fff; background: linear-gradient(180deg, #245cdb, #1d4fc4);
  font-size: 14px; font-weight: 600; line-height: 1.3; letter-spacing: .01em;
  text-decoration: none; text-align: center; white-space: normal; overflow-wrap: anywhere; cursor: pointer; opacity: 1; touch-action: manipulation;
  box-shadow: 0 2px 4px rgba(36,92,219,.14); transform: none;
  transition: color .16s ease, background-color .16s ease, box-shadow .16s ease, border-color .16s ease, transform .12s ease;
}
body.fky-public-page .submit-btn:hover:not(:disabled), body.fky-public-page .btn:hover:not(:disabled) {
  color: #fff; background: linear-gradient(180deg, #1f53cc, #1946b4); border-color: #1f53cc; filter: none;
  box-shadow: 0 2px 4px rgba(36,92,219,.14); transform: none;
}
body.fky-public-page .submit-btn:active:not(:disabled), body.fky-public-page .btn:active:not(:disabled) {
  transform: scale(.98); box-shadow: none;
}
body.fky-public-page .btn-default, body.fky-public-page .btn-secondary {
  color: #405570; border-color: #d5dfec; background: #fff; box-shadow: none;
}
body.fky-public-page .btn-default:hover:not(:disabled), body.fky-public-page .btn-secondary:hover:not(:disabled) { color: #245cdb; background: #f3f6fc; border-color: #b7c8e2; box-shadow: none; }
body.fky-public-page .btn-danger { color: #b43546; border-color: #f1cbd2; background: #fff1f3; box-shadow: none; }
body.fky-public-page .btn-danger:hover:not(:disabled) { color: #9e2638; border-color: #e4aeb8; background: #ffe6eb; box-shadow: none; }
body.fky-public-page .btn-warning { color: #925b0b; border-color: #efdfb7; background: #fff8e8; box-shadow: none; }
body.fky-public-page .btn-warning:hover:not(:disabled) { color: #7a4905; border-color: #ddc88d; background: #fff0d0; box-shadow: none; }
body.fky-public-page .btn-success { color: #1b7358; border-color: #c7e7d9; background: #edf9f4; box-shadow: none; }
body.fky-public-page .btn-success:hover:not(:disabled) { color: #125c45; border-color: #a8d4c1; background: #dff3e9; box-shadow: none; }
body.fky-public-page .btn-sm { min-height: 34px; font-size: 12px; padding: 0 12px; border-radius: 9px; }
body.fky-public-page .btn-xs { min-height: 28px; font-size: 12px; padding: 0 9px; border-radius: 8px; }
body.fky-public-page .submit-btn:disabled, body.fky-public-page .submit-btn:disabled:hover,
body.fky-public-page .btn:disabled, body.fky-public-page .btn:disabled:hover,
body.fky-public-page .btn.disabled, body.fky-public-page .btn.disabled:hover, body.fky-public-page .btn.disabled:active,
body.fky-public-page :is(.btn,.submit-btn)[aria-disabled="true"], body.fky-public-page :is(.btn,.submit-btn)[aria-disabled="true"]:is(:hover,:active) {
  color: #8e9bab; border-color: #dce3eb; background: #edf1f5; box-shadow: none; cursor: not-allowed; opacity: 1; transform: none; filter: none;
}
body.fky-public-page .captcha-img, body.fky-public-page .cap-img, body.fky-public-page .cimg { border: 1px solid #d5e1ef; border-radius: 11px; background: #fff; }

/* Administrator and agent sign-in: the existing two-column forms stay intact. */
body.fky-public-login { display: flex; align-items: center; justify-content: center; padding: 40px 24px; }
body.fky-public-login .layout, body.fky-public-login .login-wrapper {
  width: 100%; max-width: 1000px; display: grid; grid-template-columns: .95fr 1.05fr;
  border: 1px solid rgba(255,255,255,.96); border-radius: 30px; background: rgba(255,255,255,.59);
  box-shadow: var(--fky-public-shadow); overflow: hidden; animation: none;
  -webkit-backdrop-filter: blur(26px) saturate(135%); backdrop-filter: blur(26px) saturate(135%);
}
body.fky-public-login .intro, body.fky-public-login .brand-panel {
  min-width: 0; position: relative; padding: 52px 44px; display: flex; flex-direction: column; justify-content: center; gap: 18px;
  color: #344a64; background: radial-gradient(ellipse at 10% 4%, rgba(255,255,255,.95), transparent 53%), linear-gradient(155deg, rgba(221,236,253,.8), rgba(232,243,250,.7));
  border-right: 1px solid rgba(255,255,255,.78); isolation: isolate;
}
body.fky-public-login .intro::before, body.fky-public-login .brand-panel::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 92% 100%, rgba(146,188,237,.19), transparent 62%);
}
body.fky-public-login .intro::after, body.fky-public-login .brand-panel::after {
  content: ""; position: absolute; width: 340px; height: 340px; top: auto; right: -175px; bottom: -195px;
  border: 1px solid rgba(255,255,255,.85); border-radius: 50%; z-index: -1; pointer-events: none;
  box-shadow: 0 0 0 38px rgba(255,255,255,.14), 0 0 0 76px rgba(255,255,255,.11), inset 0 1px 0 rgba(255,255,255,.9);
}
body.fky-public-login .brand-badge {
  display: inline-flex; align-items: center; gap: 9px; width: fit-content; padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.95); border-radius: 13px; background: rgba(255,255,255,.65);
  color: #57799f; font-size: 12px; font-weight: 600; letter-spacing: .035em; box-shadow: 0 2px 6px rgba(54,99,155,.025);
}
body.fky-public-login .brand-badge::before {
  content: ""; display: block; width: 16px; height: 16px; border-radius: 5px; flex: 0 0 16px;
  background: linear-gradient(145deg, #fff, #b6d7ff); border: 1px solid rgba(105,159,223,.38); box-shadow: inset 0 1px 0 #fff, 0 2px 4px rgba(59,120,188,.1);
}
body.fky-public-login .intro h1, body.fky-public-login .brand-panel h1 {
  margin: 7px 0 0; color: #243b57; font-size: clamp(32px, 3.2vw, 42px); font-weight: 700; line-height: 1.24; letter-spacing: -.035em; text-shadow: none; overflow-wrap: anywhere;
}
body.fky-public-login .intro p, body.fky-public-login .brand-panel p { max-width: 340px; color: #6b829c; line-height: 1.85; font-size: 14px; margin: 0; }
body.fky-public-login .panel, body.fky-public-login .login-card { min-width: 0; padding: 48px 46px 42px; background: rgba(255,255,255,.72); }
body.fky-public-login .panel h2, body.fky-public-login .login-title { color: #26384f; font-size: 27px; font-weight: 650; letter-spacing: -.025em; }
body.fky-public-login .desc, body.fky-public-login .login-subtitle { margin: 9px 0 21px; color: #7c8ca0; font-size: 13px; line-height: 1.7; }
body.fky-public-login .form-item { margin-bottom: 18px; }
body.fky-public-login .message, body.fky-public-login .msg { font-size: 13px; overflow-wrap: anywhere; }
body.fky-public-login .submit-btn { width: 100%; min-height: 48px; height: 48px; margin-top: 8px; }
body.fky-public-login .captcha-row { display: flex; align-items: center; gap: 10px; min-width: 0; }
body.fky-public-login .captcha-row .input { flex: 1 1 0; width: 0; min-width: 0; }
/* Legacy captcha scripts set inline dimensions after load; keep their full image inside the form. */
body.fky-public-login .captcha-row .captcha-img { flex: 0 0 124px; width: 124px !important; max-width: 124px; height: 48px !important; object-fit: contain; }

/* Card / hardware-key self-service forms. */
body.fky-public-unbind { display: flex; align-items: center; justify-content: center; padding: 36px 24px; }
body.fky-public-unbind .container {
  width: 100%; max-width: 570px; border-radius: 26px; border: 1px solid rgba(255,255,255,.95); background: rgba(255,255,255,.72);
  box-shadow: var(--fky-public-shadow); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); overflow: hidden;
}
body.fky-public-unbind .header { padding: 32px 32px 24px; border-bottom: 1px solid var(--fky-public-line); background: linear-gradient(140deg, rgba(255,255,255,.8), rgba(219,235,253,.35)); }
body.fky-public-unbind .title { color: #263b56; font-size: 28px; font-weight: 650; letter-spacing: -.025em; }
body.fky-public-unbind .subtitle { color: #70829a; font-size: 13px; }
body.fky-public-unbind .content { padding: 26px 32px 32px; }
body.fky-public-unbind .cap-row { align-items: center; gap: 12px; margin-top: 0; }
body.fky-public-unbind .cap-row .input { min-width: 0; flex: 1 1 0; }
body.fky-public-unbind .cap-img { flex: 0 0 auto; max-width: 42%; height: 48px; object-fit: contain; }
body.fky-public-unbind .actions { margin-top: 24px; gap: 12px; }
body.fky-public-unbind .btn { min-height: 46px; }
body.fky-public-unbind .hint { font-size: 12px; color: #8491a2; }
body.fky-public-unbind .result { border-radius: 13px; box-shadow: inset 0 1px 0 rgba(255,255,255,.55); }
body.fky-public-unbind .result-badge { font-weight: 600; }

/* Vue software account center: preserve all panes and loading states. */
body.fky-public-auth { padding: 44px 22px; }
body.fky-public-auth .wrap {
  max-width: 470px; padding: 28px; border-radius: 26px; border: 1px solid rgba(255,255,255,.94); background: rgba(255,255,255,.75);
  box-shadow: var(--fky-public-shadow); animation: none; -webkit-backdrop-filter: blur(24px) saturate(135%); backdrop-filter: blur(24px) saturate(135%);
}
body.fky-public-auth .announce { color: #5e7692; border-color: #dce9f7; border-radius: 14px; background: linear-gradient(145deg, #f7fbff, #edf5fe); font-size: 12px; }
body.fky-public-auth .announce::before { color: #3975bd; background: #e0edff; box-shadow: inset 0 1px 0 #fff; font-weight: 600; }
body.fky-public-auth .announce strong { color: #4d6686; font-size: 13px; }
body.fky-public-auth .main-tabs { padding: 4px; gap: 3px; border-radius: 14px; border: 1px solid #e1e9f3; background: rgba(226,235,246,.56); box-shadow: inset 0 1px 3px rgba(58,84,115,.025); }
body.fky-public-auth .main-tabs .mt { min-height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 10px; padding: 8px 4px; color: #8190a4; font-size: 13px; }
body.fky-public-auth .main-tabs .mt.on { color: #2b70c7; background: linear-gradient(180deg, #fff, #f7fbff); box-shadow: 0 2px 5px rgba(53,84,125,.07), inset 0 1px 0 #fff; }
body.fky-public-auth .sub-tabs { display: flex; padding: 0; gap: 6px; background: transparent; border-radius: 0; }
body.fky-public-auth .sub-tabs .st { padding: 7px 11px; border-radius: 10px; color: #7a8ca2; border: 1px solid transparent; font-size: 12px; }
body.fky-public-auth .sub-tabs .st.on { color: #3476c7; background: #eaf3ff; border-color: #d8e8fc; box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
body.fky-public-auth .form-item { margin-bottom: 14px; }
body.fky-public-auth .code-row input, body.fky-public-auth .area-input input { min-width: 0; flex: 1 1 0; }
body.fky-public-auth .area-input select { width: 128px; max-width: 38%; padding-left: 10px; padding-right: 8px; }
body.fky-public-auth .btn { min-height: 48px; padding: 10px 18px; }
body.fky-public-auth .btn-send {
  min-height: 42px; padding: 8px 12px; border: 1px solid #d5dfec; border-radius: 10px; color: #405570;
  background: #fff; font-size: 12px; font-weight: 600; box-shadow: none;
}
body.fky-public-auth .btn-send:hover:not(:disabled) { color: #245cdb; background: #f3f6fc; border-color: #b7c8e2; box-shadow: none; transform: none; }
body.fky-public-auth .btn-send:active:not(:disabled) { transform: scale(.98); box-shadow: none; }
body.fky-public-auth .btn-send:disabled, body.fky-public-auth .btn-send:disabled:hover,
body.fky-public-auth .btn-send[aria-disabled="true"], body.fky-public-auth .btn-send[aria-disabled="true"]:is(:hover,:active) { color: #929eae; border-color: #dce3eb; background: #edf1f5; box-shadow: none; cursor: not-allowed; transform: none; }
body.fky-public-auth .img-code-row { flex-wrap: wrap; gap: 10px; }
body.fky-public-auth .img-code-row input { min-width: 70px; width: 0; flex: 1 1 80px; }
body.fky-public-auth .img-code-row img { max-width: 42%; height: 44px; object-fit: contain; border-color: #d5e1ef; border-radius: 10px; background: #fff; }
body.fky-public-auth .img-code-row .refresh-txt { font-size: 12px; }
body.fky-public-auth .link-row { gap: 16px; flex-wrap: wrap; font-size: 12px; }
body.fky-public-auth .msg { font-size: 12px; padding: 11px 13px; line-height: 1.7; overflow-wrap: anywhere; }

/* Legacy Bootstrap / AdminLTE public forms, lists and article views. */
body.fky-public-legacy { padding: 36px 24px; }
body.fky-public-legacy > div:first-of-type { width: 100%; max-width: 820px; margin: 0 auto; }
body.fky-public-legacy .box {
  width: 100%; max-width: 100%; margin: 0 auto 24px; border: 1px solid rgba(255,255,255,.96); border-radius: 24px;
  color: #34495f; background: rgba(255,255,255,.74); box-shadow: var(--fky-public-shadow); overflow: hidden;
  -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
}
body.fky-public-legacy--form .box { max-width: 560px; }
body.fky-public-legacy .box > .box-header { padding: 25px 28px 22px; border: 0; border-bottom: 1px solid var(--fky-public-line); background: linear-gradient(140deg, rgba(255,255,255,.8), rgba(222,237,253,.4)); }
body.fky-public-legacy .box-title { margin: 0; color: #2d4662; font-size: 22px; line-height: 1.4; font-weight: 650; letter-spacing: -.02em; }
body.fky-public-legacy .box-body { padding: 26px 28px; }
body.fky-public-legacy .box-body .box-body { padding: 0; }
body.fky-public-legacy .box-body h4 { color: #748499; font-size: 13px; line-height: 1.7; margin: 8px 0; overflow-wrap: anywhere; }
body.fky-public-legacy .form-group { margin: 0 0 19px; }
body.fky-public-legacy .form-group > label { display: block; }
body.fky-public-legacy .input-group { display: flex; align-items: stretch; width: 100%; }
body.fky-public-legacy .input-group-addon {
  display: flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; min-width: 44px; padding: 0;
  color: #7996b5; background: linear-gradient(180deg, #f6faff, #edf4fc); border: 1px solid #d5e1ef; border-right: 0; border-radius: 12px 0 0 12px;
}
/* Self-contained decorative icons when the old Bootstrap glyph font is unavailable. */
body.fky-public-legacy .input-group-addon .glyphicon { display: block; width: 18px; height: 18px; font-size: 0; background-color: currentColor; -webkit-mask: var(--fky-input-icon) center / 18px 18px no-repeat; mask: var(--fky-input-icon) center / 18px 18px no-repeat; }
body.fky-public-legacy .input-group-addon .glyphicon::before { content: none; }
body.fky-public-legacy .glyphicon-user { --fky-input-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 21v-2a7 7 0 0 1 14 0v2'/%3E%3C/svg%3E"); }
body.fky-public-legacy .glyphicon-lock { --fky-input-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='2.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3m-4 5v2'/%3E%3C/svg%3E"); }
body.fky-public-legacy .glyphicon-eye-open { --fky-input-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6-10-6-10-6z'/%3E%3Ccircle cx='12' cy='12' r='2.7'/%3E%3C/svg%3E"); }
body.fky-public-legacy .glyphicon-envelope { --fky-input-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
body.fky-public-legacy .glyphicon-credit-card { --fky-input-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='3'/%3E%3Cpath d='M3 10h18M6 15h4'/%3E%3C/svg%3E"); }
body.fky-public-legacy .input-group .form-control { display: block; float: none; position: relative; width: 0; flex: 1 1 0; border-radius: 0 12px 12px 0; }
body.fky-public-legacy .input-group > .form-control:first-child { border-radius: 12px; }
body.fky-public-legacy textarea { display: block; width: 100%; min-height: 150px; height: auto; padding: 12px 14px; line-height: 1.7; resize: vertical; }
body.fky-public-legacy .box-footer { padding: 16px 0 0; border: 0; background: transparent; }
body.fky-public-legacy .box > .box-footer { padding: 16px 28px 26px; }
body.fky-public-legacy .btn-block { display: flex; width: 100%; min-height: 46px; }
body.fky-public-legacy .cimg { display: block; max-width: 100%; height: 50px; object-fit: contain; cursor: pointer; }
body.fky-public-legacy .table { width: 100%; max-width: 100%; margin: 0; border-collapse: collapse; background: transparent; font-size: 13px; }
body.fky-public-legacy .table > tbody > tr > th, body.fky-public-legacy .table > thead > tr > th, body.fky-public-legacy .table th { padding: 13px 12px; color: #7690ac; font-size: 12px; font-weight: 600; border-bottom: 1px solid #dfe8f3; background: rgba(232,240,250,.66); white-space: nowrap; }
body.fky-public-legacy .table > tbody > tr > td, body.fky-public-legacy .table td { padding: 14px 12px; color: #516982; border-top: 1px solid #e7eef6; vertical-align: middle; }
body.fky-public-legacy .table tr:hover > td { background: rgba(239,246,255,.75); }
body.fky-public-legacy .pagination { display: flex; flex-wrap: wrap; gap: 5px; padding: 0; margin: 18px 0 0; list-style: none; }
body.fky-public-legacy .pagination > li > a, body.fky-public-legacy .pagination > li > span { border-color: #dce6f2; border-radius: 8px; background: rgba(255,255,255,.75); color: #587798; }
body.fky-public-legacy .pagination > .active > a { background: #2f80ed; color: #fff; border-color: #2f80ed; }
body.fky-public-legacy .content-header { padding: 0 0 14px; }
body.fky-public-legacy .content-header > .breadcrumb { position: static; float: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; color: #7890aa; background: transparent; list-style: none; font-size: 12px; }
body.fky-public-legacy .content { min-height: 0; margin: 0; padding: 0; line-height: 1.9; overflow-wrap: anywhere; }
body.fky-public-legacy .content img { max-width: 100%; height: auto; }
body.fky-public-legacy .content .box-header { padding: 12px 0 0; border: 0; }

/* Existing email reset link page keeps its original Layui behavior. */
body.fky-public-reset { display: flex; align-items: center; justify-content: center; padding: 36px 22px; }
body.fky-public-reset .layadmin-user-login { position: relative; width: 100%; min-height: 0; padding: 0; }
body.fky-public-reset .layadmin-user-login-main {
  width: 100%; max-width: 460px; margin: 0 auto; padding: 12px 12px 18px; border: 1px solid rgba(255,255,255,.96); border-radius: 26px;
  background: rgba(255,255,255,.75); box-shadow: var(--fky-public-shadow); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
}
body.fky-public-reset .layadmin-user-login-box { padding: 24px; }
body.fky-public-reset .layadmin-user-login-header { border-bottom: 1px solid var(--fky-public-line); text-align: left; padding-bottom: 16px; }
body.fky-public-reset .layadmin-user-login-header h2 { color: #2c435f; font-size: 23px; font-weight: 650; line-height: 1.5; }
body.fky-public-reset .layadmin-user-login-icon { height: 48px; line-height: 48px; width: 40px; color: #90a5be; }
body.fky-public-reset .layui-form-item { margin-bottom: 16px; }
body.fky-public-reset .layui-input { width: 100%; height: 48px; line-height: normal; padding: 0 14px 0 40px; border: 1px solid #d5e1ef; border-radius: 12px; color: #253346; background: rgba(255,255,255,.86); outline: none; }
body.fky-public-reset .layui-input:focus { border-color: #78a9ed; box-shadow: 0 0 0 4px rgba(53,132,240,.1); }
body.fky-public-reset .layui-input:disabled { color: #8b97a8; background: #edf2f7; }
body.fky-public-reset .layui-btn {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; height: auto; padding: 11px 18px;
  border: 1px solid #245cdb; border-radius: 10px; color: #fff; background: linear-gradient(180deg, #245cdb, #1d4fc4);
  box-shadow: 0 2px 4px rgba(36,92,219,.14); font-size: 14px; font-weight: 600; line-height: 1.5;
  transition: background-color .16s ease, border-color .16s ease, transform .12s ease;
}
body.fky-public-reset .layui-btn:hover { opacity: 1; background: linear-gradient(180deg, #1f53cc, #1946b4); border-color: #1f53cc; transform: none; }
body.fky-public-reset .layui-btn:active:not(:disabled) { transform: scale(.98); box-shadow: none; }
body.fky-public-reset .layui-btn:disabled, body.fky-public-reset .layui-btn:disabled:hover,
body.fky-public-reset .layui-btn:is(.layui-btn-disabled,[aria-disabled="true"]), body.fky-public-reset .layui-btn:is(.layui-btn-disabled,[aria-disabled="true"]):is(:hover,:active) { color: #8e9bab; background: #edf1f5; border-color: #dce3eb; box-shadow: none; cursor: not-allowed; transform: none; }

@media (max-width: 900px) {
  body.fky-public-login { padding: 28px 20px; }
  body.fky-public-login .layout, body.fky-public-login .login-wrapper { max-width: 500px; grid-template-columns: 1fr; border-radius: 26px; }
  body.fky-public-login .intro, body.fky-public-login .brand-panel { padding: 29px 32px; gap: 12px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.95); }
  body.fky-public-login .intro h1, body.fky-public-login .brand-panel h1 { font-size: 31px; margin-top: 2px; }
  body.fky-public-login .intro p, body.fky-public-login .brand-panel p { max-width: none; font-size: 13px; line-height: 1.6; }
  body.fky-public-login .panel, body.fky-public-login .login-card { padding: 30px 32px 32px; }
}
@media (max-width: 600px) {
  body.fky-public-page { -webkit-text-size-adjust: 100%; }
  body.fky-public-page .btn-sm, body.fky-public-page .btn-xs { min-height: 44px; padding: 10px 14px; }
  body.fky-public-login, body.fky-public-unbind { padding: 20px 14px; align-items: flex-start; }
  body.fky-public-login .intro, body.fky-public-login .brand-panel { padding: 25px 24px; }
  body.fky-public-login .panel, body.fky-public-login .login-card { padding: 28px 24px 30px; }
  body.fky-public-login .intro h1, body.fky-public-login .brand-panel h1 { font-size: 29px; }
  body.fky-public-login .panel h2, body.fky-public-login .login-title { font-size: 25px; }
  body.fky-public-login .message:empty, body.fky-public-login .msg:empty { display: none; }
  body.fky-public-page .input, body.fky-public-page .select, body.fky-public-page .form-control,
  body.fky-public-auth .form-item input, body.fky-public-auth .form-item select, body.fky-public-legacy textarea { font-size: 16px; }
  body.fky-public-unbind .container { border-radius: 23px; }
  body.fky-public-unbind .header { padding: 27px 23px 21px; }
  body.fky-public-unbind .content { padding: 25px 23px 28px; }
  body.fky-public-unbind .title { font-size: 25px; }
  body.fky-public-unbind .btn { width: 100%; }
  body.fky-public-auth { padding: 20px 14px; }
  body.fky-public-auth .wrap { border-radius: 23px; padding: 24px 20px; }
  body.fky-public-auth .main-tabs .mt { min-width: 0; min-height: 44px; }
  body.fky-public-auth .sub-tabs { gap: 4px; }
  body.fky-public-auth .sub-tabs .st { display: inline-flex; align-items: center; justify-content: center; flex: 1 1 auto; min-height: 44px; padding: 9px; }
  body.fky-public-auth .btn-send { min-height: 48px; }
  body.fky-public-auth .img-code-row .refresh-txt { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  body.fky-public-auth .link-row { gap: 4px 12px; margin-top: 10px; }
  body.fky-public-auth .link-row a { display: inline-flex; align-items: center; min-height: 44px; }
  body.fky-public-auth .code-row { gap: 8px; }
  body.fky-public-auth .code-row .btn-send { padding: 9px 10px; }
  body.fky-public-auth .area-input select { width: 128px; max-width: 44%; font-size: 16px; }
  body.fky-public-legacy { padding: 20px 14px; }
  body.fky-public-legacy .box { border-radius: 22px; }
  body.fky-public-legacy .box > .box-header { padding: 23px 21px 20px; }
  body.fky-public-legacy .box-title { font-size: 21px; }
  body.fky-public-legacy .box-body { padding: 24px 21px; }
  body.fky-public-legacy .box-body .box-body { padding: 0; }
  body.fky-public-legacy--list .box-body { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  body.fky-public-legacy--list .table { min-width: 620px; }
  body.fky-public-legacy .box > .box-footer { padding: 12px 21px 24px; }
  body.fky-public-legacy .pagination > li > a, body.fky-public-legacy .pagination > li > span { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  body.fky-public-reset { align-items: flex-start; padding: 24px 14px; }
  body.fky-public-reset .layadmin-user-login-main { padding: 8px; border-radius: 23px; }
  body.fky-public-reset .layadmin-user-login-box { padding: 20px; }
  body.fky-public-reset .layui-input { font-size: 16px; }
}
@media (max-width: 380px) {
  body.fky-public-login .intro, body.fky-public-login .brand-panel { padding: 22px 18px; }
  body.fky-public-login .panel, body.fky-public-login .login-card { padding: 24px 18px; }
  body.fky-public-auth .wrap { padding: 22px 16px; }
  body.fky-public-unbind .header, body.fky-public-unbind .content { padding-left: 18px; padding-right: 18px; }
  body.fky-public-legacy .box > .box-header, body.fky-public-legacy .box-body { padding-left: 16px; padding-right: 16px; }
}
@media (max-height: 760px) and (min-width: 901px) {
  body.fky-public-login { align-items: flex-start; padding-top: 26px; padding-bottom: 26px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.fky-public-login .layout, body.fky-public-login .login-wrapper,
  body.fky-public-unbind .container, body.fky-public-auth .wrap, body.fky-public-legacy .box { background-color: #f8fbff; }
}
@media (prefers-reduced-motion: reduce) {
  body.fky-public-page *, body.fky-public-page *::before, body.fky-public-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  body.fky-public-page :is(.btn,.submit-btn,.btn-send):is(:hover,:active), body.fky-public-reset .layui-btn:is(:hover,:active) { transform: none !important; }
}
@media (forced-colors: active) {
  body.fky-public-page { color: CanvasText; background: Canvas; }
  body.fky-public-page::before, body.fky-public-page::after { display: none; }
  body.fky-public-page :is(.btn,.submit-btn,.btn-send), body.fky-public-reset .layui-btn { color: ButtonText !important; background: ButtonFace !important; border: 1px solid ButtonText !important; box-shadow: none !important; }
  body.fky-public-page :is(.btn,.submit-btn,.btn-send,.layui-btn):is(:disabled,.disabled,.layui-btn-disabled,[aria-disabled="true"]) { color: GrayText !important; border-color: GrayText !important; }
  body.fky-public-page .input, body.fky-public-page .select, body.fky-public-page .form-control { color: FieldText; background: Field; border: 1px solid FieldText; }
}
