/* V3.7.2 — crisp INS admin theme
   Goals: remove the grey veil, tighten the navigation, and keep a soft premium palette without pure black. */
:root{
  --page-bg:#f7f8fb;
  --page-bg-soft:#fbfafc;
  --surface:#ffffff;
  --surface-soft:#faf8fb;
  --surface-tint:#f5f2f8;
  --text-main:#667286;
  --text-title:#455368;
  --text-strong:#56657a;
  --text-muted:#909aac;
  --line:#ece7ef;
  --line-strong:#ded8e4;
  --primary:#9186ce;
  --primary-2:#98afd7;
  --primary-deep:#776ea8;
  --primary-soft:#f0ecf8;
  --blue-soft:#edf3f9;
  --pink-soft:#f8ecef;
  --cream-soft:#faf2e8;
  --mint-soft:#ebf4f0;
  --danger:#bc687e;
  --warning:#a97b4c;
  --shadow:0 18px 46px rgba(91,80,111,.075);
  --shadow-soft:0 8px 24px rgba(91,80,111,.055);
  --role-accent:var(--primary)!important;
  --sidebar-width:216px;
}

html,body{background:var(--page-bg)!important;color:var(--text-main)!important}
body,.public-page,.portal-page{
  background:
    radial-gradient(circle at 92% -5%,rgba(195,210,235,.18),transparent 29%),
    radial-gradient(circle at 2% 105%,rgba(226,210,232,.16),transparent 25%),
    var(--page-bg)!important;
  color:var(--text-main)!important;
}
h1,h2,h3,h4,h5,h6,strong,b,.topbar-title h1,.portal-hero h1,.portal-card strong,.field label{color:var(--text-title)!important}
a{color:#7c81a8}.muted,.footer-note,.portal-sub,.portal-card em{color:var(--text-muted)!important}

/* Solid, crisp surfaces — no stacked blur or transparent grey film. */
.card,.form-section,.public-apply-head,.mobile-section,.mobile-form-card,.mobile-search-card,
.approval-head-card,.portal-card,.login-card,.home-card,.kpi{
  background:var(--surface)!important;
  border-color:var(--line)!important;
  box-shadow:var(--shadow-soft)!important;
  backdrop-filter:none!important;
}
.card,.form-section,.public-apply-head,.portal-card{border-radius:22px!important}
.card:before{display:none!important}.soft{background:var(--surface-soft)!important}

/* Buttons */
.btn,button.btn{
  border:1px solid transparent!important;
  background:linear-gradient(135deg,var(--primary),var(--primary-2))!important;
  color:#fff!important;
  border-radius:13px!important;
  box-shadow:0 8px 20px rgba(137,129,195,.16)!important;
  font-weight:800!important;
}
.btn:hover{transform:translateY(-1px);filter:saturate(.96)}
.btn:disabled,.btn.is-loading{opacity:.62;cursor:wait;transform:none}
.btn.ghost,.ghost-xl,.btn.secondary{
  background:#fff!important;color:#727e92!important;border-color:var(--line-strong)!important;box-shadow:none!important
}
.btn.warn{background:var(--cream-soft)!important;color:#967047!important;border-color:#ecdac4!important;box-shadow:none!important}
.btn.bad,.btn.danger-soft{background:var(--pink-soft)!important;color:#ae6074!important;border-color:#efd3da!important;box-shadow:none!important}
.btn.ok{background:var(--mint-soft)!important;color:#688f7f!important;border-color:#d6e8e0!important;box-shadow:none!important}

.notice{border-radius:15px!important;border-width:1px!important;box-shadow:none!important}
.notice.ok{background:var(--mint-soft)!important;border-color:#d4e8df!important;color:#678c7c!important}
.notice.warn{background:var(--cream-soft)!important;border-color:#ecdac4!important;color:#92704c!important}
.notice.bad{background:var(--pink-soft)!important;border-color:#efd3da!important;color:#aa6073!important}

.field label{font-size:13px!important;color:var(--text-strong)!important}
.field input,.field select,.field textarea,input,select,textarea{
  background:#fff!important;color:var(--text-main)!important;border-color:#e4dfe8!important;border-radius:14px!important
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#d4cddd!important}
.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{
  border-color:#aaa0d5!important;box-shadow:0 0 0 4px rgba(145,134,206,.10)!important
}
.field.has-error input{border-color:#d69baa!important}.field-error{display:block;margin-top:7px;color:#b66c7e;font-size:13px}

/* Compact, balanced desktop shell. */
.sidebar{
  width:var(--sidebar-width)!important;
  padding:14px 10px 12px!important;
  background:#fdfcfd!important;
  border-right:1px solid var(--line)!important;
  color:var(--text-main)!important;
  box-shadow:6px 0 24px rgba(91,80,111,.035)!important;
}
.brand{
  gap:9px!important;margin:0 2px 10px!important;padding:5px 7px 13px!important;
  border-bottom:1px solid var(--line)!important;color:var(--text-title)!important
}
.brand-mark{
  width:38px!important;height:38px!important;border-radius:13px!important;
  background:linear-gradient(135deg,#ada3da,#9fb5d7)!important;color:#fff!important;box-shadow:none!important;font-size:11px!important
}
.brand b{font-size:16px!important;line-height:1.2}.brand small{font-size:9px!important;margin-top:2px!important;color:var(--text-muted)!important;letter-spacing:.08em!important}
.side-nav{padding:1px 1px 8px!important;scrollbar-width:thin;scrollbar-color:#ddd7e3 transparent}
.side-nav::-webkit-scrollbar{width:5px}.side-nav::-webkit-scrollbar-thumb{background:#ddd7e3;border-radius:99px}
.nav-item{
  min-height:36px!important;gap:8px!important;padding:7px 9px!important;margin:2px 0!important;
  border-radius:11px!important;color:#758196!important;font-size:13px!important;font-weight:680!important;border:1px solid transparent!important
}
.nav-item:hover{background:#f6f2f7!important;color:#626e84!important}
.nav-item.active{
  background:#f0ebf6!important;color:#7168a1!important;border-color:#ebe4f1!important;
  box-shadow:none!important
}
.nav-icon{
  width:23px!important;height:23px!important;border-radius:8px!important;background:#f5f1f7!important;
  color:#9188ba!important;font-size:11px!important;flex:0 0 auto
}
.nav-item.active .nav-icon{background:#e5def2!important;color:#7469a7!important}
.sidebar-footer{border-color:var(--line)!important;padding-top:7px!important}
.user-mini{padding:6px 8px 7px!important}.user-mini b{font-size:13px!important;color:var(--text-title)!important}.user-mini span{font-size:11px!important;margin-top:2px!important;color:var(--text-muted)!important}
.logout-form{margin:0!important}.nav-item.logout{background:transparent!important;color:#9b7d88!important;box-shadow:none!important;border:0!important}

.main{margin-left:var(--sidebar-width)!important;padding:0 24px 28px!important;background:transparent!important}
.topbar{
  min-height:72px!important;margin:0 -24px 20px!important;padding:14px 24px 12px!important;align-items:center!important;
  background:#fbfbfd!important;border-color:var(--line)!important;backdrop-filter:none!important;box-shadow:0 3px 16px rgba(91,80,111,.025)
}
.topbar-eyebrow{font-size:10px!important;color:#918ab0!important;margin-bottom:2px!important;letter-spacing:.09em!important}
.topbar h1{font-size:23px!important;margin:0 0 2px!important;letter-spacing:-.025em!important}.topbar p{font-size:12px!important;color:var(--text-muted)!important}
.topbar-actions{gap:8px!important}.topbar-icon-button{width:39px!important;height:39px!important;border-radius:13px!important}
.topbar-icon-button,.topbar-profile{background:#fff!important;border-color:var(--line)!important;color:#7b8398!important;box-shadow:0 6px 18px rgba(91,80,111,.045)!important}
.topbar-profile{padding:5px 10px 5px 6px!important;border-radius:13px!important;gap:8px!important}.topbar-profile>span{width:30px!important;height:30px!important;border-radius:10px!important;background:linear-gradient(135deg,#ada3da,#9fb5d7)!important;color:#fff!important}
.topbar-profile b{font-size:12px!important}.topbar-profile small{font-size:9px!important;color:var(--text-muted)!important}

/* Content rhythm */
.shell,.page-shell,.mobile-workbench{max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
.card{padding:21px!important;margin-bottom:16px!important}.card.compact{padding:16px!important}
.section-title{margin-bottom:14px!important}.section-title h2,.section-title h3{font-weight:800!important}
.table-wrap{border-radius:14px!important;box-shadow:none!important;border-color:var(--line)!important}
th{background:#f8f6f9!important;color:#758095!important;border-color:var(--line)!important}td{border-color:#f0ecf2!important;color:var(--text-main)!important}
tbody tr:nth-child(even){background:#fdfcfd!important}tbody tr:hover{background:#f8f5f9!important}
.kpi{border:1px solid var(--line)!important}.kpi:after{display:none!important}.kpi b{color:#8077ae!important}

.badge,.tag{border:1px solid transparent!important}.badge.ok,.tag.ok{background:var(--mint-soft)!important;color:#678f7e!important;border-color:#d7e8e0!important}.badge.warn,.tag.warn,.badge.partial{background:var(--cream-soft)!important;color:#9a754d!important;border-color:#eadbc8!important}.badge.bad,.tag.bad{background:var(--pink-soft)!important;color:#ae6175!important;border-color:#efd3da!important}.badge.muted{background:#f0edf2!important;color:#8c8795!important}

/* Password page: one focused, correctly proportioned form. */
.password-page{max-width:820px!important;padding:4px 0 36px!important;margin:0 auto!important}
.password-intro{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:18px 2px 17px!important}
.password-intro-copy{min-width:0}.password-intro .eyebrow{margin-bottom:9px!important;padding:6px 10px!important;font-size:11px!important}
.password-intro h2{font-size:27px!important;margin:0 0 8px!important;letter-spacing:-.035em!important}.password-intro p{margin:0!important;color:var(--text-muted)!important;line-height:1.75!important}
.password-intro-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--primary-soft);color:#8177ae;font-size:20px;font-weight:800;flex:0 0 auto}
.password-card{max-width:720px!important;padding:24px!important;margin:0!important;border-radius:20px!important}
.password-form{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;max-width:600px!important}
.password-form .field{margin:0!important}.password-form .field input{min-height:50px!important}
.password-form .password-actions{display:flex;align-items:center;gap:12px;margin-top:2px}
.password-form .password-actions .btn{width:auto!important;min-width:190px!important;min-height:48px!important;padding-left:24px!important;padding-right:24px!important}
.password-hint{display:flex;gap:9px;align-items:flex-start;padding:12px 13px;border-radius:13px;background:#faf7fb;border:1px solid var(--line);color:#818b9d;font-size:13px;line-height:1.65}
.password-hint span{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:#eee8f6;color:#8177ae;font-weight:800;flex:0 0 auto}

/* Public and mobile pieces retain the same soft palette, with solid surfaces. */
.portal-mark{background:linear-gradient(135deg,#a79bd5,#9db3d5)!important;box-shadow:0 14px 34px rgba(142,135,190,.14)!important}
.eyebrow,.mini-label{background:var(--primary-soft)!important;color:#8178ac!important}.portal-card:hover{box-shadow:var(--shadow)!important}
.portal-icon,.type-blue,.mobile-actions-grid i{background:var(--blue-soft)!important;color:#7d97bb!important}.portal-card.accent-green .portal-icon,.type-green{background:var(--mint-soft)!important;color:#729b89!important}.portal-card.accent-purple .portal-icon{background:var(--primary-soft)!important;color:#877cb7!important}.type-red{background:var(--pink-soft)!important;color:#b06b7e!important}
.primary-action-card{background:linear-gradient(135deg,#9b90cd,#9cb2d5)!important;box-shadow:0 14px 30px rgba(142,135,190,.15)!important}
.mobile-bottom-nav{background:#fff!important;border-color:var(--line)!important;box-shadow:0 -8px 28px rgba(91,80,111,.07)!important;backdrop-filter:none!important}.mobile-bottom-nav a{color:#9a9eaa!important}.mobile-bottom-nav a.active{color:#8179ac!important}.mobile-bottom-nav a.active span{background:var(--primary-soft)!important}

.result-modal-mask{background:rgba(89,84,101,.32)!important}.result-modal-card{background:#fff!important;box-shadow:0 20px 58px rgba(91,80,111,.16)!important}.result-modal-card h3{color:var(--text-title)!important}.result-modal-card p{color:var(--text-main)!important}
.toast-stack{border-radius:17px!important;box-shadow:0 20px 54px rgba(91,80,111,.16)!important}.toast-head{background:#f4eff7!important;color:var(--text-title)!important}.toast-head b{color:var(--text-title)!important}

@media(max-width:900px){
  .sidebar{display:none!important}.main{margin-left:0!important;padding:0 14px 92px!important}
  .topbar{position:relative!important;margin:0 -14px 14px!important;padding:12px 14px 10px!important;min-height:auto!important;background:#fbfbfd!important}
  .topbar-profile{display:none!important}.topbar h1{font-size:22px!important}.topbar-eyebrow{font-size:9px!important}
  .card{border-radius:18px!important;padding:16px!important}.password-page{padding-top:0!important}.password-intro{padding:8px 1px 15px!important}.password-intro h2{font-size:24px!important}.password-intro-icon{width:43px;height:43px;border-radius:14px}.password-card{padding:18px!important}.password-form .password-actions .btn{width:100%!important}
  .mobile-bottom-nav{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important;border-radius:18px!important}
  .form-grid,.grid.two,.grid.three,.grid.four{grid-template-columns:1fr!important}.table-wrap{border-radius:13px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V3.7.3 — clean white balance hotfix
   Removes the residual grey veil and restores page-specific layout rules omitted in V3.7.2. */
:root{
  --page-bg:#fffafc;
  --page-bg-soft:#fffdfd;
  --surface:#ffffff;
  --surface-soft:#fffefe;
  --surface-tint:#faf6ff;
  --text-main:#5b6b82;
  --text-title:#40516a;
  --text-strong:#4b5d76;
  --text-muted:#7f8da3;
  --line:#e9e4ee;
  --line-strong:#dcd5e4;
  --primary:#8f80cf;
  --primary-2:#8eadd5;
  --primary-deep:#7064a8;
  --primary-soft:#f1ecfb;
  --blue-soft:#eef6ff;
  --pink-soft:#fff0f4;
  --cream-soft:#fff6e9;
  --mint-soft:#edf8f3;
  --shadow:0 16px 38px rgba(98,78,119,.09);
  --shadow-soft:0 7px 22px rgba(98,78,119,.055);
  --sidebar-width:204px;
}

html,body{background:#fffafc!important;color:var(--text-main)!important}
body,.public-page,.portal-page{
  background:#fffafc!important;
  background-image:none!important;
}
.app-layout{background:#fffafc!important}
.main{
  margin-left:var(--sidebar-width)!important;
  padding:0 24px 30px!important;
  background:#fffafc!important;
}
.sidebar{
  width:var(--sidebar-width)!important;
  padding:13px 9px 11px!important;
  background:#fff!important;
  border-right:1px solid #eee8f1!important;
  box-shadow:none!important;
}
.topbar{
  min-height:70px!important;
  margin:0 -24px 20px!important;
  padding:13px 24px 11px!important;
  background:#fff!important;
  border-bottom:1px solid #eee8f1!important;
  box-shadow:0 5px 18px rgba(106,86,127,.035)!important;
}
.brand{padding-left:6px!important;padding-right:6px!important}
.brand-mark{background:linear-gradient(135deg,#a797dc,#91b3db)!important}
.nav-item{color:#65758b!important}
.nav-item:hover{background:#faf6fd!important;color:#566880!important}
.nav-item.active{
  background:#f3edfb!important;
  color:#665b9b!important;
  border-color:#e9e0f3!important;
}
.nav-icon{background:#f8f3fb!important;color:#8b7db2!important}
.nav-item.active .nav-icon{background:#e8def6!important;color:#675b9e!important}

.card,.form-section,.public-apply-head,.mobile-section,.mobile-form-card,.mobile-search-card,
.approval-head-card,.portal-card,.login-card,.home-card,.kpi{
  background:#fff!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--shadow-soft)!important;
  backdrop-filter:none!important;
  opacity:1!important;
}
.card.soft{background:#fff!important;background-image:none!important}
.shell,.page-shell,.mobile-workbench{max-width:1240px!important}
.card{padding:20px!important}

h1,h2,h3,h4,h5,h6,strong,b,.topbar-title h1,.portal-hero h1,.portal-card strong,.field label{
  color:var(--text-title)!important;
}
.muted,.footer-note,.portal-sub,.portal-card em{color:var(--text-muted)!important}

.field input,.field select,.field textarea,input,select,textarea{
  background:#fff!important;
  color:var(--text-main)!important;
  border-color:#e2dce8!important;
  box-shadow:none!important;
}
.field input::placeholder,.field textarea::placeholder{color:#9aa6b8!important}
.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{
  border-color:#a89bd8!important;
  box-shadow:0 0 0 4px rgba(143,128,207,.11)!important;
}

.table-wrap{background:#fff!important;border-color:#e7e1eb!important}
th{background:#faf7fd!important;color:#65758a!important;border-color:#e8e2ec!important}
td{background:#fff!important;border-color:#f0ebf2!important;color:#53647c!important}
tbody tr:nth-child(even),tbody tr:hover{background:#fff!important}
tbody tr:hover td{background:#fffafd!important}
.empty{background:#fff!important;border-color:#ddd5e4!important;color:#7c899c!important}

.notice.ok{background:#eef9f4!important;border-color:#cfe9dc!important;color:#557e6d!important}
.notice.warn{background:#fff7eb!important;border-color:#efd8b7!important;color:#89633d!important}
.notice.bad{background:#fff0f4!important;border-color:#edced7!important;color:#a6576c!important}

/* Restore and refine the identity-cleaning page omitted from the V3.7.2 theme. */
.identity-clean-page{
  display:grid!important;
  gap:16px!important;
  max-width:1240px!important;
  margin:0 auto!important;
  padding-bottom:28px!important;
}
.identity-search-card{
  border-top:3px solid #d7cdf1!important;
  padding:22px!important;
}
.identity-search-card .section-title{margin-bottom:15px!important}
.identity-search-card .section-title p.muted{max-width:920px!important;margin-top:5px!important}
.inline-search-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 112px!important;
  gap:12px!important;
  align-items:end!important;
  margin-top:4px!important;
}
.inline-search-form .field{min-width:0!important}
.inline-search-form .btn{height:48px!important;min-width:112px!important;padding:0 18px!important}
.legacy-data-note{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  margin:12px 0 0!important;
  padding:13px 15px!important;
}
.legacy-data-note b{flex:0 0 auto!important;color:#765831!important}
.legacy-data-note span{line-height:1.65!important;color:#896a46!important}

.identity-summary-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0!important;
}
.identity-summary-grid article{
  position:relative!important;
  overflow:hidden!important;
  min-height:104px!important;
  padding:17px 18px!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  box-shadow:0 6px 18px rgba(98,78,119,.045)!important;
}
.identity-summary-grid article:after{
  content:""!important;
  position:absolute!important;
  right:-18px!important;
  bottom:-25px!important;
  width:78px!important;
  height:78px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.52)!important;
}
.identity-summary-grid article:nth-child(1){background:#f7f3ff!important;border-color:#e5dcf5!important}
.identity-summary-grid article:nth-child(2){background:#eef8f4!important;border-color:#d7eae1!important}
.identity-summary-grid article:nth-child(3){background:#fff6e9!important;border-color:#f0dfc6!important}
.identity-summary-grid article:nth-child(4){background:#eef6ff!important;border-color:#d8e6f5!important}
.identity-summary-grid span{
  display:block!important;
  position:relative!important;
  z-index:1!important;
  color:#718097!important;
  font-size:13px!important;
  font-weight:700!important;
}
.identity-summary-grid b{
  display:block!important;
  position:relative!important;
  z-index:1!important;
  margin-top:8px!important;
  color:#455771!important;
  font-size:30px!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
.identity-clean-page>.card:not(.identity-search-card){
  border-top:3px solid #e9e2f2!important;
  padding:22px!important;
}
.identity-clean-page>.card .section-title{margin-bottom:14px!important}
.danger-soft-zone{
  margin-top:18px!important;
  padding:18px!important;
  border-radius:18px!important;
  background:#fff5f7!important;
  border:1px solid #efd8df!important;
}
.danger-soft-zone textarea{min-height:88px!important}
.danger-soft-zone .btn{margin-top:12px!important}

/* General dashboard metrics use clear cards rather than grey translucent blocks. */
.kpi,.quality-kpi{background:#fff!important;border-color:#e8e2ec!important}
.quality-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.quality-kpi{border-radius:18px!important;padding:17px!important;box-shadow:var(--shadow-soft)!important}
.quality-kpi span{display:block!important;color:#718097!important;font-size:13px!important}
.quality-kpi b{display:block!important;margin-top:8px!important;font-size:28px!important;color:#455771!important}

@media(max-width:1050px){
  .identity-summary-grid,.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .main{margin-left:0!important;padding:0 14px 92px!important;background:#fffafc!important}
  .topbar{margin:0 -14px 14px!important;padding:12px 14px 10px!important;background:#fff!important}
  .identity-clean-page{gap:12px!important}
  .inline-search-form{grid-template-columns:1fr!important}
  .inline-search-form .btn{width:100%!important}
}
@media(max-width:560px){
  .identity-summary-grid,.quality-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .identity-summary-grid article{min-height:92px!important;padding:14px!important}
  .identity-summary-grid b{font-size:26px!important}
  .identity-search-card,.identity-clean-page>.card:not(.identity-search-card){padding:16px!important}
}

/* ========================================================================== 
   V3.7.4 — bright, balanced, non-grey UI
   ========================================================================== */
:root{
  --page-bg:#ffffff;
  --page-bg-soft:#fffcfe;
  --surface:#ffffff;
  --surface-soft:#fffafd;
  --surface-tint:#f8f4ff;
  --text-main:#5f6f86;
  --text-title:#435570;
  --text-strong:#4f617a;
  --text-muted:#8190a6;
  --line:#eee7f1;
  --line-strong:#ded4e5;
  --primary:#9385d2;
  --primary-2:#8faed8;
  --primary-deep:#6f64a5;
  --primary-soft:#f3eefc;
  --blue-soft:#eef7ff;
  --pink-soft:#fff1f6;
  --cream-soft:#fff7e9;
  --mint-soft:#edf9f4;
  --shadow:0 12px 34px rgba(91,72,117,.07);
  --shadow-soft:0 5px 18px rgba(91,72,117,.045);
  --sidebar-width:210px;
}
html,body{background:#fff!important;background-image:none!important}
body,.public-page,.portal-page,.app-layout,.main{
  background:#fff!important;
  background-image:none!important;
}

/* Admin shell: white, crisp, and compact. */
.sidebar{
  width:var(--sidebar-width)!important;
  background:#fffafd!important;
  border-right:1px solid #eee6f1!important;
  box-shadow:none!important;
}
.main{margin-left:var(--sidebar-width)!important;background:#fff!important}
.topbar{background:#fff!important;border-bottom-color:#eee7f1!important;box-shadow:0 3px 14px rgba(96,77,119,.035)!important}
.card,.form-section,.public-apply-head,.mobile-section,.mobile-form-card,.mobile-search-card,
.approval-head-card,.login-card,.home-card,.kpi,.quality-kpi{
  background:#fff!important;
  border-color:#ece5ef!important;
  box-shadow:var(--shadow-soft)!important;
}
.card.soft{background:#fff!important}
.table-wrap{background:#fff!important;border-color:#ece5ef!important}
th{background:#fbf8fd!important;color:#66758b!important}
td{background:#fff!important;color:#53647b!important}
tbody tr:hover td{background:#fffbfd!important}

/* Identity cleanup page: remove empty grey zones and align the hierarchy. */
.identity-clean-page{max-width:1180px!important;gap:14px!important}
.identity-search-card{background:#fff!important;border-top:3px solid #d9cdf3!important}
.identity-clean-page>.card:not(.identity-search-card){background:#fff!important}
.identity-summary-grid article{box-shadow:none!important}
.identity-summary-grid article:nth-child(1){background:#f7f2ff!important}
.identity-summary-grid article:nth-child(2){background:#eefaf5!important}
.identity-summary-grid article:nth-child(3){background:#fff8eb!important}
.identity-summary-grid article:nth-child(4){background:#eef7ff!important}

/* Public home: explicit layout, no accidental grid auto-placement. */
.portal-page{min-height:100vh;background:#fff!important}
.portal-shell{
  width:min(1180px,calc(100% - 44px))!important;
  min-height:100vh!important;
  margin:0 auto!important;
  padding:52px 0 42px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  grid-template-areas:
    "notice notice"
    "hero cards"
    "internal internal"!important;
  gap:30px 64px!important;
  align-content:center!important;
  align-items:center!important;
}
.portal-notice-row{grid-area:notice!important;display:block!important;margin:0!important}
.portal-notice-row .notice{max-width:none!important;margin:0!important;padding:14px 18px!important;background:#eef9f4!important;border-color:#d4ebdf!important}
.portal-hero{grid-area:hero!important;max-width:650px!important;padding:10px 0!important}
.portal-mark{width:52px!important;height:52px!important;border-radius:17px!important;margin-bottom:22px!important;background:linear-gradient(135deg,#a79bdd,#92b3dc)!important;box-shadow:0 12px 28px rgba(137,121,190,.14)!important}
.portal-hero .eyebrow{margin-bottom:17px!important;background:#f4effc!important;color:#7c70ad!important}
.portal-hero h1{font-size:52px!important;line-height:1.12!important;margin:0 0 18px!important;color:#435570!important;letter-spacing:-.045em!important}
.portal-sub{font-size:18px!important;line-height:1.85!important;max-width:620px!important;margin-bottom:26px!important;color:#75849a!important}
.portal-actions{gap:12px!important}
.portal-actions .btn{height:50px!important;padding:0 22px!important;border-radius:14px!important;font-size:16px!important}
.portal-card-grid{
  grid-area:cards!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:13px!important;
  align-self:center!important;
}
.portal-card{
  min-height:0!important;
  padding:20px!important;
  border-radius:20px!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:15px!important;
  row-gap:4px!important;
  align-items:center!important;
  background:#fff!important;
  border:1px solid #eee7f1!important;
  box-shadow:0 8px 24px rgba(90,70,116,.055)!important;
}
.portal-card:hover{transform:translateY(-2px)!important;border-color:#ddd2e8!important;box-shadow:0 14px 34px rgba(90,70,116,.09)!important}
.portal-icon{grid-row:1 / 3!important;width:46px!important;height:46px!important;margin:0!important;border-radius:15px!important}
.portal-card strong{font-size:19px!important;line-height:1.35!important;margin:0!important;color:#475a74!important}
.portal-card em{font-size:14px!important;line-height:1.55!important;margin:0!important;color:#8290a4!important}
.portal-internal{
  grid-area:internal!important;
  margin:0!important;
  padding-top:6px!important;
  justify-content:flex-start!important;
  color:#8b97a9!important;
}
.portal-internal a{background:#fff!important;border-color:#ece5ef!important;color:#6f7d91!important;box-shadow:none!important}

/* Public forms and cards stay bright white. */
.public-apply-shell,.public-form{background:transparent!important}
.public-apply-head,.form-section,.public-form .card{background:#fff!important}

@media(max-width:980px){
  .portal-shell{
    grid-template-columns:1fr!important;
    grid-template-areas:"notice" "hero" "cards" "internal"!important;
    gap:22px!important;
    padding:30px 0 40px!important;
  }
  .portal-hero{max-width:none!important}
  .portal-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .portal-card{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;text-align:left!important}
  .portal-icon{grid-row:auto!important;margin-bottom:8px!important}
}
@media(max-width:720px){
  .portal-shell{width:calc(100% - 26px)!important;padding:22px 0 34px!important}
  .portal-hero h1{font-size:37px!important}
  .portal-sub{font-size:16px!important;line-height:1.75!important}
  .portal-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .portal-actions .btn{padding:0 12px!important}
  .portal-card-grid{grid-template-columns:1fr!important}
  .portal-card{grid-template-columns:44px minmax(0,1fr)!important;grid-template-rows:auto auto!important;text-align:left!important}
  .portal-icon{grid-row:1 / 3!important;margin:0!important;width:44px!important;height:44px!important}
  .portal-internal{justify-content:center!important;flex-wrap:wrap!important}
}
@media(max-width:520px){
  .portal-hero h1{font-size:32px!important}
  .portal-actions{grid-template-columns:1fr!important}
  .portal-notice-row .notice{font-size:13px!important}
}

/* ========================================================================== 
   V3.7.5 — vivid clean UI
   The previous palette used low-saturation blue-grey values (#435570, #5f6f86,
   #9385d2, #8faed8). This layer replaces that muted look with clean white,
   vivid blue, mint, coral and amber accents while keeping all text non-black.
   ========================================================================== */
:root{
  --page-bg:#ffffff;
  --page-bg-soft:#f7f9ff;
  --surface:#ffffff;
  --surface-soft:#f8faff;
  --surface-tint:#f1f4ff;
  --text-main:#465873;
  --text-title:#243754;
  --text-strong:#304764;
  --text-muted:#71829d;
  --line:#dfe6f2;
  --line-strong:#cdd8e8;
  --primary:#596bff;
  --primary-2:#2ba9f7;
  --primary-deep:#4353d8;
  --primary-soft:#edf0ff;
  --blue-soft:#eaf6ff;
  --pink-soft:#fff0f3;
  --cream-soft:#fff5df;
  --mint-soft:#eaf9f5;
  --coral:#ef7185;
  --mint:#24a98c;
  --amber:#d9952f;
  --shadow:0 14px 34px rgba(45,76,134,.10);
  --shadow-soft:0 5px 18px rgba(45,76,134,.07);
  --sidebar-width:210px;
}

html,body,body,.public-page,.portal-page,.app-layout,.main{
  background:#fff!important;
  background-image:none!important;
  color:var(--text-main)!important;
}
body:before,body:after,.portal-page:before,.portal-page:after,.main:before,.main:after{
  display:none!important;
  content:none!important;
}
h1,h2,h3,h4,h5,h6,strong,b,.topbar-title h1,.portal-hero h1,.portal-card strong,.field label{
  color:var(--text-title)!important;
}
.muted,.footer-note,.portal-sub,.portal-card em{color:var(--text-muted)!important}

/* Clear admin shell: white surfaces, blue active state, no lavender/grey wash. */
.sidebar{
  background:#fff!important;
  border-right:1px solid #e2e8f3!important;
  box-shadow:8px 0 24px rgba(42,69,116,.045)!important;
}
.brand-mark{
  background:linear-gradient(135deg,#596bff,#2ba9f7)!important;
  box-shadow:0 8px 18px rgba(70,99,234,.22)!important;
}
.brand b{color:#263c5a!important}
.nav-item{color:#526681!important}
.nav-item:hover{background:#f2f6ff!important;color:#344c70!important}
.nav-item.active{
  background:#eaf0ff!important;
  color:#4053db!important;
  border-color:#d7e0ff!important;
  box-shadow:inset 3px 0 0 #596bff!important;
}
.nav-icon{background:#f1f5ff!important;color:#6175c9!important}
.nav-item.active .nav-icon{background:#dfe6ff!important;color:#4053db!important}
.topbar{
  background:#fff!important;
  border-bottom:1px solid #e2e8f3!important;
  box-shadow:0 5px 18px rgba(44,73,124,.05)!important;
}
.topbar-eyebrow{color:#596bff!important}
.topbar-icon-button,.topbar-profile{background:#fff!important;border-color:#dfe6f2!important}

.card,.form-section,.public-apply-head,.mobile-section,.mobile-form-card,.mobile-search-card,
.approval-head-card,.login-card,.home-card,.kpi,.quality-kpi,.portal-card{
  background:#fff!important;
  border-color:#dfe6f2!important;
  box-shadow:var(--shadow-soft)!important;
}
.card.soft,.soft{background:#f8faff!important}
.table-wrap{background:#fff!important;border-color:#dfe6f2!important}
th{background:#f3f6ff!important;color:#425977!important}
td{background:#fff!important;color:#40536f!important}
tbody tr:hover td{background:#f8faff!important}

.btn,button.btn{
  background:linear-gradient(135deg,#596bff,#2ba9f7)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 9px 20px rgba(72,103,232,.24)!important;
}
.btn:hover{filter:saturate(1.12) brightness(1.02)!important}
.btn.ghost,.ghost-xl,.btn.secondary{
  background:#fff!important;
  color:#4053b9!important;
  border-color:#ccd6f2!important;
  box-shadow:none!important;
}
.btn.warn{background:#fff3d9!important;color:#986314!important;border-color:#f0d59f!important;box-shadow:none!important}
.btn.bad,.btn.danger-soft{background:#ffedf1!important;color:#b74962!important;border-color:#f3c8d1!important;box-shadow:none!important}
.btn.ok{background:#e8f8f3!important;color:#167c68!important;border-color:#bfe7db!important;box-shadow:none!important}

.notice.ok{background:#eaf9f4!important;border-color:#bfe8db!important;color:#247b69!important}
.notice.warn{background:#fff5df!important;border-color:#f0d6a5!important;color:#94621a!important}
.notice.bad{background:#fff0f3!important;border-color:#f0c5cf!important;color:#aa455b!important}

.field input,.field select,.field textarea,input,select,textarea{
  background:#fff!important;
  color:#334964!important;
  border-color:#d9e2ef!important;
}
.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{
  border-color:#6578ff!important;
  box-shadow:0 0 0 4px rgba(89,107,255,.13)!important;
}

.badge,.tag{background:#edf0ff!important;color:#4659c8!important;border-color:#d8defd!important}
.badge.ok,.tag.ok{background:#e8f8f3!important;color:#187e69!important;border-color:#bfe7da!important}
.badge.warn,.tag.warn,.badge.partial{background:#fff4dc!important;color:#94621a!important;border-color:#f0d5a1!important}
.badge.bad,.tag.bad{background:#ffedf1!important;color:#ac455d!important;border-color:#f2c6d0!important}

/* Public home: move content upward and use clearly visible accent colors. */
.portal-page{background:#fff!important}
.portal-shell{
  width:min(1260px,calc(100% - 52px))!important;
  min-height:auto!important;
  margin:0 auto!important;
  padding:74px 0 54px!important;
  align-content:start!important;
  align-items:center!important;
  gap:26px 72px!important;
}
.portal-notice-row .notice{background:#eaf9f4!important;border-color:#bfe8db!important;color:#247b69!important}
.portal-mark{
  width:56px!important;
  height:56px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#596bff,#2ba9f7)!important;
  box-shadow:0 14px 30px rgba(72,103,232,.24)!important;
}
.portal-hero .eyebrow{
  background:#edf0ff!important;
  color:#4c5fd6!important;
  border:1px solid #dbe1ff!important;
}
.portal-hero h1{
  color:#243754!important;
  font-size:58px!important;
  line-height:1.08!important;
  letter-spacing:-.055em!important;
}
.portal-sub{color:#60738f!important;font-size:18px!important}
.portal-actions .btn{min-width:166px!important}
.portal-card-grid{gap:15px!important}
.portal-card{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid #dfe6f2!important;
  box-shadow:0 9px 24px rgba(45,76,134,.08)!important;
}
.portal-card:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:5px!important;
  border-radius:20px 0 0 20px!important;
  background:#596bff!important;
}
.portal-card.accent-green:before{background:#24a98c!important}
.portal-card.accent-purple:before{background:#ef7185!important}
.portal-card:hover{border-color:#bfcaf0!important;box-shadow:0 15px 34px rgba(45,76,134,.13)!important}
.portal-icon{
  background:#eaf0ff!important;
  color:#4d61db!important;
  border:1px solid #d7e0ff!important;
}
.portal-card.accent-green .portal-icon{background:#e8f8f3!important;color:#17846d!important;border-color:#bfe8dc!important}
.portal-card.accent-purple .portal-icon{background:#fff0f3!important;color:#b74962!important;border-color:#f1cad2!important}
.portal-card strong{color:#2c4260!important}
.portal-card em{color:#6b7d96!important}
.portal-internal{color:#73839a!important}
.portal-internal a{
  background:#fff!important;
  border-color:#d9e2ef!important;
  color:#435a78!important;
}
.portal-internal a:hover{background:#edf2ff!important;border-color:#c7d1f3!important;color:#4053c0!important}

/* Stronger, still non-black admin metrics. */
.identity-summary-grid article:nth-child(1){background:#edf0ff!important;border-color:#d4dcff!important}
.identity-summary-grid article:nth-child(2){background:#e8f8f3!important;border-color:#bfe7db!important}
.identity-summary-grid article:nth-child(3){background:#fff4dc!important;border-color:#efd49e!important}
.identity-summary-grid article:nth-child(4){background:#eaf6ff!important;border-color:#c8e2f6!important}
.identity-summary-grid span,.quality-kpi span{color:#536985!important}
.identity-summary-grid b,.quality-kpi b{color:#273e5d!important}
.identity-search-card{border-top-color:#596bff!important}
.legacy-data-note{background:#fff5df!important;border-color:#efd6a7!important}
.danger-soft-zone{background:#fff0f3!important;border-color:#efc7d0!important}

@media(max-width:980px){
  .portal-shell{padding:42px 0 44px!important;gap:24px!important}
  .portal-hero h1{font-size:48px!important}
}
@media(max-width:720px){
  .portal-shell{width:calc(100% - 28px)!important;padding:28px 0 36px!important}
  .portal-hero h1{font-size:38px!important;line-height:1.14!important}
  .portal-sub{font-size:16px!important}
}
@media(max-width:520px){
  .portal-hero h1{font-size:33px!important}
}

/* ========================================================================== 
   V3.7.6 — media recovery, full-color public cards, and cleanup clarity
   ========================================================================== */
:root{
  --portal-blue-a:#4d72ff;
  --portal-blue-b:#31b5f5;
  --portal-mint-a:#18a77f;
  --portal-mint-b:#55d1aa;
  --portal-coral-a:#eb667b;
  --portal-coral-b:#ff9b87;
}

/* The user requested the accent color to fill the entire card rather than a
   small stripe. All card text is white for clear contrast. */
.portal-card,.portal-card:hover{
  border:0!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(46,79,145,.16)!important;
}
.portal-card:before{display:none!important;content:none!important}
.portal-card.accent-blue{background:linear-gradient(135deg,var(--portal-blue-a),var(--portal-blue-b))!important}
.portal-card.accent-green{background:linear-gradient(135deg,var(--portal-mint-a),var(--portal-mint-b))!important;box-shadow:0 16px 34px rgba(24,167,127,.18)!important}
.portal-card.accent-purple,.portal-card.accent-coral{background:linear-gradient(135deg,var(--portal-coral-a),var(--portal-coral-b))!important;box-shadow:0 16px 34px rgba(235,102,123,.18)!important}
.portal-card strong,.portal-card em{color:#fff!important}
.portal-card em{opacity:.88!important}
.portal-card .portal-icon,
.portal-card.accent-green .portal-icon,
.portal-card.accent-purple .portal-icon,
.portal-card.accent-coral .portal-icon{
  background:rgba(255,255,255,.19)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.portal-card:hover{transform:translateY(-3px)!important;filter:saturate(1.05) brightness(1.02)!important}

/* Broken legacy images no longer display the browser's broken-image glyph. */
.photo-thumb-link{position:relative;display:inline-grid;place-items:center;overflow:hidden}
.media-image-fallback{display:none;width:100%;height:100%;min-width:56px;min-height:48px;place-items:center;text-align:center;padding:5px;background:#eef3fb;color:#6b7d96;font-size:11px;line-height:1.3}
.photo-thumb-link.media-load-failed{border:1px dashed #bdc9da;border-radius:12px;text-decoration:none}
.photo-thumb-link.media-load-failed .media-image-fallback{display:grid}

/* Identity-cleaning page: make typo-matched WeChat bindings explicit and
   selectable, and separate history from still-active permissions. */
.bind-candidate-panel{margin:18px 0 4px;padding:17px;border:1px solid #cdd9ee;border-radius:18px;background:#f6f9ff}
.bind-candidate-panel h3{margin:0 0 5px;font-size:17px;color:#243754!important}
.bind-candidate-panel>p{margin:0 0 12px;line-height:1.65}
.bind-candidate-row{display:flex;align-items:center;gap:11px;padding:11px 12px;margin-top:8px;background:#fff;border:1px solid #dce5f2;border-radius:13px;cursor:pointer}
.bind-candidate-row:hover{border-color:#9fb0ff;background:#fbfcff}
.bind-candidate-row input{width:18px;height:18px;accent-color:#596bff;flex:0 0 auto}
.bind-candidate-row span{display:grid;grid-template-columns:auto auto 1fr;gap:8px 14px;align-items:center;min-width:0;width:100%}
.bind-candidate-row b{font-size:14px}.bind-candidate-row em{font-style:normal;color:#435a78;font-weight:700}.bind-candidate-row small{justify-self:end;color:#596bff;background:#edf0ff;border-radius:999px;padding:4px 8px}

/* Permission result screen should be clean white and high contrast as well. */
.permission-page{background:#fff!important;background-image:none!important}
.permission-modal{border-color:#dfe6f2!important;box-shadow:0 22px 60px rgba(45,76,134,.13)!important}
.permission-modal h1{color:#243754!important}.permission-modal p{color:#536985!important}
.permission-modal .mark{background:#fff2e5!important;color:#d25820!important}
.permission-sub{color:#7d8da5!important}

@media(max-width:720px){
  .portal-card{min-height:112px!important}
  .bind-candidate-row span{grid-template-columns:1fr;gap:3px}
  .bind-candidate-row small{justify-self:start}
}


/* V3.7.19 佐香园品牌与移动端细节优化 */
.zxy-logo{display:block;width:100%;height:100%;object-fit:contain}
.brand-logo-mark,.portal-logo-mark{background:transparent!important;box-shadow:none!important;overflow:visible!important;padding:0!important}
.brand-logo-img{width:44px!important;height:44px!important;border-radius:15px!important;box-shadow:0 10px 24px rgba(15,143,104,.18)!important}
.portal-logo-mark{
  width:68px!important;
  height:68px!important;
  border-radius:22px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.portal-logo-img{width:68px!important;height:68px!important;border-radius:22px!important;box-shadow:0 16px 34px rgba(15,143,104,.18)!important}
.topbar-notice-button{padding:6px!important;background:#fff!important;border-color:#dbe6f2!important;box-shadow:0 8px 20px rgba(15,143,104,.10)!important}
.notice-logo-img{width:28px!important;height:28px!important;border-radius:9px!important}
.bottom-notice-logo{width:19px!important;height:19px!important;border-radius:6px!important}
.mobile-bottom-nav a span:has(.bottom-notice-logo){background:transparent!important}
.security-approval-page .table-wrap{border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important}
.security-approval-page .mobile-approval-list{display:grid!important;gap:12px!important}
.security-approval-page .approval-card{border:1px solid #dfe6f2!important;box-shadow:0 9px 22px rgba(45,76,134,.07)!important}
.credential-account-note{margin-bottom:14px!important;background:#eef9f4!important;border-color:#bfe8db!important;color:#247b69!important}
@media(max-width:760px){
  .portal-logo-mark,.portal-logo-img{width:58px!important;height:58px!important;border-radius:19px!important}
  .security-approval-page.card{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
}

/* V3.7.21 使用用户确认的正式“佐香园”字标 logo */
.brand-logo-mark{
  width:116px!important;
  height:42px!important;
  border-radius:0!important;
  margin-right:2px!important;
}
.brand-logo-img{
  width:116px!important;
  height:42px!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}
.portal-logo-mark{
  width:230px!important;
  height:84px!important;
  border-radius:0!important;
  margin-bottom:18px!important;
}
.portal-logo-img{
  width:230px!important;
  height:84px!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}
.topbar-notice-button{
  width:74px!important;
  height:39px!important;
  padding:6px 10px!important;
  border-radius:13px!important;
}
.notice-logo-img{
  width:48px!important;
  height:18px!important;
  border-radius:0!important;
  object-fit:contain!important;
}
.bottom-notice-logo{
  width:36px!important;
  height:14px!important;
  border-radius:0!important;
  object-fit:contain!important;
}
.mobile-bottom-nav a span:has(.bottom-notice-logo){
  width:42px!important;
  height:18px!important;
  background:transparent!important;
}
@media(max-width:760px){
  .portal-logo-mark,.portal-logo-img{
    width:176px!important;
    height:64px!important;
  }
  .brand-logo-mark,.brand-logo-img{
    width:98px!important;
    height:36px!important;
  }
  .topbar-notice-button{
    width:66px!important;
  }
  .notice-logo-img{
    width:42px!important;
    height:16px!important;
  }
}

/* V3.7.22 首页与通知详情排版微调 */
.portal-brand-block{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin-bottom:14px!important;
}
.portal-eyebrow{
  margin:0!important;
}
.portal-logo-mark{
  width:184px!important;
  height:60px!important;
  margin-bottom:0!important;
}
.portal-logo-img{
  width:184px!important;
  height:60px!important;
}
.portal-hero h1{
  margin-top:0!important;
}
.topbar-notice-button{
  width:58px!important;
  height:39px!important;
  padding:6px 8px!important;
}
.notice-logo-img{
  width:34px!important;
  height:14px!important;
}
.bottom-notice-logo{
  width:30px!important;
  height:12px!important;
}
.mobile-bottom-nav a span:has(.bottom-notice-logo){
  width:36px!important;
  height:16px!important;
}
@media(max-width:760px){
  .portal-brand-block{
    gap:8px!important;
    margin-bottom:12px!important;
  }
  .portal-logo-mark,.portal-logo-img{
    width:136px!important;
    height:44px!important;
  }
  .portal-hero h1{
    font-size:34px!important;
    line-height:1.16!important;
    margin-bottom:16px!important;
  }
  .portal-sub{
    font-size:16px!important;
    line-height:1.8!important;
    margin-bottom:24px!important;
  }
}


/* V3.7.23 品牌区最终排版：减少顶部留白，避免标题随机断字 */
.portal-page .portal-shell{
  align-content:start!important;
}
.portal-brand-block{display:none!important}
.portal-brand-inline{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0 0 14px!important;
  min-height:68px!important;
}
.portal-brand-inline .portal-logo-mark{
  flex:0 0 auto!important;
}
.portal-eyebrow{
  margin:0!important;
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:40px!important;
}
.portal-logo-mark{
  width:128px!important;
  height:40px!important;
  margin:0!important;
  border-radius:0!important;
}
.portal-logo-img{
  width:128px!important;
  height:40px!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}
.portal-hero h1{
  margin-top:0!important;
  max-width:720px!important;
}
.portal-hero h1 span{
  display:inline!important;
}
.portal-sub{
  max-width:680px!important;
}
@media(max-width:900px){
  .portal-page .portal-shell{
    min-height:auto!important;
    display:block!important;
    padding-top:18px!important;
    padding-bottom:38px!important;
  }
}
@media(max-width:760px){
  .portal-brand-inline{
    gap:10px!important;
    margin-bottom:16px!important;
  }
  .portal-logo-mark,.portal-logo-img{
    width:110px!important;
    height:34px!important;
  }
  .portal-eyebrow{
    padding:7px 12px!important;
    font-size:12px!important;
  }
  .portal-hero h1{
    font-size:32px!important;
    line-height:1.16!important;
    letter-spacing:-.035em!important;
    margin-bottom:16px!important;
  }
  .portal-hero h1 span{
    display:block!important;
  }
  .portal-sub{
    font-size:16px!important;
    line-height:1.78!important;
    margin-bottom:22px!important;
  }
  .portal-actions{
    gap:10px!important;
  }
}
@media(max-width:390px){
  .portal-logo-mark,.portal-logo-img{
    width:98px!important;
    height:30px!important;
  }
  .portal-eyebrow{
    font-size:11px!important;
    padding:6px 10px!important;
  }
  .portal-hero h1{
    font-size:30px!important;
  }
}


/* V3.7.24 申请进度查询页重设计 */
.query-page-shell{
  max-width:980px!important;
  padding-top:28px!important;
}
.progress-search-card{
  border-radius:28px!important;
  padding:28px!important;
  box-shadow:0 18px 54px rgba(30,55,96,.07)!important;
}
.query-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:18px!important;
}
.query-head h2{
  margin:0 0 8px!important;
  font-size:28px!important;
  letter-spacing:-.03em!important;
  color:#1d3763!important;
}
.query-head .eyebrow{
  margin-bottom:8px!important;
}
.query-home-btn{
  flex:0 0 auto!important;
  height:44px!important;
  padding:0 18px!important;
  border-radius:15px!important;
}
.query-mode-tabs{
  display:inline-grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:4px!important;
  padding:4px!important;
  margin:0 0 18px!important;
  background:#eef3ff!important;
  border:1px solid #dce6fb!important;
  border-radius:17px!important;
}
.query-mode-tabs button{
  appearance:none!important;
  border:0!important;
  height:38px!important;
  padding:0 18px!important;
  border-radius:13px!important;
  background:transparent!important;
  color:#52698e!important;
  font-weight:850!important;
  cursor:pointer!important;
  font-size:15px!important;
}
.query-mode-tabs button.active{
  background:#fff!important;
  color:#3150b7!important;
  box-shadow:0 8px 20px rgba(48,80,183,.12)!important;
}
.query-form{
  display:grid!important;
  gap:18px!important;
}
.query-inputs{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.order-query-field[hidden]{
  display:none!important;
}
.query-inputs:has(.order-query-field[hidden]){
  grid-template-columns:minmax(0,560px)!important;
}
.query-form .field label{
  font-size:14px!important;
  color:#1f3558!important;
  margin-bottom:9px!important;
}
.query-form .field input{
  height:58px!important;
  border-radius:18px!important;
  border-color:#d6e2f5!important;
  font-size:16px!important;
  box-shadow:none!important;
}
.query-submit-btn{
  width:150px!important;
  height:54px!important;
  border-radius:17px!important;
  font-size:16px!important;
}
.progress-result-card{
  border-radius:26px!important;
}
.phone-query-list article{
  border:1px solid #e0e8f5!important;
  border-radius:18px!important;
  background:#fff!important;
  padding:16px!important;
  margin-bottom:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.phone-query-list article b{
  display:block!important;
  margin:4px 0!important;
  color:#1d3763!important;
}
.phone-query-list article small{
  color:#7b89a0!important;
}
@supports not selector(:has(*)){
  .query-inputs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .order-query-field[hidden] + .phone-query-field{
    grid-column:1 / -1!important;
    max-width:560px!important;
  }
}
@media(max-width:760px){
  .query-page-shell{
    width:calc(100% - 18px)!important;
    padding:14px 0 34px!important;
  }
  .progress-search-card{
    padding:20px!important;
    border-radius:24px!important;
  }
  .query-head{
    display:block!important;
  }
  .query-head h2{
    font-size:25px!important;
  }
  .query-home-btn{
    margin-top:14px!important;
    width:100%!important;
  }
  .query-mode-tabs{
    display:grid!important;
    width:100%!important;
  }
  .query-mode-tabs button{
    padding:0 10px!important;
    font-size:14px!important;
  }
  .query-inputs,
  .query-inputs:has(.order-query-field[hidden]){
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .query-submit-btn{
    width:100%!important;
  }
  .phone-query-list article{
    display:grid!important;
  }
}


/* V3.7.25 申请查询改为单页统一表单，取消分段切换 */
.query-mode-tabs{
  display:none!important;
}
.unified-query-card{
  overflow:hidden!important;
}
.query-home-link{
  flex:0 0 auto!important;
  color:#3150b7!important;
  font-weight:850!important;
  padding:8px 0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.query-home-link:hover{
  text-decoration:underline!important;
}
.unified-query-form{
  gap:14px!important;
}
.unified-query-inputs{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
}
.unified-query-inputs .field label em{
  font-style:normal!important;
  margin-left:6px!important;
  font-size:12px!important;
  color:#8a98ad!important;
  font-weight:800!important;
}
.query-help{
  margin:0!important;
  color:#7b8aa3!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.query-submit-btn{
  width:150px!important;
  height:54px!important;
  border-radius:17px!important;
  font-size:16px!important;
  margin-top:2px!important;
}
.phone-summary-card{
  border-radius:24px!important;
}
.phone-query-list article{
  grid-template-columns:1fr auto!important;
}
@media(max-width:760px){
  .query-head{
    position:relative!important;
  }
  .query-home-link{
    display:inline-flex!important;
    margin-top:12px!important;
  }
  .unified-query-inputs{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .query-submit-btn{
    width:100%!important;
  }
}


/* V3.7.30 首页品牌栏真对齐：已裁剪 logo 图片空白画布 */
.portal-brand-inline{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  margin:0 0 18px!important;
  min-height:44px!important;
}
.portal-brand-inline .portal-logo-mark{
  width:96px!important;
  height:34px!important;
  min-width:96px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
  line-height:1!important;
}
.portal-brand-inline .portal-logo-img{
  width:96px!important;
  height:auto!important;
  max-height:30px!important;
  display:block!important;
  object-fit:contain!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.portal-brand-inline .portal-eyebrow{
  margin:0!important;
  min-height:34px!important;
  height:34px!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:34px!important;
  transform:none!important;
}
@media(max-width:760px){
  .portal-brand-inline{
    gap:12px!important;
    margin-bottom:14px!important;
    min-height:36px!important;
  }
  .portal-brand-inline .portal-logo-mark{
    width:86px!important;
    height:30px!important;
    min-width:86px!important;
  }
  .portal-brand-inline .portal-logo-img{
    width:86px!important;
    max-height:27px!important;
  }
  .portal-brand-inline .portal-eyebrow{
    height:30px!important;
    min-height:30px!important;
    line-height:30px!important;
    padding:0 12px!important;
    font-size:12px!important;
  }
}


/* V3.7.34 消息提醒页：手机卡片化与保留期说明 */
.notification-page-card{
  border-radius:28px!important;
  padding:24px!important;
}
.notification-page-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:16px!important;
}
.notification-page-head h2{
  margin:0 0 8px!important;
  font-size:30px!important;
  letter-spacing:-.035em!important;
}
.notification-read-form{
  flex:0 0 auto!important;
}
.notification-read-btn{
  min-height:44px!important;
  border-radius:15px!important;
  white-space:nowrap!important;
}
.notification-read-btn:disabled{
  opacity:.48!important;
}
.notification-summary-row{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0 0 18px!important;
}
.notification-summary-row span{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:#f3f6fc!important;
  color:#63738e!important;
  font-size:13px!important;
  font-weight:800!important;
}
.notification-summary-row b{
  color:#3150b7!important;
}
.notification-card-list{
  display:grid!important;
  gap:12px!important;
}
.notification-card{
  display:block!important;
  padding:16px 18px!important;
  border:1px solid #e1e8f4!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(30,55,96,.055)!important;
  color:#203654!important;
}
.notification-card.is-unread{
  border-color:#e8dcae!important;
  background:linear-gradient(180deg,#fffdf6,#fff)!important;
}
.notification-card:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 30px rgba(30,55,96,.09)!important;
}
.notification-card-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}
.notification-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:46px!important;
  height:28px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:900!important;
}
.notification-status.warn{
  color:#8a6400!important;
  background:#fff4cd!important;
  border:1px solid #ead78f!important;
}
.notification-status.ok{
  color:#0e7d68!important;
  background:#e6f8f2!important;
  border:1px solid #c7efe4!important;
}
.notification-card time{
  color:#8996aa!important;
  font-size:13px!important;
  white-space:nowrap!important;
}
.notification-card h3{
  margin:0 0 8px!important;
  color:#1e3a67!important;
  font-size:19px!important;
  line-height:1.35!important;
}
.notification-card p{
  margin:0!important;
  color:#66748a!important;
  font-size:15px!important;
  line-height:1.65!important;
  word-break:break-word!important;
}
@media(max-width:760px){
  .notification-page-card{
    margin:12px 10px 96px!important;
    padding:18px!important;
    border-radius:24px!important;
  }
  .notification-page-head{
    display:block!important;
    margin-bottom:14px!important;
  }
  .notification-page-head h2{
    font-size:28px!important;
  }
  .notification-read-form{
    margin-top:14px!important;
  }
  .notification-read-btn{
    width:100%!important;
  }
  .notification-summary-row{
    margin-bottom:14px!important;
  }
  .notification-card{
    padding:15px 16px!important;
    border-radius:18px!important;
  }
  .notification-card-top{
    margin-bottom:9px!important;
  }
  .notification-card h3{
    font-size:18px!important;
  }
  .notification-card p{
    font-size:15px!important;
  }
}
