@import url("/assets/ui/interface-typography.css");
@import url("/assets/ui/typography-sizes.css");
@import url("/assets/ui/icon-motion.css");
@import url("/assets/ui/logo-sizes.css");
/* Shared screen presentation only. No auth, workflow, print, or document-export rules. */
:root {
  --dj-font: "DengXian", "等线", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
  --dj-heading: var(--dj-primary);
  --dj-text: var(--dj-primary);
  --dj-muted: #60776c;
  --dj-background: #f7faf8;
  --dj-surface: #ffffff;
  --dj-line: #d9e3dd;
  --dj-soft: #edf3ef;
  --dj-primary: #24483E;
  --dj-gold: #d18100;
  --dj-danger: #a12b25;
  --dj-warning: #795013;
  --dj-success: #256344;
}
@media screen {
  /* Explicit shared priority keeps independent legacy page bundles consistent. */
  body {
    --text: var(--dj-text); --muted: var(--dj-muted); --line: var(--dj-line);
    --green: var(--dj-primary); --blue: var(--dj-primary); --blue-soft: var(--dj-soft); --paper: var(--dj-surface); --soft: var(--dj-background);
    --navy-800: var(--dj-heading); --navy-900: var(--dj-heading); --navy-950: var(--dj-heading); --navy-980: var(--dj-heading);
    --admin-blue: var(--dj-primary); --admin-navy: var(--dj-heading); --admin-bg: var(--dj-background);
    --admin-line: var(--dj-line); --admin-text: var(--dj-text); --admin-muted: var(--dj-muted); --admin-paper: var(--dj-surface);
    --dw-blue: var(--dj-primary); --dw-ink: var(--dj-heading); --dw-muted: var(--dj-muted); --dw-border: var(--dj-line); --dw-soft: var(--dj-soft);
    --home-ink: var(--dj-heading); --home-muted: var(--dj-muted); --home-line: var(--dj-line);
    background: var(--dj-background) !important; color: var(--dj-text) !important;
    font-size: 14px !important; line-height: 1.6;
  }
  body, body * { font-family: var(--dj-font) !important; font-weight: 300 !important; }
  body * { font-size: inherit !important; color: inherit !important; }
  h1,h2,h3,h4,h5,h6,strong,b,th,button,[role="button"],.button,.btn,[class$="-brand"] { font-weight: 400 !important; }
  h1,h2,h3,h4,h5,h6 { color: var(--dj-heading) !important; line-height: 1.45 !important; }
  h1 { font-size: 24px !important; } h2 { font-size: 20px !important; } h3 { font-size: 16px !important; }
  h4,h5,h6 { font-size: 14px !important; }
  small,label,th,td,figcaption,[class*="subtitle"],[class*="kicker"],[class*="badge"],[class*="caption"] { font-size: 12px !important; }
  small,[class*="muted"],[class*="subtitle"],[class*="hint"],[class*="caption"] { color: var(--dj-muted) !important; }
  a { color: var(--dj-text) !important; }
  input,textarea,select { color: var(--dj-heading) !important; background-color: var(--dj-surface) !important; border-color: var(--dj-line) !important; }
  input::placeholder,textarea::placeholder { font-family: var(--dj-font) !important; font-weight: 300 !important; color: var(--dj-muted) !important; opacity: 1; }
  button,.button,.btn,.home-button,[role="button"],[class$="-button"],a.dw-btn {
    color: var(--dj-text) !important; background: var(--dj-surface) !important;
    border-color: var(--dj-line) !important; font-weight: 400 !important;
  }
  form button:not([type="button"]):not([type="reset"]):not(.danger),button[type="submit"],.button-primary,.btn-primary,.primary,.login-submit,.home-button-primary,.home-login,.dw-btn.primary,.wb-primary,.wb-send {
    color: #ffffff !important; background: var(--dj-primary) !important; border-color: var(--dj-primary) !important;
  }
  :is(#case-start-page,#case-claim-goal-page,#evidence-types-page,#case-analysis-page,#evidence-list-page,#case-draft-page) .button-primary {
    color: #fff !important; background: var(--dj-primary) !important; border-color: var(--dj-primary) !important;
    box-shadow: 0 3px 12px #24483e18 !important;
  }
  :is(button,.button,.btn,[role="button"],input,select,textarea,a):focus-visible { outline: 2px solid var(--dj-primary) !important; outline-offset: 3px !important; }
  :is(button,input,select,textarea):disabled,[aria-disabled="true"] { opacity: .65; cursor: not-allowed; }
  :is(.admin-sidebar,.admin-topbar,.commerce-header,.home-header,.login-brand-footer,.home-footer,.admin-version) {
    background: var(--dj-surface) !important; color: var(--dj-text) !important; border-color: var(--dj-line) !important;
  }
  .admin-sidebar nav a:hover,.admin-sidebar nav a.active,[role="tab"][aria-selected="true"] { background: var(--dj-soft) !important; color: var(--dj-heading) !important; }
  .market-sidebar,.wb-sidebar,.lc-sidebar,body[data-onboarding-theme="home"]>header { background: var(--dj-surface) !important; color: var(--dj-text) !important; border-color: var(--dj-line) !important; }
  .market-sidebar nav [aria-current],.wb-sidebar nav a.is-active,.lc-sidebar nav [aria-current] { background: var(--dj-soft) !important; color: var(--dj-heading) !important; }
  .wb-brand-mark,.wb-user-avatar,.market-avatar { background: var(--dj-soft) !important; color: var(--dj-heading) !important; }
  .dw-path a.active { background: var(--dj-primary) !important; color: #fff !important; }
  .dw-path a.active>span { color: var(--dj-heading) !important; }
  .market-row-action,.wb-shell .wb-warning { font-size: 12px !important; }
  .market-page .market-row-action { color: var(--dj-text) !important; }
  .market-sidebar nav small { color: var(--dj-text) !important; }
  .market-steps li>span { background: var(--dj-soft) !important; color: var(--dj-heading) !important; }
  .market-steps li.active>span { background: var(--dj-primary) !important; color: #fff !important; }
  .market-state-dot { background: var(--dj-muted) !important; color: #fff !important; }
  .passed .market-state-dot { background: var(--dj-success) !important; }
  .missing .market-state-dot,.suggestion .market-state-dot { background: var(--dj-warning) !important; }
  .market-list-icon { color: #fff !important; }
  .admin-sidebar nav a.active,.market-sidebar nav a[aria-current] { border-left-color: var(--dj-primary) !important; }
  .hero { background: var(--dj-soft) !important; color: var(--dj-text) !important; }
  .cd-page { --cd-ink: var(--dj-heading); --cd-muted: var(--dj-muted); --cd-line: var(--dj-line); }
  .cd-page .cd-sidebar { background: var(--dj-surface) !important; color: var(--dj-text) !important; }
  .cd-page .cd-sidebar nav a[aria-current] { background: var(--dj-soft) !important; color: var(--dj-heading) !important; }
  .cd-page .cd-action { background: var(--dj-surface) !important; border-color: var(--dj-line) !important; }
  .case-brand small { color: var(--dj-text) !important; }
  .case-progress .is-active span { background: var(--dj-primary) !important; color: #fff !important; }
  .cd-page .cd-badge { background: var(--dj-warning) !important; color: #fff !important; }
  .cd-page .cd-step-dot { color: #fff !important; }
  .toast { background: var(--dj-primary) !important; color: #fff !important; }
  .toast.error { background: var(--dj-danger) !important; color: #fff !important; }
  .lawyer-portal-shell,.lawyer-cases-view,.lawyer-case-table-card { min-width: 0; max-width: 100%; }
  .dw-form label,.dw-form select { min-width: 0; max-width: 100%; }
  .dw-form select { width: 100%; }
  .dw-card form label,.dw-card form select { min-width: 0; max-width: 100%; }
  .dw-card form select { width: 100%; }
  :is(.admin-panel,.commerce-card,.dw-card,.login-form-panel,dialog) { background-color: var(--dj-surface) !important; border-color: var(--dj-line) !important; box-shadow: 0 3px 14px #24483e08 !important; }
  :is(.site,.home-frost,.commerce-page,.case-start-page,.lawyer-apply-page,.lawyer-portal-page) { background: var(--dj-background) !important; }
  .home-brand strong,.admin-brand,.commerce-brand { font-size: 16px !important; font-weight: 400 !important; color: var(--dj-heading) !important; }
  .home-brand small,.home-nav-links a,.login-home-link { font-size: 12px !important; }
  .home-nav-links a:not(.login-home-link) { font-weight: 300 !important; }
  .login-home-link { font-weight: 400 !important; color: #fff !important; background: var(--dj-primary) !important; }
  .home-hero h1 { font-size: 28px !important; }
  .login-footer-right p,.home-footer-note { font-size: 14px !important; font-weight: 300 !important; transform: none !important; color: var(--dj-text) !important; }
  .login-footer-right small { font-size: 12px !important; }
  :is(#login-page,#lawyer-login-page) .login-main::before { background: var(--dj-background) !important; filter: none !important; }
  :is(#login-page,#lawyer-login-page) .login-form-panel::before { opacity: 0; }
  :is(#login-page,#lawyer-login-page) .login-role-switch a { font-size: 14px !important; font-weight: 400 !important; }
  :is(#login-page,#lawyer-login-page) .password-field-label { font-size: 11px !important; }
  :is(#login-page,#lawyer-login-page) .login-field-row input { font-size: 11px !important; }
  :is(#login-page,#lawyer-login-page) .password-options,
  :is(#login-page,#lawyer-login-page) .password-options :is(label,button) { font-size: 10px !important; }
  :is(#login-page,#lawyer-login-page) .login-submit { font-size: 16px !important; }
  :is(#login-page,#lawyer-login-page) :is(.register-line,.register-line button,.email-login-panel summary) { font-size: 11px !important; }
  /* Status meaning remains distinguishable by text/icon AND its own accessible color. */
  :is(.error,.danger,.is-danger,.is-error,.FAILED,.REJECTED,.RETURNED,.CONFLICT,[class$="-error"],[class$="-danger"],[data-tone="danger"],[data-tone="error"]) { color: var(--dj-danger) !important; }
  :is(.warn,.warning,.risk,.blocked,.stale,.is-warning,.RUNNING,.QUEUED,.NEEDS_CLARIFICATION,.STALE,.PENDING_VERIFICATION,.missing .market-state,[class$="-warning"],[data-tone="warning"],.commerce-alert) { color: var(--dj-warning) !important; }
  :is(.success,.ok,.is-success,.COMPLETED,.PUBLISHED,.APPROVED,.ACCEPTED,.CLEAR,.passed .market-state,[class$="-success"],[data-tone="success"]) { color: var(--dj-success) !important; }
  .toast.ok { background: var(--dj-success) !important; color: #fff !important; }
  :is(button,.button,.btn).danger { color: var(--dj-danger) !important; background: #fff5f3 !important; border-color: #deb4ae !important; }
  @media(max-width:600px) {
    .admin-content { min-width: 0; }
    #case-claim-goal-page input:not([type="checkbox"]):not([type="radio"]) { min-width: 0; width: 100%; max-width: 100%; box-sizing: border-box; }
    .admin-panel,.card,.panel { max-width: 100%; overflow-x: auto; }
    input:not([type="checkbox"]):not([type="radio"]),select,textarea,
    :is(#login-page,#lawyer-login-page) .login-field-row input { font-size: 16px !important; }
  }
}

/* Typography follows the approved homepage, while the visible homepage keeps
   its own exact cascade. Screen UI only; print/export typography is unchanged. */
@font-face { font-family: DongjuDengXian; src: url('/assets/home/garden/dengxian-ui.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: DongjuDengXian; src: url('/assets/home/garden/dengxian-ui-bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: DongjuSimHei; src: url('/assets/home/garden/simhei-ui.woff2') format('woff2'); font-weight: 400; font-display: swap; }
:root {
  --dj-type-page: 24px;
  --dj-type-section: 22px;
  --dj-type-subsection: 18px;
  --dj-type-body: 16px;
  --dj-type-note: 14px;
  --dj-type-title-line: 32px;
  --dj-type-body-line: 24px;
}
@media screen {
  /* SPA auth/home stays inside .site.psd-home; its hidden state follows the
     existing router. Independent customer/lawyer/admin pages have no such host. */
  body:not(:has(> .site.psd-home:not([hidden]))) {
    --dj-font: DongjuDengXian, DengXian, "等线", sans-serif;
    --dj-heading: var(--dj-primary);
    --dj-text: #33454b;
    --dj-muted: #667078;
    font-family: var(--dj-font) !important;
    font-size: var(--dj-type-body) !important;
    font-weight: 400 !important;
    line-height: 1.5;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) * {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) :is(h1,[role="heading"][aria-level="1"],.wb-topbar strong) {
    font-size: var(--dj-type-page) !important;
    font-weight: 700 !important;
    line-height: var(--dj-type-title-line) !important;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) :is(h2,[role="heading"][aria-level="2"]) {
    font-size: var(--dj-type-section) !important;
    font-weight: 400 !important;
    line-height: var(--dj-type-title-line) !important;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) :is(h3,[role="heading"][aria-level="3"],.cd-action strong,.case-brand strong,.brand-copy strong,.wb-brand-copy strong,.cd-brand strong,.lc-brand strong,.market-brand strong,.admin-brand,.commerce-brand) {
    font-size: var(--dj-type-subsection) !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) :is(h4,h5,h6,strong,b,th) {
    font-weight: 700 !important;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) :is(p,li,td,label,input,textarea,select,button,.button,.btn,.dw-btn,[role="button"],summary) {
    font-size: var(--dj-type-body) !important;
    line-height: var(--dj-type-body-line) !important;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) :is(small,th,figcaption,[class*="subtitle"],[class*="kicker"],[class*="badge"],[class*="caption"],[class*="muted"],[class*="hint"],[class*="note"],.help,.case-field-helper,.case-field-error,.admin-version,.market-row-action,.wb-composer-meta,.wb-text-button,.security-status) {
    font-size: var(--dj-type-note) !important;
    line-height: 1.6 !important;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) :is(.button-primary,.btn-primary,.primary,.login-submit,.wb-primary,.wb-send,button[type="submit"],.cd-action strong) {
    font-size: var(--dj-type-subsection) !important;
    line-height: var(--dj-type-body-line) !important;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) :is(.nav-links,.home-nav-links) > a {
    font-family: DongjuSimHei, SimHei, "黑体", sans-serif !important;
    font-size: 22px !important;
    line-height: 26px !important;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) :is(input,textarea,select) {
    color: var(--dj-text) !important;
    font-weight: 400 !important;
  }
  body:not(:has(> .site.psd-home:not([hidden]))) :is(input,textarea)::placeholder {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    color: var(--dj-muted) !important;
    opacity: 1;
  }
  /* This overlay is a body sibling of the homepage host. Give the actual
     typed digits and refresh action the same readable control typography. */
  .human-verification-backdrop {
    --dj-font: DongjuDengXian, DengXian, "等线", sans-serif;
    --dj-heading: var(--dj-primary); --dj-text: #33454b; --dj-muted: #667078;
    font-family: var(--dj-font) !important;
    font-size: var(--dj-type-body) !important;
    font-weight: 400 !important;
    color: var(--dj-text) !important;
  }
  .human-verification-backdrop * { font-family: inherit !important; font-weight: inherit !important; }
  .human-verification-backdrop h2 { font-size: 18px !important; line-height: var(--dj-type-title-line) !important; }
  .human-verification-backdrop :is(input,button) { font-size: var(--dj-type-body) !important; line-height: var(--dj-type-body-line) !important; }
  .human-verification-backdrop input { color: var(--dj-text) !important; }
  /* Typed input is interface text; the captcha artwork itself is unchanged. */
  .human-verification-backdrop #human-captcha-answer { font-size: 16px !important; line-height: 28px !important; }
  .human-verification-backdrop #human-captcha-answer::placeholder { font-size: 16px !important; }
  .human-verification-backdrop input::placeholder { font-family: inherit !important; font-size: inherit !important; font-weight: 400 !important; color: var(--dj-muted) !important; opacity: 1; }
  .human-verification-backdrop .human-verification-confirm { font-size: var(--dj-type-body) !important; }
  .human-verification-backdrop .human-verification-dialog > p,
  .human-verification-backdrop .human-verification-error { font-size: 14px !important; line-height: 1.6; overflow-wrap: anywhere; }
  @media(max-width:900px) {
    body:not(:has(> .site.psd-home:not([hidden]))) :is(.nav-links,.home-nav-links) > a { font-size: 18px !important; }
  }
  @media(max-width:480px) {
    body:not(:has(> .site.psd-home:not([hidden]))) :is(.nav-links,.home-nav-links) > a { font-size: 17px !important; }
  }
}
