/* pro_erp 统一黑白灰 UI / 动画规范：高对比增强版 */
:root{
  --pro-black:#000000;
  --pro-ink:#111111;
  --pro-text:#1f1f1f;
  --pro-muted:#4b4b4b;
  --pro-subtle:#666666;
  --pro-line:#bdbdbd;
  --pro-strong-line:#8f8f8f;
  --pro-soft:#f0f0f0;
  --pro-page:#f7f7f7;
  --pro-white:#ffffff;
  --pro-shadow:0 10px 28px rgba(0,0,0,.10);
  --pro-focus:0 0 0 3px rgba(0,0,0,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--pro-page)!important;color:var(--pro-text)!important;font-family:"Microsoft YaHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;-webkit-font-smoothing:antialiased}
a{color:var(--pro-black)!important;text-decoration:none;font-weight:500}
a:hover{color:#000!important;text-decoration:underline;text-underline-offset:3px}
.card,.container,.login-card,.modal-content,.box,.wrap{background:var(--pro-white)!important;border:1px solid var(--pro-line)!important;border-radius:14px!important;box-shadow:var(--pro-shadow)!important;animation:proFadeUp .28s ease-out both}
h1,h2,h3,h4{color:var(--pro-black)!important;letter-spacing:.02em;font-weight:700!important}
p,span,div,label,small{color:inherit}
.muted,.tip,.tip-text,.text-gray{color:var(--pro-muted)!important}
input,select,textarea{border:1px solid var(--pro-strong-line)!important;border-radius:10px!important;background:#fff!important;color:var(--pro-ink)!important;transition:border-color .18s,box-shadow .18s,transform .18s}
input::placeholder,textarea::placeholder{color:#707070!important;opacity:1}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:#000!important;box-shadow:var(--pro-focus)!important}
input[readonly],input:disabled,select:disabled,textarea:disabled{background:#e9e9e9!important;color:#333!important;border-color:#aaa!important;opacity:1!important}
button,.btn,.btn-login,a.btn{border:1px solid #000!important;border-radius:10px!important;background:#0b0b0b!important;color:#fff!important;cursor:pointer!important;font-weight:600!important;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s!important}
button *,.btn *,.btn-login *{color:#fff!important}
button:hover,.btn:hover,.btn-login:hover,a.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.20)!important;background:#000!important;color:#fff!important;text-decoration:none}
button:focus-visible,.btn:focus-visible,a.btn:focus-visible{outline:3px solid rgba(0,0,0,.25)!important;outline-offset:2px}
.btn-gray,.btn-secondary{background:#4f4f4f!important;border-color:#4f4f4f!important;color:#fff!important}
.btn-del,.btn-red{background:#1f1f1f!important;border-color:#1f1f1f!important;color:#fff!important}
.btn-add,.btn-edit,.btn-green,.btn-orange,.btn-primary,.btn-success{background:#0b0b0b!important;border-color:#0b0b0b!important;color:#fff!important}
table{border-collapse:separate!important;border-spacing:0!important;overflow:hidden;border-radius:12px;border:1px solid var(--pro-strong-line)!important;background:#fff!important}
th{background:#dedede!important;color:#000!important;font-weight:700!important;border-color:var(--pro-strong-line)!important}
td{border-color:var(--pro-line)!important;color:#1f1f1f!important;background:#fff!important}
tr{transition:background .18s}
tr:nth-child(even) td{background:#fafafa!important}
tr:hover td{background:#ececec!important;color:#000!important}
thead th{border-bottom:1px solid #8f8f8f!important}
.total-tr td,.summary-row td{background:#e6e6e6!important;color:#000!important;font-weight:700!important}
.pro-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0;padding:12px;background:#e9e9e9;border:1px solid #b5b5b5;border-radius:12px;color:#111}
.pro-badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#111!important;color:#fff!important;font-size:12px;line-height:1.4;font-weight:700}
.pro-note{padding:12px 14px;border-left:4px solid #000;background:#e9e9e9;color:#111!important;border-radius:10px;margin:10px 0;font-weight:500}
.pro-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0}
.pro-kpi{border:1px solid #bdbdbd;border-radius:12px;background:#fff;padding:14px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.pro-kpi .label{font-size:12px;color:#444!important;font-weight:600}
.pro-kpi .value{font-size:22px;color:#000!important;font-weight:800;margin-top:4px}
.pro-risk-high{background:#000!important;color:#fff!important;border-color:#000!important}
.pro-risk-mid{background:#4d4d4d!important;color:#fff!important;border-color:#4d4d4d!important}
.pro-risk-low{background:#d9d9d9!important;color:#000!important;border:1px solid #999!important}
.empty-tip{color:#444!important;background:#f0f0f0!important}
.error,.tip-red{color:#111!important;background:#f1f1f1!important;border-left:4px solid #000!important;padding:8px 10px;border-radius:8px}
.tip-green{color:#111!important;background:#e6e6e6!important;border-left:4px solid #555!important;padding:8px 10px;border-radius:8px}
.left-menu{background:#171717!important}
.left-menu .system-name,.left-menu .user-info{color:#fff!important;border-color:#3a3a3a!important}
.menu-list a{color:#f2f2f2!important;border-color:#333!important}
.menu-list a:hover{background:#2d2d2d!important;color:#fff!important;text-decoration:none}
/* 菜单分组（折叠子菜单） */
.menu-list details.menu-group{margin:0}
.menu-list details.menu-group > summary{
  list-style:none;cursor:pointer;display:block;padding:14px 25px;color:#ddd;
  border-bottom:1px solid #333;user-select:none;position:relative;transition:0.2s all;
  font-weight:500;font-size:inherit;
}
.menu-list details.menu-group > summary::-webkit-details-marker{display:none}
.menu-list details.menu-group > summary::after{
  content:"▾";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  font-size:12px;color:#999;transition:transform .15s
}
.menu-list details.menu-group[open] > summary::after{transform:translateY(-50%) rotate(180deg)}
.menu-list details.menu-group > summary:hover{background:#383838;padding-left:32px;color:#fff}
.menu-list details.menu-group > div.sub{background:#1f1f1f}
.menu-list details.menu-group > div.sub a{padding-left:40px;font-size:inherit;color:#cfcfcf!important}
.menu-list details.menu-group > div.sub a:hover{background:#2d2d2d!important;color:#fff!important}
.menu-list details.menu-group > summary.active{background:#000!important;color:#fff!important}
.global-stat-bar,.sum-box{background:#e8e8e8!important;border:1px solid #aaa!important;color:#111!important}
.global-stat-bar span,.sum-box span{color:#000!important;font-weight:700}
.modal{color:#111!important}
@keyframes proFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media print{button,.btn,.top-nav,.top-back,.no-print{display:none!important}.card,.container{box-shadow:none!important;border:0!important}}
