/* Century New Materials / approved V0.11 artwork / independent theme release V0.14.
   Presentation only. Original authentication, business logic and data retained. */
body[data-sjxc-theme="v14"] {
  --sjxc-accent:#2563eb; --sjxc-soft:#edf3ff; --sjxc-ink:#1b304d;
  --sjxc-muted:#526780; --sjxc-line:#dce5ef; --sjxc-canvas:#f3f6fa;
  --sjxc-shadow:0 6px 24px #1b304d08;
  --brand:var(--sjxc-accent); --brand-dark:var(--sjxc-ink);
  --brand-soft:var(--sjxc-soft); --canvas:var(--sjxc-canvas); --surface:#fff;
  --border:var(--sjxc-line); --muted:var(--sjxc-muted); --shadow:var(--sjxc-shadow);
  margin:0; min-width:320px; background:var(--sjxc-canvas); color:var(--sjxc-ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:14px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
body[data-sjxc-app="crm"]{--sjxc-art:url("/themes/sjxc/v13/crm-silica-v9.webp")}
body[data-sjxc-app="erp"]{--sjxc-accent:#4855a5;--sjxc-soft:#f0f1fb;--sjxc-art:url("/themes/sjxc/v13/erp-silica-v9.webp")}
body[data-sjxc-app="oa"]{--sjxc-accent:#307b83;--sjxc-soft:#edf6f5;--sjxc-art:url("/themes/sjxc/v13/oa-silica-v9.webp")}
body[data-sjxc-app="lims"]{--sjxc-accent:#5864a7;--sjxc-soft:#f0f2fc;--sjxc-art:url("/themes/sjxc/v13/lims-silica-v9.webp")}
body[data-sjxc-app="mes"]{--sjxc-accent:#3f6d90;--sjxc-soft:#edf3f8;--sjxc-art:url("/themes/sjxc/v13/mes-silica-v9.webp")}
body[data-sjxc-theme] :is(button,input,select,textarea,.ant-app,.ant-typography,.ant-card,.ant-table,.ant-menu,.ant-btn){font-family:inherit}
body[data-sjxc-theme] :is(button,a,input,select,textarea):focus-visible{outline:3px solid #5791ed;outline-offset:3px}
body[data-sjxc-theme] :is(.ant-typography,h1,h2,h3,h4){color:var(--sjxc-ink)}
body[data-sjxc-theme] :is(.eyebrow,.section-title>span){color:var(--sjxc-accent)}
body[data-sjxc-theme] :is(.ant-btn-primary,.auth-button,.login-button){background:var(--sjxc-accent);border-color:var(--sjxc-accent);color:#fff;box-shadow:0 4px 12px #1b304d0d}
body[data-sjxc-theme] :is(.ant-btn-primary,.auth-button,.login-button):not(:disabled):hover{background:color-mix(in srgb,var(--sjxc-accent),#152941 15%);border-color:var(--sjxc-accent);color:#fff}
body[data-sjxc-theme] :is(.ant-btn-primary,.auth-button,.login-button):disabled{opacity:.55}

/* A continuous silver-white login canvas with modest, feathered silica imagery. */
body[data-sjxc-theme] :is(.login-shell,.crm-login-shell,.auth-shell){
  position:relative;isolation:isolate;overflow:hidden;min-height:100vh;
  background:radial-gradient(ellipse at 10% 0%,#fff 0%,#ffffff00 66%),linear-gradient(125deg,#edf4fa,#f6f9fc 65%,#edf4fa);
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  align-items:center;gap:7vw;padding:clamp(40px,7vw,112px);
}
body[data-sjxc-theme] :is(.login-shell,.crm-login-shell,.auth-shell)::before{
  content:"";position:absolute;z-index:0;pointer-events:none;left:0;bottom:18px;
  width:min(60vw,840px);aspect-ratio:3/2;background:var(--sjxc-art) center/contain no-repeat;
  mask-image:linear-gradient(180deg,transparent 0%,#000 28%,#000 91%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 25%,#000 77%,transparent 100%);
  mask-composite:intersect;
}
body[data-sjxc-theme] :is(.login-shell,.crm-login-shell,.auth-shell)>*{position:relative;z-index:1;min-width:0}
body[data-sjxc-theme] :is(.login-copy,.crm-login-copy){padding:0 0 210px;min-height:0;background:transparent;color:var(--sjxc-ink);text-align:left;display:block}
body[data-sjxc-theme] .login-copy::after{content:none}
body[data-sjxc-theme] :is(.login-copy,.crm-login-copy) h1{font-size:clamp(30px,3.2vw,46px)!important;line-height:1.3;letter-spacing:-.025em;white-space:normal;margin:26px 0 12px!important;color:var(--sjxc-ink)}
body[data-sjxc-theme] :is(.login-copy,.crm-login-copy)>:is(p,div.ant-typography){color:var(--sjxc-muted);font-size:15px;line-height:1.8;margin-bottom:18px}
body[data-sjxc-theme] :is(.login-feature,.crm-login-feature){display:flex;justify-content:flex-start;color:var(--sjxc-muted);font-size:13px;margin-top:12px;text-align:left}
body[data-sjxc-theme] :is(.login-feature,.crm-login-feature) svg{color:var(--sjxc-accent)}
body[data-sjxc-theme] :is(.login-copy .brand-mark,.brand-logo-frame:not(.compact),.crm-login-brand-logo){width:112px;height:90px;padding:4px;margin:0;border:1px solid var(--sjxc-line);border-radius:15px;background:#fff;box-shadow:0 12px 28px #3854780d}
body[data-sjxc-theme] :is(.login-card,.crm-login-card,.auth-card){
  justify-self:end;align-self:center;width:min(100%,440px);margin:0;padding:16px;
  background:#ffffffed;border:1px solid var(--sjxc-line);border-radius:18px;box-shadow:0 20px 60px #38547812;color:var(--sjxc-ink);
}
body[data-sjxc-app="mes"] .auth-card{padding:34px}
body[data-sjxc-theme] :is(.login-card,.crm-login-card) .ant-card-body{padding:26px}
body[data-sjxc-theme] :is(.login-card,.crm-login-card,.auth-card) :is(.ant-btn,.auth-button){height:auto;min-height:44px;white-space:normal;border-radius:9px;line-height:1.55}
body[data-sjxc-theme] :is(.login-card,.crm-login-card) .ant-btn>span{white-space:normal}
body[data-sjxc-theme] :is(.auth-boundary,.auth-card>p){color:var(--sjxc-muted)}
body[data-sjxc-theme] .auth-boundary{border-color:var(--sjxc-line)}
body[data-sjxc-app="oa"] .auth-brand{grid-column:1;grid-row:1;align-self:center;align-items:flex-start;margin:0;padding-bottom:210px;gap:20px}
body[data-sjxc-app="oa"] .auth-brand .brand-mark{width:68px;height:68px;flex-shrink:0;border-radius:16px;background:var(--sjxc-accent);font-size:22px;box-shadow:0 10px 24px #38547812}
body[data-sjxc-app="oa"] .auth-brand strong{font-size:clamp(26px,2.5vw,36px);line-height:1.4;color:var(--sjxc-ink)}
body[data-sjxc-app="oa"] .auth-brand span{font-size:15px;line-height:1.8;color:var(--sjxc-muted)}
body[data-sjxc-app="oa"] .auth-card{grid-column:2;grid-row:1;min-height:340px}
body[data-sjxc-app="oa"] .auth-card .ant-result{padding:24px 12px}
body[data-sjxc-app="oa"] .auth-card .ant-result-subtitle{color:var(--sjxc-muted)}
body[data-sjxc-app="oa"] .auth-shell>small{position:absolute;bottom:30px;left:24px;right:24px;color:var(--sjxc-muted);margin:0}

/* Existing workspaces retain their navigation, data and permissions. */
body[data-sjxc-theme] :is(.app-shell,.ant-layout,.ant-layout-content){background:var(--sjxc-canvas);color:var(--sjxc-ink)}
body[data-sjxc-theme] :is(.desktop-sider,.app-header,.topbar){background:#fff;border-color:var(--sjxc-line);box-shadow:none}
body[data-sjxc-theme] :is(.sidebar-brand,.drawer-brand){background:transparent;border-color:var(--sjxc-line);color:var(--sjxc-ink)}
body[data-sjxc-theme] :is(.header-title strong,.sidebar-brand strong,.brand-copy strong,.app-header h1){color:var(--sjxc-ink)}
body[data-sjxc-theme] :is(.ant-menu-light,.ant-menu-dark,.app-nav-menu){background:transparent;color:var(--sjxc-muted)}
body[data-sjxc-theme] :is(.ant-menu-item,.ant-menu-submenu-title,.app-nav a){border-radius:8px;color:var(--sjxc-muted);font-size:14px}
body[data-sjxc-theme] :is(.ant-menu-item-selected,.app-nav a.active){background:var(--sjxc-soft)!important;color:var(--sjxc-accent)!important;border-color:var(--sjxc-line)}
body[data-sjxc-theme] .ant-menu-item-selected a{color:var(--sjxc-accent)}
body[data-sjxc-theme] :is(.ant-menu-item,.app-nav a):hover{background:var(--sjxc-soft);color:var(--sjxc-accent)}
body[data-sjxc-theme] :is(.app-content,.content-wrap){max-width:1600px;margin-inline:auto}
body[data-sjxc-theme] :is(.ant-card,.panel,.page-panel,.metric-card,.metric,.line-card,.product-grid article,.role-list article,.workflow-list article,.pending-list article,.organization-grid article,.execution-metrics article,.lims-section,.lims-link-card,.domain-section,.module-card,.auth-panel){border-color:var(--sjxc-line);border-radius:13px;box-shadow:var(--sjxc-shadow)}
body[data-sjxc-theme] :is(.metric-card,.metric,.execution-metrics article){font-variant-numeric:tabular-nums}
body[data-sjxc-theme] :is(.metric strong,.metric-card strong,.metric-value,.execution-metrics strong){color:var(--sjxc-ink)}
body[data-sjxc-theme] :is(.metric:not(.warning)>svg,.line-icon,.metric-icon){color:var(--sjxc-accent);background:var(--sjxc-soft)}
body[data-sjxc-theme] :is(.user-chip,.sidebar-boundary){background:#f7f9fc;border-color:var(--sjxc-line)}
body[data-sjxc-theme] :is(.user-avatar,.role-avatar){background:var(--sjxc-accent)}
body[data-sjxc-theme] :is(.ant-table-thead>tr>th,.production-table th){background:#f6f8fb;color:var(--sjxc-muted);border-color:var(--sjxc-line)}
body[data-sjxc-theme] :is(.ant-table-tbody>tr>td,.production-table td){border-color:#e7edf4}
body[data-sjxc-theme] :is(.lims-link-card,.domain-link,.module-card):hover{border-color:var(--sjxc-accent)}
body[data-sjxc-theme] :is(.page-heading,.lims-page-head,.hero){position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,#fff 30%,#edf3fb);border:1px solid var(--sjxc-line);border-radius:16px;padding:24px 28px;color:var(--sjxc-ink)}
body[data-sjxc-theme] :is(.page-heading,.lims-page-head,.hero)::before{
  content:"";position:absolute;z-index:0;pointer-events:none;right:0;top:50%;transform:translateY(-50%);
  width:330px;height:220px;opacity:.65;background:var(--sjxc-art) center/contain no-repeat;
  mask-image:linear-gradient(90deg,transparent,#000 38%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask-composite:intersect;
}
body[data-sjxc-theme] :is(.page-heading,.lims-page-head,.hero)>*{position:relative;z-index:1}
body[data-sjxc-theme] :is(.page-heading,.lims-page-head,.hero) h1{font-size:clamp(26px,2.2vw,34px);letter-spacing:-.025em;line-height:1.35;color:var(--sjxc-ink)}
body[data-sjxc-theme] :is(.page-heading,.lims-page-head,.hero) p{color:var(--sjxc-muted)}
body[data-sjxc-theme] :is(.page-heading,.lims-page-head)>div:first-child{max-width:85%}
body[data-sjxc-app="erp"] .shell{width:min(1240px,calc(100% - 48px))}
body[data-sjxc-app="erp"] .hero{padding:32px;min-height:260px;grid-template-columns:minmax(0,1fr) 250px;box-shadow:none}
body[data-sjxc-app="erp"] .hero::before{width:500px;height:330px;opacity:.8}
body[data-sjxc-app="erp"] .hero h1{font-size:44px;margin:16px 0 22px;line-height:1.2}
body[data-sjxc-app="erp"] .hero .eyebrow{color:var(--sjxc-accent)}
body[data-sjxc-app="erp"] .state-card{background:#fffffff0;color:var(--sjxc-ink);border-color:var(--sjxc-line);border-radius:13px;padding:22px;backdrop-filter:none}
body[data-sjxc-app="erp"] .state-card :is(span,small){color:var(--sjxc-muted)}
body[data-sjxc-app="erp"] .module-index{color:#edf1f7}
body[data-sjxc-app="erp"] .module-card :is(code,.eyebrow){color:var(--sjxc-accent)}
body[data-sjxc-app="erp"] .flow-panel{background:#fff;border:1px solid var(--sjxc-line);border-radius:14px}
body[data-sjxc-app="erp"] .flow-panel .eyebrow{color:var(--sjxc-accent)}
body[data-sjxc-app="erp"] .flow-step{background:var(--sjxc-soft);color:var(--sjxc-ink);border:1px solid var(--sjxc-line);border-radius:9px}
body[data-sjxc-app="erp"] .flow-step span{color:var(--sjxc-accent)}
body[data-sjxc-app="oa"] :is(.hero-status,.phase-chip){color:var(--sjxc-accent);background:var(--sjxc-soft);border-color:var(--sjxc-line)}
body[data-sjxc-app="oa"] .hero .eyebrow{color:var(--sjxc-accent)}
body[data-sjxc-app="oa"] .hero-status span{color:var(--sjxc-muted)}
body[data-sjxc-app="oa"] .brand-mark{background:var(--sjxc-accent)}
body[data-sjxc-app="oa"] .flow-node{border-color:var(--sjxc-line);background:#f7f9fc;color:var(--sjxc-ink)}
body[data-sjxc-app="lims"] .lims-link-card>span{background:var(--sjxc-soft);color:var(--sjxc-accent)}
body[data-sjxc-app="lims"] .lims-link-card strong{color:var(--sjxc-ink)}
body[data-sjxc-app="lims"] .lims-flow-step{color:var(--sjxc-ink)}
body[data-sjxc-app="lims"] .lims-flow-step .ant-badge-count{background:var(--sjxc-accent)!important}
body[data-sjxc-app="lims"] :is(.app-logo,.drawer-title){color:var(--sjxc-ink);border-color:var(--sjxc-line);background:transparent}
body[data-sjxc-app="lims"] .app-logo span{color:var(--sjxc-ink)}
body[data-sjxc-app="lims"] .app-nav-menu-dark .ant-menu-item:not(.ant-menu-item-selected) a{color:var(--sjxc-muted)}

@media(max-width:1000px){
 body[data-sjxc-theme] :is(.login-shell,.crm-login-shell,.auth-shell){grid-template-columns:1fr;align-content:center;gap:26px;padding:42px 32px}
 body[data-sjxc-theme] :is(.login-copy,.crm-login-copy){padding:0;text-align:left;max-width:560px;width:100%;margin:auto}
 body[data-sjxc-theme] :is(.login-card,.crm-login-card,.auth-card){justify-self:center;width:min(100%,560px)}
 body[data-sjxc-theme] :is(.login-shell,.crm-login-shell,.auth-shell)::before{width:68%;max-width:720px;left:auto;right:0;bottom:auto;top:-5px;opacity:.4}
 body[data-sjxc-app="oa"] .auth-brand{grid-column:1;grid-row:1;padding:0;max-width:560px;width:100%;margin:auto;align-self:end}
 body[data-sjxc-app="oa"] .auth-card{grid-column:1;grid-row:2}
 body[data-sjxc-app="oa"] .auth-shell>small{position:relative;inset:auto;grid-column:1;grid-row:3}
 body[data-sjxc-app="erp"] .hero{grid-template-columns:1fr;gap:18px}
 body[data-sjxc-app="erp"] .hero h1{font-size:36px}
 body[data-sjxc-app="erp"] .state-card{padding:18px}
}
@media(max-width:600px){
 body[data-sjxc-theme] :is(.login-shell,.crm-login-shell,.auth-shell){min-height:100svh;align-content:start;padding:34px 20px;gap:24px}
 body[data-sjxc-theme] :is(.login-shell,.crm-login-shell,.auth-shell)::before{width:92%;max-width:none;right:0;top:-4px;opacity:.32;mask-image:linear-gradient(180deg,transparent,#000 28%,#000 70%,transparent),linear-gradient(90deg,transparent 0%,transparent 35%,#000 78%,transparent);mask-composite:intersect}
 body[data-sjxc-theme] :is(.login-copy,.crm-login-copy) h1{font-size:28px!important;margin:20px 0 10px!important}
 body[data-sjxc-theme] :is(.login-copy,.crm-login-copy)>:is(p,div.ant-typography){font-size:13px;line-height:1.75;margin-bottom:12px}
 body[data-sjxc-theme] :is(.login-copy .brand-mark,.brand-logo-frame:not(.compact),.crm-login-brand-logo){width:90px;height:72px;border-radius:12px}
 body[data-sjxc-theme] :is(.login-feature,.crm-login-feature){font-size:12px;margin-top:9px}
 body[data-sjxc-theme] :is(.login-card,.crm-login-card,.auth-card){padding:4px;border-radius:14px}
 body[data-sjxc-theme] :is(.login-card,.crm-login-card) .ant-card-body{padding:22px 18px}
 body[data-sjxc-app="mes"] .auth-card{padding:26px 22px}
 body[data-sjxc-app="oa"] .auth-brand{gap:14px;align-items:center}
 body[data-sjxc-app="oa"] .auth-brand .brand-mark{width:52px;height:52px;font-size:18px}
 body[data-sjxc-app="oa"] .auth-brand strong{font-size:24px}
 body[data-sjxc-app="oa"] .auth-brand span{font-size:12px}
 body[data-sjxc-app="oa"] .auth-card{min-height:330px}
 body[data-sjxc-theme] :is(.page-heading,.lims-page-head,.hero){padding:20px 18px;border-radius:13px}
 body[data-sjxc-theme] :is(.page-heading,.lims-page-head,.hero)::before{width:150px;height:105px;top:0;transform:none;opacity:.35}
 body[data-sjxc-theme] :is(.page-heading,.lims-page-head)>div:first-child{max-width:100%}
 body[data-sjxc-app="erp"] .shell{width:calc(100% - 28px);padding-top:14px}
 body[data-sjxc-app="erp"] .hero{padding:24px 20px}
 body[data-sjxc-app="erp"] .hero h1{font-size:32px}
 body[data-sjxc-app="erp"] .hero::before{width:230px;height:154px;opacity:.45}
 body[data-sjxc-app="erp"] .auth-panel{align-items:stretch;gap:18px}
 body[data-sjxc-app="erp"] .login-button{min-height:44px;text-align:center}
}
@media(prefers-reduced-motion:reduce){body[data-sjxc-theme] *,body[data-sjxc-theme] *::before,body[data-sjxc-theme] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{body[data-sjxc-theme] :is(.page-heading,.lims-page-head,.hero)::before{display:none}}

/* One original TM brand area on every login and workspace, including WMS. */
body[data-sjxc-theme="v14"]{--sjxc-brand-height:78px;padding-top:var(--sjxc-brand-height)}
body[data-sjxc-theme="v14"] #sjxc-brandbar{
 position:fixed;inset:0 0 auto;z-index:900;box-sizing:border-box;height:var(--sjxc-brand-height);
 display:flex;align-items:center;gap:17px;padding:7px 28px;
 background:linear-gradient(100deg,#fff,#f8fbfe);border-bottom:1px solid var(--sjxc-line);
 color:var(--sjxc-ink);font-size:21px;font-weight:600;letter-spacing:.015em;
}
#sjxc-brandbar img{display:block;flex:none;width:76px;height:61px;object-fit:contain}
#sjxc-brandbar span{padding-left:18px;border-left:1px solid var(--sjxc-line);line-height:1.4;white-space:nowrap}
body[data-sjxc-theme="v14"] :is(#root,.app-shell){min-height:calc(100svh - var(--sjxc-brand-height))}
body[data-sjxc-theme="v14"] :is(.login-shell,.crm-login-shell,.auth-shell){min-height:calc(100svh - var(--sjxc-brand-height))}
body[data-sjxc-theme="v14"] :is(.desktop-sider,.app-header,.topbar){top:var(--sjxc-brand-height)}
body[data-sjxc-theme="v14"] .desktop-sider{height:calc(100svh - var(--sjxc-brand-height))}
body[data-sjxc-theme="v14"] :is(.login-copy>.brand-mark,.login-copy>.brand-logo-frame,.crm-login-copy>.crm-login-brand-logo,.sidebar-brand,.app-logo){display:none!important}
body[data-sjxc-app="crm"] .mobile-header-brand{display:none}
body[data-sjxc-app="oa"] :is(.auth-brand>.brand-mark,.topbar>.brand-mark,.topbar>.brand-copy){display:none}
body[data-sjxc-app="oa"] .topbar{justify-content:flex-end}
body[data-sjxc-app="oa"] .auth-brand{display:block}
body[data-sjxc-app="wms"]{--sjxc-accent:#327b8b;--sjxc-soft:#edf6f8;--sjxc-art:url("wms-silica-v14.webp")}
body[data-sjxc-app="wms"] .page-head{
 position:relative;isolation:isolate;overflow:hidden;padding:26px 28px;border:1px solid var(--sjxc-line);
 border-radius:16px;background:linear-gradient(105deg,#fff 30%,#edf4f8);gap:22px;min-height:144px;
}
body[data-sjxc-app="wms"] .page-head::before{
 content:"";position:absolute;z-index:-1;pointer-events:none;right:0;top:50%;transform:translateY(-50%);
 width:350px;height:234px;opacity:.6;background:var(--sjxc-art) center/contain no-repeat;
 mask-image:linear-gradient(90deg,transparent,#000 35%,#000 85%,transparent),linear-gradient(180deg,transparent,#000 24%,#000 78%,transparent);mask-composite:intersect;
}
body[data-sjxc-app="wms"] :is(.page-title,.dashboard-panel-title,.dashboard-domain-head h2){color:var(--sjxc-ink)}
body[data-sjxc-app="wms"] :is(.page-subtitle,.dashboard-domain-head p){color:var(--sjxc-muted)}
body[data-sjxc-app="wms"] :is(.dashboard-domain-panel,.dashboard-company-panel,.dashboard-domain-grid>.panel){border:1px solid var(--sjxc-line);border-radius:14px;background:#fff;box-shadow:var(--sjxc-shadow)}
body[data-sjxc-app="wms"] .app-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{background:var(--sjxc-soft)!important;color:var(--sjxc-accent)}
body[data-sjxc-app="wms"] .app-nav-menu :is(.ant-menu-item,.ant-menu-submenu-title):hover{background:var(--sjxc-soft)!important;color:var(--sjxc-accent)!important}
@media(max-width:600px){
 body[data-sjxc-theme="v14"]{--sjxc-brand-height:64px}
 body[data-sjxc-theme="v14"] #sjxc-brandbar{padding:5px 16px;gap:12px;font-size:18px}
 #sjxc-brandbar img{width:64px;height:51px}
 #sjxc-brandbar span{padding-left:12px}
 body[data-sjxc-theme="v14"] :is(.login-shell,.crm-login-shell,.auth-shell){padding-top:28px}
 body[data-sjxc-app="wms"] .page-head{padding:20px 18px;align-items:flex-start;flex-direction:column;gap:10px}
 body[data-sjxc-app="wms"] .page-head::before{width:190px;height:128px;opacity:.3}
}
@media print{body[data-sjxc-theme="v14"]{padding-top:0}#sjxc-brandbar{position:relative!important}body[data-sjxc-app="wms"] .page-head::before{display:none}}
