:root{--ink:#172033;--muted:#687184;--line:#e5e9f0;--bg:#f5f7fb;--blue:#225be2;--blue-soft:#eef3ff;--red:#d63a42;--red-soft:#fff0f1;--green:#08795b;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}.topbar{height:64px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2))}.brand{font-weight:800}.topbar nav{display:flex;gap:24px;align-items:center;color:var(--muted);font-size:14px}.topbar form{margin:0}.link-button{border:0;background:none;color:var(--muted);padding:0;font:inherit;cursor:pointer}.page{max-width:1240px;margin:0 auto;padding:38px 24px 70px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.page-heading h1{font-size:32px;margin:6px 0 8px}.page-heading p,.muted{color:var(--muted);margin:0}.eyebrow{color:var(--blue);font-weight:800;font-size:13px}.panel{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 24px rgba(30,45,80,.04)}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}.metrics article{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px}.metrics span{display:block;color:var(--muted);font-size:13px}.metrics strong{font-size:28px;display:block;margin-top:8px}.metric-urgent strong{color:var(--red)}.filters{display:flex;gap:12px;margin-bottom:18px}.filters input{flex:1}input,select,textarea{width:100%;border:1px solid #d5dae4;border-radius:9px;padding:11px 12px;background:#fff;font:inherit}button,.button{border:1px solid #d5dae4;border-radius:9px;padding:11px 16px;background:#fff;font-weight:700;cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit}.primary{background:var(--blue);color:#fff;border-color:var(--blue);display:inline-block}.customer-list{display:grid;gap:12px}.customer-card{display:block;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:20px;transition:.15s}.customer-card:hover{border-color:#b8c7ed;transform:translateY(-1px);box-shadow:0 10px 30px rgba(30,45,80,.06)}.card-top,.card-main{display:flex;align-items:center;justify-content:space-between;gap:16px}.card-main{margin:14px 0}.card-main h3{margin:0 0 5px;font-size:19px}.card-main p{margin:0;color:var(--muted);font-size:13px}.badge,.status,.rules span{display:inline-block;border-radius:999px;padding:5px 9px;background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:12px;margin-right:5px}.badge.urgent{background:var(--red-soft);color:var(--red)}.badge.new{background:#eaf8f3;color:var(--green)}.status{background:#f0f2f6;color:#5d6678}.rules{text-align:right}.reasons{padding-top:12px;border-top:1px solid var(--line);color:#4b5568;font-size:13px}.reasons p{margin:4px 0}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.detail-grid section{display:grid;gap:16px}.event-card strong{margin-left:8px}.reason{font-size:16px;margin:20px 0 8px}.latest-note{background:#f7f9fc;border-radius:10px;padding:14px;margin:18px 0}.latest-note p{margin:6px 0 0}.stack-form{display:grid;gap:14px}.stack-form label{font-size:14px;font-weight:700}.stack-form small{display:block;color:var(--muted);margin-top:5px;font-weight:400}.handling-form{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.history{border-top:1px solid var(--line);padding:12px 0}.history span{float:right;color:var(--muted);font-size:12px}.history p{margin-bottom:0}.batch{display:grid;grid-template-columns:1fr auto;gap:4px;border-bottom:1px solid var(--line);padding:12px 0}.batch small{grid-column:1/-1;color:var(--muted)}.message,.error{background:#eaf8f3;color:var(--green);padding:12px 16px;border-radius:10px;margin-bottom:18px}.error,.errorlist{background:var(--red-soft);color:var(--red)}.login-shell{min-height:70vh;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.login-intro h1{font-size:46px;line-height:1.2;margin:14px 0}.login-intro p{color:var(--muted);font-size:17px;max-width:600px}.login-panel{padding:30px}.back{color:var(--blue);font-size:14px}.empty{text-align:center;padding:50px}
.owner-summary{margin-bottom:18px}.owner-summary h2{font-size:17px;margin:0 0 15px}.owner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.owner-grid a{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:4px}.owner-grid strong{font-size:22px}.owner-grid span,.owner-grid small{color:var(--muted);font-size:12px}.owner-grid small{grid-column:1/-1}
.problem-board{margin-bottom:18px}.problem-board h2{font-size:18px;margin:0 0 5px}.problem-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}.problem-card{display:grid;grid-template-columns:1fr auto;gap:6px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;transition:.15s}.problem-card:hover,.problem-card.selected{transform:translateY(-1px);box-shadow:0 10px 28px rgba(30,45,80,.08)}.problem-card span{font-weight:800}.problem-card strong{font-size:28px;line-height:1}.problem-card small,.problem-card em{grid-column:1/-1;color:var(--muted);font-style:normal;font-size:12px;line-height:1.45}.problem-card.problem-red{background:#fff5f5;border-color:#ffd6d9}.problem-card.problem-orange{background:#fff7ed;border-color:#fed7aa}.problem-card.problem-yellow{background:#fffbeb;border-color:#fde68a}.problem-card.problem-purple{background:#f7f2ff;border-color:#ddd6fe}.problem-card.problem-blue{background:#eff6ff;border-color:#bfdbfe}.problem-card.problem-red strong{color:#d63a42}.problem-card.problem-orange strong{color:#c05621}.problem-card.problem-yellow strong{color:#a16207}.problem-card.problem-purple strong{color:#6d28d9}.problem-card.problem-blue strong{color:#225be2}.problem-card.selected{outline:3px solid rgba(34,91,226,.16)}
.customer-card{position:relative;overflow:hidden}.customer-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:transparent}.problem-theme-red:before{background:#d63a42}.problem-theme-orange:before{background:#ea580c}.problem-theme-yellow:before{background:#d97706}.problem-theme-purple:before{background:#7c3aed}.problem-theme-blue:before{background:#225be2}.primary-problem{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#f7f9fc;border:1px solid var(--line)}.primary-problem span{color:var(--muted);font-size:12px;font-weight:800}.primary-problem strong{font-size:17px}.problem-theme-red .primary-problem{background:#fff5f5;border-color:#ffd6d9}.problem-theme-orange .primary-problem{background:#fff7ed;border-color:#fed7aa}.problem-theme-yellow .primary-problem{background:#fffbeb;border-color:#fde68a}.problem-theme-purple .primary-problem{background:#f7f2ff;border-color:#ddd6fe}.problem-theme-blue .primary-problem{background:#eff6ff;border-color:#bfdbfe}.problem-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.problem-tags b{color:var(--muted);font-size:12px}.problem-tags span{display:inline-block;border-radius:999px;background:#fff;border:1px solid var(--line);padding:4px 8px;color:#4b5568;font-size:12px;font-weight:700}
.rule-section-list{display:grid;gap:18px}.rule-section{padding:0;overflow:hidden}.rule-section summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:18px 22px;background:#fafbfe;border-bottom:1px solid var(--line);font-size:20px}.rule-section summary strong{font-size:20px}.rule-section summary em{font-style:normal;color:var(--muted);font-size:16px;font-weight:800}.rule-table-wrap{overflow:auto;padding:18px}.rule-table{width:100%;min-width:1280px;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.rule-table th,.rule-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:11px 12px;text-align:left;vertical-align:middle;white-space:nowrap}.rule-table th:last-child,.rule-table td:last-child{border-right:0}.rule-table tr:last-child td{border-bottom:0}.rule-table th{background:#f7f9fc;color:var(--muted);font-weight:800}.rule-table td{font-size:13px}.rule-table small{display:block;color:var(--muted);margin-top:4px}.table-link{color:var(--blue);font-weight:800}.rule-reason{white-space:normal;min-width:220px;color:#4b5568}
.import-note{background:var(--blue-soft);border-radius:10px;padding:14px 16px;margin-bottom:18px;color:#25437e}.import-note p{margin:5px 0 0;font-size:13px}.secondary-import{margin-top:18px}
.source-list{margin-top:18px}.source-list h2{font-size:18px;margin-top:0}.source-list article{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--line)}.source-list p{color:var(--muted);margin:5px 0}.source-list span{display:inline-block;background:#f2f4f8;border-radius:8px;padding:6px 8px;margin-left:5px;font-size:12px}
.fields-panel{margin-top:18px}.fields-panel h2{font-size:18px}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.field-grid article{border:1px solid var(--line);border-radius:12px;padding:14px}.field-grid span{float:right;color:var(--blue);font-size:12px}.field-grid small{display:block;color:var(--muted);margin:8px 0}.field-grid p{font-size:12px;margin:0;color:#505a6d;word-break:break-all}
.definition-list p{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid var(--line);padding:12px 0;margin:0}.condition{background:#f5f7fb;border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0}.action-row{display:flex;gap:10px;margin-top:22px}.simulation-number{font-size:48px;font-weight:800;color:var(--blue)}.pid-list{word-break:break-all;font-size:12px}
.form-panel-wide{max-width:900px}.active-rules-panel{margin-top:18px}.active-rule-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.rule-priority-group{margin-top:18px}.rule-priority-group h4{margin:0 0 10px;font-size:15px}.rule-manage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.rule-manage-item{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.rule-manage-item:first-of-type{border-top:0}.rule-manage-item p,.rule-manage-item small{margin:5px 0 0;color:var(--muted)}.rule-manage-item form{margin:0}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-heading h2{margin:0 0 5px}.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.provider-grid h2{font-size:18px}.provider-grid .test-form{margin-top:10px}.provider-grid .stack-form p{margin:0}.provider-grid .stack-form label{display:block;margin-bottom:5px;font-size:13px;font-weight:700}
.portal-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}.portal-entry-card{display:flex;flex-direction:column;justify-content:space-between;min-height:132px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:0 8px 24px rgba(30,45,80,.04);transition:.15s}.portal-entry-card:hover{border-color:#b8c7ed;transform:translateY(-1px);box-shadow:0 10px 30px rgba(30,45,80,.06)}.portal-entry-card b{font-size:17px}.portal-entry-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.admin-portal-section{margin-top:22px}.admin-portal-section .section-heading{margin-bottom:12px}
.admin-entry{color:var(--blue);font-weight:800}.admin-body{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;background:#172033;color:#fff;padding:28px 18px;display:flex;flex-direction:column;overflow:auto}.admin-brand{display:grid;gap:5px;padding:0 10px 25px;border-bottom:1px solid rgba(255,255,255,.12)}.admin-brand b{font-size:22px}.admin-brand span{font-size:12px;color:#aeb8cb}.admin-sidebar nav{display:grid;gap:18px;padding-top:20px}.admin-nav-group{display:grid;gap:5px}.admin-nav-title{padding:0 10px 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8f9bb2;font-weight:800}.admin-sidebar nav a,.admin-sidebar-footer a,.admin-sidebar-footer button{display:block;width:100%;padding:11px 10px;border-radius:8px;color:#d7deeb;text-align:left;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.admin-sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-sidebar-footer{margin-top:auto;display:grid;gap:4px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.admin-sidebar-footer form{margin:0}.admin-page{padding:38px max(24px,calc((100vw - 1450px)/2));max-width:1450px;min-width:0;width:100%}.admin-function-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-function-grid > .panel{display:flex;flex-direction:column;min-height:124px}.admin-function-grid b{font-size:17px}.admin-function-grid p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.date-number,.status-number{font-size:16px!important;margin-top:13px!important}.user-table{overflow:auto}.user-row{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.2fr .8fr 1.1fr .8fr .5fr;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line);min-width:1080px}.user-head{border-top:0;color:var(--muted);font-size:12px;font-weight:700}.user-row a{color:var(--blue);font-weight:700}.form-panel{max-width:700px}
.audit-table{overflow:auto}.audit-row{display:grid;grid-template-columns:1.1fr 1fr 2.2fr 1fr .6fr;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line);min-width:900px}.audit-head{border-top:0;color:var(--muted);font-size:12px;font-weight:700}.audit-row small{display:block;color:var(--muted);margin-top:4px}.audit-row a{color:var(--blue);font-weight:700}.hash-text{word-break:break-all;font-family:monospace;font-size:12px}
.finance-table{overflow:auto}.finance-row{display:grid;grid-template-columns:1fr 1fr 1.8fr 1.2fr 1.1fr .8fr .5fr;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line);min-width:980px}.finance-head{border-top:0;color:var(--muted);font-size:12px;font-weight:700}.finance-row small{display:block;color:var(--muted);margin-top:4px}.finance-row a{color:var(--blue);font-weight:700}.checkbox-line{display:flex!important;align-items:center;gap:8px}.checkbox-line input{width:auto}
.finance-edit-form h2{font-size:17px;margin:6px 0 14px}.finance-edit-form h2:not(:first-of-type){margin-top:28px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.form-grid label,.full-field{font-size:13px;font-weight:700}.full-field{display:block;margin-top:14px}
.sheet-page-heading{gap:16px;align-items:flex-start}.sheet-page-actions{flex-wrap:wrap;justify-content:flex-end;max-width:760px}.sheet-page-actions .button{min-width:108px;text-align:center}
.sheet-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:12px}.sheet-toolbar span{color:var(--muted);font-size:13px}.sheet-toolbar button,.sheet-toolbar .button{font-size:15px;font-family:inherit}.sheet-toolbar.bottom{margin-top:12px}.online-sheet{overflow:auto;border:1px solid var(--line);background:#fff;border-radius:8px;max-height:70vh;min-width:0}.online-sheet table{border-collapse:collapse;min-width:7200px;width:max-content}.online-sheet th,.online-sheet td{border:1px solid var(--line);padding:0;vertical-align:middle;background:#fff}.online-sheet th{position:sticky;top:0;z-index:2;background:#f8fafc;min-width:160px;text-align:center;white-space:nowrap}.online-sheet th span{display:block;font-size:13px;padding:10px 8px;font-weight:800;white-space:nowrap;line-height:1.3}.online-sheet input,.online-sheet select{border:0;border-radius:0;min-width:160px;height:38px;padding:8px;background:#fff}.online-sheet input:focus,.online-sheet select:focus{outline:2px solid #8fb0ff;outline-offset:-2px}.sheet-row-number{position:sticky;left:0;z-index:3;background:#f8fafc!important;min-width:64px!important;text-align:center;font-size:12px;color:var(--muted);padding:8px!important}.readonly-cell{display:block;min-width:160px;min-height:38px;padding:9px 8px;background:#f7f9fc;color:#334155}.new-row td{background:#fbfdff}
@media(max-width:1000px){.problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.topbar nav a:not(:first-child){display:none}.page{padding:24px 14px}.page-heading{align-items:flex-start;gap:16px}.metrics{grid-template-columns:repeat(2,1fr)}.owner-grid,.field-grid,.provider-grid{grid-template-columns:repeat(2,1fr)}.filters,.card-main{display:grid}.rules{text-align:left}.detail-grid,.login-shell{grid-template-columns:1fr}.login-intro h1{font-size:34px}.login-intro{margin-top:30px}.topbar{padding:0 16px}.page-heading h1{font-size:27px}}

/* 登录入口：与前台主视觉保持一致，避免把全局导航带入未登录状态。 */
body.login-page {
  min-height: 100vh;
  color: #0b4650;
  background: #f6f0e5;
}
body.login-page .topbar { display: none; }
body.login-page .page {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}
.login-stage {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.login-brand-panel {
  display: grid;
  place-items: center;
  padding: 64px;
  background: #071b31;
}
.login-brand {
  display: grid;
  justify-items: center;
  gap: 34px;
  max-width: 620px;
  text-align: center;
}
.login-brand img {
  width: 205px;
  height: 250px;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(0, 0, 0, .18));
}
.login-brand-name {
  color: #e7b94e;
  font-family: "Songti SC", "STSong", "SimSun", serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .02em;
}
.login-form-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 64px;
  background: #f7f3eb;
}
.login-card {
  width: min(100%, 460px);
  padding: 46px 48px 48px;
  background: #fffefa;
  border: 1px solid #e5e0d6;
  border-radius: 12px;
  box-shadow: 0 20px 48px rgba(28, 45, 57, .12);
}
.login-card-heading { margin-bottom: 24px; }
.login-card-heading h1 {
  margin: 0;
  color: #0b4650;
  font-family: "Songti SC", "STSong", "SimSun", serif;
  font-size: 26px;
  line-height: 1.2;
}
.login-form { display: grid; gap: 10px; }
.login-form label {
  margin-top: 8px;
  color: #445d60;
  font-size: 14px;
  font-weight: 700;
}
.login-form input {
  min-height: 48px;
  padding: 12px 14px;
  color: #173f45;
  background: #fffdf9;
  border: 1px solid #dfc99f;
  border-radius: 9px;
  outline: none;
}
.login-form input:focus {
  border-color: #b9801c;
  box-shadow: 0 0 0 3px rgba(185, 128, 28, .14);
}
.login-submit {
  width: 100%;
  min-height: 48px;
  margin-top: 18px;
  color: #fffaf0;
  background: #0b5964;
  border: 1px solid #0b5964;
  border-radius: 9px;
  font-weight: 800;
  cursor: pointer;
  transition: background-color .15s ease, transform .15s ease;
}
.login-submit:hover { background: #084852; transform: translateY(-1px); }
.login-error {
  margin-bottom: 16px;
  padding: 11px 13px;
  color: #9f3327;
  background: #fff0eb;
  border: 1px solid #efc0b4;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
}
@media(max-width:520px) {
  .login-stage { grid-template-columns: 1fr; }
  .login-brand-panel { min-height: 38vh; padding: 36px 24px; }
  .login-brand { gap: 16px; }
  .login-brand img { width: 92px; height: 112px; }
  .login-brand-name { font-size: 28px; }
  .login-form-panel { min-height: 62vh; padding: 28px 16px 40px; }
  .login-card { padding: 30px 22px 32px; }
}
@media(max-width:560px){.owner-grid,.field-grid,.provider-grid,.rule-manage-grid,.active-rule-columns,.portal-entry-grid,.problem-grid{grid-template-columns:1fr}.page-heading{display:grid}.section-heading{align-items:flex-start}.topbar nav{gap:12px}}
@media(max-width:900px){.admin-body{display:block}.admin-sidebar{position:static;height:auto;overflow:visible}.admin-sidebar nav{gap:14px}.admin-sidebar-footer{display:flex}.admin-page{padding:24px 14px}.admin-function-grid{grid-template-columns:1fr}.admin-metrics{grid-template-columns:repeat(2,1fr)}.portal-entry-grid{grid-template-columns:1fr}}
.alert-evidence{background:#f7f9fc;border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0 16px}.evidence-summary{display:grid;gap:5px;margin-bottom:14px}.evidence-summary span,.evidence-calc span,.evidence-rule span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:4px}.evidence-summary strong{font-size:15px;line-height:1.55}.evidence-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:14px}.evidence-table th,.evidence-table td{padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45;text-align:left}.evidence-table tr:last-child th,.evidence-table tr:last-child td{border-bottom:0}.evidence-table th{width:180px;color:var(--muted);font-weight:700;background:#fafbfe}.evidence-table td{color:var(--ink);font-weight:700}.evidence-calc,.evidence-rule{margin:10px 0 0!important;color:#4b5568;line-height:1.65;font-size:13px}.evidence-rule{border-top:1px solid var(--line);padding-top:10px}
@media(max-width:800px){.evidence-table th{width:120px}.evidence-table th,.evidence-table td{font-size:13px}}

/* 客户页高保真视觉基准：沿用客户页 UI 交互原型的深青蓝、淡金和纸感体系。 */
:root{
  --asset-ink:#142e3b;
  --asset-deep:#073947;
  --asset-teal:#096e7c;
  --asset-paper:#f7f3ea;
  --asset-white:#fffdf8;
  --asset-line:#ded3bd;
  --asset-muted:#7f827d;
  --asset-gold:#b78343;
  --asset-danger:#a65f55;
  --asset-danger-edge:#ef9c76;
  --asset-important:#9a7d49;
  --asset-important-edge:#edc46f;
  --asset-shadow:0 14px 36px rgba(20,46,59,.08);
}
.page:has(.customer-asset-shell){
  max-width:1400px;
  padding:34px 34px 70px;
  background:
    radial-gradient(circle at 94% 8%,#fffdf8 0,rgba(255,253,248,.45) 27%,transparent 48%),
    var(--asset-paper);
}
.customer-asset-shell{
  color:var(--asset-ink);
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
}
.asset-customer-head{
  margin-bottom:28px;
}
.asset-title-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.asset-title-row h1{
  margin:0;
  color:var(--asset-ink);
  font-family:"Noto Serif SC","Songti SC","SimSun",serif;
  font-size:34px;
  letter-spacing:.06em;
  line-height:1.2;
}
.asset-profile-btn{
  border:1px solid #c6ad86;
  border-radius:7px;
  background:#fffcf5;
  color:#754b20;
  padding:7px 11px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.asset-business-btn{
  color:#075f6e;
}
.asset-identity-line{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  margin:17px 0 24px;
  color:#666e70;
}
.asset-identity-line span{
  white-space:nowrap;
}
.asset-identity-line b{
  margin-left:6px;
  color:#26383e;
  font-size:15px;
}
.asset-identity-line .asset-level{
  color:#08747b;
  font-size:17px;
}
.asset-identity-line i{
  width:1px;
  height:22px;
  background:#cfc4af;
}
.asset-tabs{
  display:flex;
  gap:38px;
  border-bottom:1px solid #d9d0bf;
}
.asset-tabs .tab-button{
  position:relative;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#6b716f;
  padding:0 2px 14px;
  font-family:"Noto Serif SC","Songti SC","SimSun",serif;
  font-size:18px;
  font-weight:600;
  cursor:pointer;
}
.asset-tabs .tab-button:hover{
  color:#7d6540;
}
.asset-tabs .tab-button.active{
  color:#075b6c;
  font-weight:800;
}
.asset-tabs .tab-button.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:3px;
  background:var(--asset-teal);
}
.asset-tab-panel{
  display:none;
}
.asset-tab-panel.active{
  display:block;
}
.tab-panel{
  display:none;
}
.tab-panel.active{
  display:block;
}
.section{
  margin-bottom:24px;
  border-bottom:1px solid #eee;
  padding-bottom:16px;
}
.card{
  border:1px solid var(--line);
  padding:16px;
  margin-bottom:16px;
  border-radius:8px;
  background:#fff;
}
.asset-section{
  margin-top:28px;
}
.asset-section-title{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}
.asset-section-title h2{
  margin:0;
  color:#0d4f63;
  font-family:"Noto Serif SC","Songti SC","SimSun",serif;
  font-size:34px;
  letter-spacing:.03em;
  line-height:1.2;
}
.asset-section-icon{
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  color:#0d6472;
  background:rgba(183,131,67,.12);
  font-weight:800;
}
.asset-data-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:20px;
  align-items:stretch;
}
.asset-surface{
  background:rgba(255,253,248,.75);
  border:1px solid var(--asset-line);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(20,46,59,.035);
  padding:21px 22px;
}
.asset-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.asset-card-head h3{
  margin:0;
  color:var(--asset-ink);
  font-family:"Noto Serif SC","Songti SC","SimSun",serif;
  font-size:22px;
  line-height:1.25;
}
.asset-card-head small{
  display:block;
  color:var(--asset-muted);
  font-size:12px;
  margin-top:5px;
}
.asset-card-head-simple{
  display:block;
}
.asset-range-switch{
  display:flex;
  height:32px;
  overflow:hidden;
  border:1px solid #d5c9b3;
  border-radius:7px;
  flex:0 0 auto;
}
.asset-range-switch button{
  border:0;
  border-right:1px solid #d5c9b3;
  border-radius:0;
  background:#fffcf6;
  padding:0 12px;
  color:var(--asset-ink);
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.asset-range-switch button:last-child{
  border-right:0;
}
.asset-range-switch button.selected{
  color:#fff;
  background:var(--asset-deep);
}
.asset-chart-wrap{
  height:260px;
  margin-top:18px;
  padding:8px 0 2px;
}
.asset-empty{
  display:grid;
  place-items:center;
  min-height:220px;
  color:var(--asset-muted);
}
.asset-key-card{
  padding-bottom:12px;
}
.asset-key-list{
  margin-top:12px;
}
.asset-key-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 16px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid #eae2d6;
}
.asset-key-item:last-child{
  border-bottom:0;
}
.asset-key-item span{
  color:#2f5b66;
  font-size:15px;
  font-weight:800;
}
.asset-key-item b{
  grid-row:1 / span 2;
  grid-column:2;
  color:#174f5b;
  font-family:"Noto Serif SC","Songti SC","SimSun",serif;
  font-size:21px;
  white-space:nowrap;
}
.asset-key-item small{
  color:#788584;
  font-size:12px;
}
.asset-alert-section{
  margin-top:34px;
}
.asset-focus-alerts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.asset-focus-card{
  min-height:210px;
  border:1px solid transparent;
  border-radius:10px;
  padding:24px 26px 16px;
  color:#fffdf7;
  box-shadow:var(--asset-shadow);
}
.asset-focus-card h3{
  margin:0 0 18px;
  color:#fff7e7;
  font-family:"Noto Serif SC","Songti SC","SimSun",serif;
  font-size:34px;
  letter-spacing:.03em;
}
.asset-focus-card-urgent{
  background:linear-gradient(135deg,#9e635b 0%,#a96c62 100%);
  border-color:#875148;
  box-shadow:inset 0 5px 0 var(--asset-danger-edge),var(--asset-shadow);
}
.asset-focus-card-important{
  background:linear-gradient(135deg,#927946 0%,#9f854f 100%);
  border-color:#766132;
  box-shadow:inset 0 5px 0 var(--asset-important-edge),var(--asset-shadow);
}
.asset-alert-detail{
  border-top:1px solid rgba(255,253,248,.24);
}
.asset-alert-detail:first-of-type{
  border-top:0;
}
.asset-alert-detail summary{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 0 10px;
  cursor:pointer;
  list-style:none;
}
.asset-alert-detail summary::-webkit-details-marker{
  display:none;
}
.asset-alert-detail summary::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff1d2;
  flex:0 0 auto;
}
.asset-alert-detail summary span{
  flex:1;
  color:#fffdf7;
  font-family:"Noto Serif SC","Songti SC","SimSun",serif;
  font-size:22px;
  font-weight:800;
}
.asset-alert-detail summary i{
  font-style:normal;
  color:#fff8eb;
  font-size:25px;
  line-height:1;
}
.asset-alert-detail p{
  margin:0 0 8px 22px;
  color:#fff5e8;
  line-height:1.7;
}
.asset-alert-detail small{
  display:block;
  margin-left:22px;
  color:#f7e7d2;
  font-size:12px;
}
.asset-card-empty{
  color:#fff5e8;
  margin:0;
  font-size:15px;
}
.asset-alert-pools{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid #dfd4c3;
}
.asset-pool-block h3{
  margin:0 0 12px;
  color:#526160;
  font-size:16px;
}
.asset-pool-row{
  border-top:1px solid #e4ddcf;
}
.asset-pool-row summary{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 0;
  cursor:pointer;
  list-style:none;
}
.asset-pool-row summary::-webkit-details-marker{
  display:none;
}
.asset-pool-row summary::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c7882d;
  flex:0 0 auto;
}
.asset-pool-row-urgent summary::before{
  background:#bd4d28;
}
.asset-pool-row span{
  flex:1;
  color:#1c3440;
  font-size:16px;
  font-weight:800;
}
.asset-pool-row b{
  border-radius:4px;
  background:#fff2d9;
  color:#9b621c;
  padding:4px 8px;
  font-size:12px;
}
.asset-pool-row-urgent b{
  background:#fbede7;
  color:#bd4d28;
}
.asset-pool-row p{
  margin:0 0 13px 20px;
  color:#65706f;
  line-height:1.6;
}
.asset-muted{
  color:var(--asset-muted);
  font-size:13px;
}
.asset-contract-anchor{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}
@media(max-width:1100px){
  .asset-data-grid,.asset-focus-alerts,.asset-alert-pools{grid-template-columns:1fr}
  .asset-chart-wrap{height:240px}
}
@media(max-width:800px){
  .page:has(.customer-asset-shell){padding:24px 17px 55px}
  .asset-title-row h1{font-size:27px}
  .asset-identity-line{gap:9px}
  .asset-identity-line i{display:none}
  .asset-tabs{gap:24px}
  .asset-tabs .tab-button{font-size:16px}
  .asset-section-title h2{font-size:28px}
  .asset-card-head{display:grid}
  .asset-focus-card h3{font-size:28px}
}
.trend-panel h2{margin:0 0 5px;font-size:18px}.detail-metrics{display:flex;gap:18px;align-items:flex-start}.trend-meta{text-align:right}.trend-meta span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.trend-meta b{display:block;font-size:18px}.trend-meta small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.trend-chart{display:block;width:100%;height:auto;margin-top:14px;overflow:visible}.trend-axis{stroke:#d8deea;stroke-width:1}.trend-line{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:#fff;stroke:var(--blue);stroke-width:3}.trend-label{fill:var(--muted);font-size:11px}.trend-value{fill:var(--ink);font-size:10px;font-weight:700}
.trend-range-control{margin-top:6px}.trend-range-control input{width:100%;padding:0}.trend-range-control div{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px;color:var(--muted);font-size:12px;text-align:center}
.trend-range-dual{margin-top:12px}.dual-range-track{position:relative;height:34px;display:block!important}.dual-range-track input{position:absolute;left:0;right:0;top:8px;width:100%;padding:0;pointer-events:none;background:transparent}.dual-range-track input::-webkit-slider-thumb{pointer-events:auto}.dual-range-track input::-moz-range-thumb{pointer-events:auto}.trend-range-labels{display:flex!important;justify-content:space-between!important;gap:12px!important;margin-top:4px!important;color:var(--muted);font-size:12px;text-align:left!important}
@media(max-width:800px){.trend-meta{text-align:left}.trend-value{display:none}}
.metrics{grid-template-columns:repeat(6,1fr)}.metrics a{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px;transition:.15s}.metrics a:hover,.metrics a.selected{border-color:#b8c7ed;transform:translateY(-1px);box-shadow:0 10px 28px rgba(30,45,80,.08)}.metrics a.selected{outline:3px solid rgba(34,91,226,.14)}.section-divider{padding:4px 2px 0}.section-divider h2{margin:0 0 5px;font-size:20px}.section-divider p{margin:0;color:var(--muted);font-size:13px}@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.metrics{grid-template-columns:repeat(2,1fr)}}
.focus-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#eef4ff,#fff);border-color:#c9d8ff}.focus-banner h2{margin:6px 0 8px;font-size:24px}.focus-banner p{margin:0;color:var(--muted)}.focus-banner .button{white-space:nowrap}
.dashboard-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-table-panel{margin-top:18px}.dashboard-table-wrap,.target-table-wrap{overflow:auto}.dashboard-table,.target-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.dashboard-table th,.dashboard-table td,.target-table th,.target-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:middle;white-space:nowrap}.dashboard-table th:last-child,.dashboard-table td:last-child,.target-table th:last-child,.target-table td:last-child{border-right:0}.dashboard-table tr:last-child td,.target-table tr:last-child td{border-bottom:0}.dashboard-table th,.target-table th{background:#f7f9fc;color:var(--muted);font-size:12px;font-weight:800}.dashboard-table td,.target-table td{font-size:13px}.target-table input{min-width:88px;padding:8px 9px}.target-table .readonly-cell{min-width:auto;background:#f7f9fc;font-weight:800}.manual-metrics-panel{margin:18px 0}.manual-metrics-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}.manual-metrics-form label{font-size:13px;font-weight:800}.dashboard-table-wrap.compact .dashboard-table{min-width:760px}
@media(max-width:1000px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-metrics-form{grid-template-columns:1fr}.dashboard-table,.target-table{min-width:980px}}

/* ════════ 客户动态作业页（PID 客户页） ════════ */
.customer-page-header{margin-bottom:22px}
.cp-breadcrumb{color:var(--muted);font-size:13px;margin-bottom:10px}
.cp-breadcrumb a{color:var(--blue);font-weight:700}
.cp-name-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cp-name-row h1{font-size:30px;margin:0}
.profile-btn{border:1px solid var(--line);background:#fff;color:var(--blue);font-weight:700;font-size:13px;padding:7px 14px;border-radius:999px;cursor:pointer;transition:.15s}
.profile-btn:hover{border-color:#b8c7ed;background:var(--blue-soft)}
.cp-source-hint{color:var(--muted);font-size:12px}
.cp-meta{color:var(--muted);font-size:14px;margin:8px 0 0}
.cp-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

.tag{display:inline-flex;align-items:center;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:800;background:#f2f4f8;color:#4b5568;border:1px solid transparent}
.tag-sm{padding:2px 9px;font-size:11px}
.tag-level-s{background:#fff0f6;color:#c2185b;border-color:#f8bbd0}
.tag-level-a{background:#f3effe;color:#6d28d9;border-color:#ddd6fe}
.tag-level-b{background:#ecfdf5;color:#08795b;border-color:#a7f3d0}
.tag-level-c{background:#eff6ff;color:#225be2;border-color:#bfdbfe}
.tag-urgent{background:#fff7ed;color:#c05621;border-color:#fed7aa}
.tag-status{background:#eef3ff;color:#225be2;border-color:#c9d8ff}
.tag-unlevel{background:#f2f4f8;color:#687184}
.tag-priority.tag-urgent{background:#fff0f1;color:var(--red);border-color:#ffd6d9}
.tag-priority.tag-high{background:#fff7ed;color:#c05621;border-color:#fed7aa}
.tag-due{background:#fffbeb;color:#a16207;border-color:#fde68a}

.profile-drawer{margin-bottom:18px;animation:drawerIn .18s ease}
.profile-drawer[hidden]{display:none}
@keyframes drawerIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.profile-drawer-inner{padding:0;overflow:hidden}
.profile-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:#fafbfe;border-bottom:1px solid var(--line)}
.profile-drawer-head h3{margin:0;font-size:16px}
.profile-drawer-head button{border:0;background:none;font-size:18px;color:var(--muted);cursor:pointer;line-height:1}
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.pf-item{background:#fff;padding:16px 22px}
.pf-item span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.pf-item strong{font-size:15px}
.profile-note{padding:14px 22px;margin:0;font-size:12px}

.customer-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:22px}
.customer-metrics article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.customer-metrics span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}
.customer-metrics strong{display:block;font-size:21px;font-weight:800}
.customer-metrics small{display:block;color:var(--muted);font-size:11px;margin-top:4px}

.customer-layout{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:22px;align-items:start}
.cp-main{display:grid;gap:22px;min-width:0}
.cp-sidebar{display:grid;gap:18px;align-content:start;position:sticky;top:20px}

.trend-range-quick{display:flex;gap:8px}
.range-btn{border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;font-weight:700;padding:7px 14px;border-radius:9px;cursor:pointer}
.range-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.trend-note{margin:10px 0 0;font-size:12px}

.alert-card-simplified .acs-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.alert-card-simplified .acs-rule{font-size:17px}
.alert-card-simplified .acs-status{color:var(--muted);font-size:13px;font-weight:700}
.alert-card-simplified .acs-reason{margin:0 0 14px;line-height:1.55;color:#3a4256}
.acs-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}
.acs-metric{background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.acs-metric span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.acs-metric strong{font-size:16px}
.acs-calc{margin:0 0 14px;font-size:12px}
.acs-evidence{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px}
.acs-evidence-summary{display:grid;gap:5px;margin-bottom:12px}
.acs-evidence-summary span{display:block;color:var(--muted);font-size:12px;font-weight:800}
.acs-evidence-summary strong{font-size:14px;line-height:1.55;color:#3a4256}
.acs-rule-logic{margin:0;font-size:13px;line-height:1.65;color:#4b5568;border-top:1px solid var(--line);padding-top:10px}
.acs-rule-logic span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:4px}
.acs-history{margin-top:12px}

.timeline-panel .timeline-count{color:var(--muted);font-size:13px;font-weight:700;background:#f2f4f8;padding:3px 10px;border-radius:999px}
.timeline{position:relative;margin-top:8px}
.timeline::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line)}
.timeline-item{display:grid;grid-template-columns:14px 1fr;gap:16px;padding-bottom:18px;position:relative}
.timeline-item:last-child{padding-bottom:0}
.timeline-dot{width:14px;height:14px;border-radius:50%;margin-top:2px;background:var(--muted);box-shadow:0 0 0 3px #fff;border:2px solid var(--line);z-index:1}
.ti-alert{background:var(--red);border-color:var(--red)}
.ti-task{background:var(--blue);border-color:var(--blue)}
.ti-feedback{background:var(--green);border-color:var(--green)}
.ti-audio{background:#9333ea;border-color:#9333ea}
.ti-comment{background:#0ea5e9;border-color:#0ea5e9}
.timeline-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.tl-time{color:var(--muted);font-size:12px;font-weight:700}
.tl-summary{margin:0;line-height:1.5;font-size:14px}
.tl-detail{margin:4px 0 0;font-size:12px}
.tag-type.tag-alert{background:#fff0f1;color:var(--red);border-color:#ffd6d9}
.tag-type.tag-task{background:#eef3ff;color:var(--blue);border-color:#c9d8ff}
.tag-type.tag-feedback{background:#ecfdf5;color:var(--green);border-color:#a7f3d0}
.tag-type.tag-audio{background:#f5f0ff;color:#9333ea;border-color:#e9d5ff}
.tag-type.tag-comment{background:#e0f2fe;color:#0ea5e9;border-color:#bae6fd}
.timeline-empty{padding:8px 0}

.sidebar-panel{padding:18px}
.sidebar-panel h3{margin:0 0 12px;font-size:16px;display:flex;align-items:center;gap:8px}
.sp-count{background:#f2f4f8;color:var(--muted);font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px}
.sp-desc{font-size:12px;margin:-4px 0 12px}
.sidebar-empty{font-size:13px;line-height:1.6}

.task-card{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;background:#fff}
.task-card:last-child{margin-bottom:0}
.task-card.tc-active{border-color:#b8c7ed;background:#fbfdff}
.tc-head{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.tc-title{display:block;font-size:15px;margin-bottom:10px}
.tc-section{margin-bottom:8px}
.tc-label{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:3px}
.tc-section p{margin:0;font-size:13px;line-height:1.5;color:#3a4256}
.tc-actions{margin-top:10px}

.fb-item{border-top:1px solid var(--line);padding:12px 0;font-size:13px;line-height:1.5}
.fb-item:first-of-type{border-top:0;padding-top:0}
.fb-item p{margin:0 0 4px}
.fb-foot{margin:6px 0 0;font-size:11px}

.audio-upload-zone{margin:0}
.upload-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:2px dashed var(--line);border-radius:14px;padding:24px 16px;margin-bottom:14px;cursor:pointer;transition:.15s;text-align:center}
.upload-drop:hover{border-color:#b8c7ed;background:var(--blue-soft)}
.upload-drop input[type=file]{display:none}
.upload-icon{font-size:26px;color:var(--blue);font-weight:800;line-height:1}
.upload-text{font-weight:800;font-size:14px}
.upload-drop small{color:var(--muted);font-size:11px}
.audio-item{border-top:1px solid var(--line);padding:12px 0}
.audio-item:first-of-type{border-top:0;padding-top:0}
.ai-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ai-name{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.ai-foot{margin:4px 0 0;font-size:11px}
.audio-fail{margin:8px 0 0;font-size:12px;color:#c05621;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:8px 10px;line-height:1.5}
.ai-wait{font-size:12px;margin:6px 0 0}
.ai-result{margin-top:8px;display:grid;gap:6px}
.ai-result p{margin:0;font-size:12px;line-height:1.5}
.ai-result span{display:inline-block;color:var(--muted);font-weight:800;min-width:64px;margin-right:6px}
.tag-audio.tag-uploaded{background:#fff7ed;color:#c05621;border-color:#fed7aa}
.tag-audio.tag-parsing{background:#eff6ff;color:#225be2;border-color:#bfdbfe}
.tag-audio.tag-parsed{background:#ecfdf5;color:#08795b;border-color:#a7f3d0}
.tag-audio.tag-failed{background:#fff0f1;color:var(--red);border-color:#ffd6d9}

@media(max-width:1100px){
  .customer-layout{grid-template-columns:1fr}
  .cp-sidebar{position:static}
  .customer-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .customer-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp-name-row h1{font-size:24px}
  .profile-grid{grid-template-columns:repeat(2,1fr)}
  .acs-metrics{grid-template-columns:repeat(2,1fr)}
}

/* T3 新增样式：客户页骨架及 Tabs */
.cp-tabs {
  display: flex;
  gap: 30px;
  border-bottom: 2px solid var(--line);
  margin-bottom: 24px;
}
.cp-tab {
  background: none;
  border: none;
  font-size: 16px;
  font-weight: 700;
  color: var(--muted);
  padding: 0 0 12px 0;
  cursor: pointer;
  position: relative;
  transition: color 0.15s;
}
.cp-tab:hover {
  color: var(--blue);
}
.cp-tab.active {
  color: var(--blue);
}
.cp-tab.active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 3px;
  background-color: var(--blue);
  border-radius: 3px 3px 0 0;
}
.cp-tab-panel {
  display: none;
  animation: fadeIn 0.3s ease;
}
.cp-tab-panel.active {
  display: block;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 窄屏防横滑处理 */
@media(max-width:900px){
  .cp-identity {
    position: sticky;
    left: 0;
    z-index: 10;
    background: var(--bg);
    padding-bottom: 10px;
  }
}

/* T7.5 Prototype Overrides */
:root {
  --proto-bg: #F9F7F1;
  --proto-border: #E8D5C4;
  --proto-navy: #0A192F;
  --proto-gold: #F2E3C6;
  --proto-red: #D32F2F;
  --proto-green: #2E7D32;
  --proto-blue: #005A9E;
}
body {
  background: var(--proto-bg);
}
/* Customer Identity Area */
.cp-identity-card {
  margin-bottom: 24px;
}
.cp-identity-card h1 {
  font-family: "Songti SC", "SimSun", serif;
  font-size: 32px;
  color: var(--proto-navy);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 16px;
}
.cp-profile-btn {
  border: 1px solid #D4C4B7;
  background: transparent;
  color: #6C5A49;
  font-size: 13px;
  padding: 4px 10px;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: inherit;
}
.cp-profile-btn:hover {
  background: rgba(212, 196, 183, 0.2);
}
.cp-meta-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  color: #5C544D;
  font-size: 14px;
}
.cp-meta-row > span {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cp-meta-row > span:not(:last-child)::after {
  content: "";
  display: block;
  width: 1px;
  height: 14px;
  background: #D4C4B7;
}
.cp-meta-value {
  color: var(--proto-navy);
  font-weight: 500;
}
.cp-meta-value.level-a {
  color: var(--proto-green);
  font-weight: bold;
}
/* Tabs */
.cp-proto-tabs {
  display: flex;
  gap: 32px;
  border-bottom: 1px solid var(--proto-border);
  margin-bottom: 24px;
}
.cp-proto-tab {
  background: transparent;
  border: none;
  font-size: 16px;
  color: #8C7B6B;
  padding: 12px 0;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
}
.cp-proto-tab.active {
  color: var(--proto-blue);
  font-weight: bold;
  border-bottom-color: var(--proto-blue);
}

/* Alert Box */
.proto-alert-box {
  background: #FDF8F3;
  border: 1px solid var(--proto-border);
  border-radius: 12px;
  padding: 24px;
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 24px;
}
.proto-alert-icon {
  width: 64px;
  height: 64px;
  background: #F4EBE1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #C05621;
}
.proto-alert-content {
  flex: 1;
}
.proto-alert-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 12px;
}
.proto-alert-title-sm {
  font-size: 15px;
  font-weight: bold;
  color: var(--proto-navy);
  margin-bottom: 8px;
}
.proto-alert-title-lg {
  font-family: "Songti SC", "SimSun", serif;
  font-size: 28px;
  color: var(--proto-red);
  margin: 0 0 12px 0;
}
.proto-alert-badges {
  display: flex;
  gap: 8px;
}
.proto-badge-urgent {
  background: var(--proto-red);
  color: white;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
}
.proto-badge-outline {
  border: 1px solid #D4C4B7;
  color: #8C7B6B;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
}
.proto-alert-link {
  color: var(--proto-blue);
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.proto-alert-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #5C544D;
}

/* 2-Col Grid for Chart and History */
.proto-mid-grid {
  display: grid;
  grid-template-columns: 6.5fr 3.5fr;
  gap: 24px;
  margin-bottom: 24px;
}
.proto-panel {
  background: white;
  border: 1px solid var(--proto-border);
  border-radius: 8px;
  padding: 20px;
}
.proto-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.proto-panel-title {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  color: var(--proto-navy);
}
.proto-ranges {
  display: flex;
  gap: 8px;
}
.proto-range-btn {
  border: 1px solid #D4C4B7;
  background: white;
  color: #8C7B6B;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
}
.proto-range-btn.active {
  background: var(--proto-navy);
  color: white;
  border-color: var(--proto-navy);
}

/* Trend Chart Overrides */
.trend-chart {
  background: linear-gradient(to bottom, rgba(34, 91, 226, 0.05), rgba(34, 91, 226, 0.01));
  border-bottom: 2px solid var(--proto-navy);
}
.trend-line { stroke: var(--proto-blue); }

/* Table for History */
.proto-history-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.proto-history-table th {
  text-align: left;
  padding: 10px 0;
  color: #8C7B6B;
  border-bottom: 1px solid var(--proto-border);
  font-weight: normal;
}
.proto-history-table td {
  padding: 12px 0;
  border-bottom: 1px solid #F0E6DD;
  color: #5C544D;
}
.proto-history-table tr:last-child td {
  border-bottom: none;
}
.proto-link-all {
  display: block;
  text-align: right;
  color: var(--proto-blue);
  font-size: 13px;
  margin-top: 12px;
}

/* 5 Metrics Row */
.proto-metrics-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}
.proto-metric-card {
  display: flex;
  align-items: center;
  gap: 16px;
}
.proto-metric-icon {
  width: 48px;
  height: 48px;
  border: 1px solid #D4C4B7;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8C7B6B;
  flex-shrink: 0;
}
.proto-metric-info span {
  display: block;
  color: #8C7B6B;
  font-size: 13px;
  margin-bottom: 4px;
}
.proto-metric-info strong {
  display: block;
  font-size: 28px;
  color: var(--proto-navy);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.1;
  margin-bottom: 4px;
}
.proto-metric-info small {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #8C7B6B;
}

/* B1 后台边界收敛：占位卡片与侧栏占位项（规划中，仅展示，不接入） */
.admin-function-grid > .panel-placeholder{display:flex;flex-direction:column;min-height:124px;opacity:.62;background:#fafbfe;border-style:dashed;cursor:default}
.admin-function-grid > .panel-placeholder b{font-size:17px}
.admin-function-grid > .panel-placeholder p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.admin-sidebar nav .admin-nav-placeholder{display:block;width:100%;padding:11px 10px;border-radius:8px;color:#7e8aa3;text-align:left;line-height:1.35;white-space:normal;overflow-wrap:anywhere;font-style:italic;cursor:default}

/* BU0 后台 UI 基座：客户资产管理后台真实导航与治理风格 */
.admin-body{
  grid-template-columns:310px minmax(0,1fr);
  background:
    radial-gradient(circle at 82% 4%,rgba(186,129,48,.13),transparent 30%),
    linear-gradient(135deg,#f4ecdd 0%,#fbf7ee 52%,#f1e6d4 100%);
}
.admin-sidebar{
  background:
    linear-gradient(180deg,rgba(0,58,65,.98),rgba(7,24,40,.98)),
    radial-gradient(circle at 24% 100%,rgba(186,129,48,.28),transparent 32%);
  padding:30px 20px 24px;
  color:#e4ece8;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.08);
}
.admin-brand{
  gap:7px;
  padding:0 12px 28px;
  border-bottom:1px solid rgba(228,236,232,.16);
}
.admin-brand b{
  color:#ffe5b1;
  font-family:"Songti SC","STSong","Noto Serif SC",serif;
  font-size:28px;
  letter-spacing:.08em;
}
.admin-brand span{
  color:rgba(255,230,188,.76);
  font-size:13px;
}
.admin-sidebar nav{
  gap:24px;
  padding-top:24px;
}
.admin-nav-group{
  gap:7px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(228,236,232,.14);
}
.admin-nav-title,
.admin-settings-group>summary.admin-nav-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 8px;
  padding:0 10px;
  color:rgba(235,240,235,.9);
  font-size:17px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:none;
  list-style:none;
  cursor:pointer;
}
.admin-settings-group>summary.admin-nav-title::-webkit-details-marker{display:none}
.admin-settings-group>summary.admin-nav-title:after{
  content:"⌄";
  color:rgba(235,240,235,.56);
  font-size:16px;
}
.admin-settings-group:not([open])>summary.admin-nav-title:after{
  transform:rotate(-90deg);
}
.admin-sidebar nav a,
.admin-sidebar-footer a,
.admin-sidebar-footer button,
.admin-sidebar nav .admin-nav-placeholder{
  min-height:48px;
  padding:12px 12px;
  border-radius:14px;
  color:rgba(232,239,237,.86);
  font-size:16px;
  font-weight:750;
  letter-spacing:.01em;
}
.admin-sidebar nav a:hover,
.admin-sidebar nav a.active{
  color:#fff7df;
  background:linear-gradient(90deg,rgba(186,129,48,.34),rgba(255,255,255,.08));
  box-shadow:inset 4px 0 0 #d6a153;
}
.admin-sidebar nav .admin-nav-placeholder{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:rgba(232,239,237,.38);
  font-style:normal;
  cursor:not-allowed;
}
.admin-sidebar nav .admin-nav-placeholder span{
  flex:0 0 auto;
  color:rgba(255,230,188,.58);
  font-size:12px;
  font-weight:800;
}
.admin-sidebar-footer{
  border-top:1px solid rgba(228,236,232,.16);
}
.admin-sidebar-footer .admin-nav-group{
  border-bottom:0;
  padding-bottom:6px;
}
.admin-sidebar-footer button.link-button{
  color:#ff9a86;
}
.admin-page{
  max-width:none;
  padding:44px max(32px,calc((100vw - 1480px)/2));
}
.admin-page .page-heading h1{
  color:#082f3b;
  font-family:"Songti SC","STSong","Noto Serif SC",serif;
  font-size:42px;
  letter-spacing:.03em;
}
.admin-page .eyebrow{
  color:#9a6724;
  letter-spacing:.14em;
}
.admin-page .panel{
  border-color:rgba(153,126,81,.24);
  background:linear-gradient(180deg,rgba(255,252,245,.9),rgba(251,246,235,.78));
  box-shadow:0 16px 42px rgba(51,39,22,.08);
}
.admin-page .primary{
  background:linear-gradient(135deg,#b67b28,#84551f);
  border-color:rgba(105,67,25,.3);
  box-shadow:0 12px 26px rgba(116,74,27,.18);
}
.admin-page .import-note{
  color:#163946;
  background:rgba(0,111,115,.08);
  border:1px solid rgba(0,111,115,.16);
}

/* B7 导入预检结果面板 */
.import-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.import-actions .primary:disabled,.import-actions .secondary:disabled{opacity:.5;cursor:not-allowed}
.secondary{background:#fff;color:var(--blue);border:1px solid var(--blue)}
.precheck-result{margin-top:18px;border:1px solid var(--line);border-radius:14px;padding:18px;background:#fbfcfe}
.precheck-result h4{margin:0 0 14px;font-size:17px}
.precheck-row{display:flex;gap:12px;padding:7px 0;border-bottom:1px solid #eef1f6;font-size:14px}
.precheck-label{color:var(--muted);min-width:120px;font-weight:700}
.precheck-value{word-break:break-all}
.precheck-block{margin-top:14px;border-radius:10px;padding:12px 14px}
.precheck-block.error-block{background:var(--red-soft)}
.precheck-block.warn-block{background:#fff7e6;border:1px solid #ffe0a3}
.precheck-block b{display:block;margin-bottom:8px}
.precheck-block ul{margin:0;padding-left:18px}
.precheck-block li{margin:4px 0;font-size:13px}
.precheck-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:13px}
.precheck-table th,.precheck-table td{border:1px solid #e3e8f0;padding:7px 9px;text-align:left;vertical-align:top}
.precheck-table th{background:#f2f5fb;font-weight:700}
.warn-message{color:#b4690e;font-weight:700;margin:8px 0 0}
.error-message{color:var(--red);font-weight:700;margin:8px 0 0}


/* ====== B8 导入记录 UI 样式 ====== */
.b8-import-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.b8-import-table th, .b8-import-table td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; }
.b8-import-table th { color: var(--muted); font-weight: 700; white-space: nowrap; }
.b8-import-table tbody tr:hover { background: #fafbfe; }

.b8-row-table th { background: #f7f9fc; position: sticky; top: 0; box-shadow: 0 1px 0 var(--line); }

.b8-type-badge { display: inline-block; padding: 3px 8px; border-radius: 4px; font-size: 12px; font-weight: 700; }
.b8-type-daily { background: #e6f7ff; color: #1890ff; }
.b8-type-master { background: #f9f0ff; color: #722ed1; }

.b8-status { display: inline-block; padding: 3px 8px; border-radius: 99px; font-size: 12px; font-weight: 700; }
.b8-status-pending, .b8-status-processing { background: #fffbe6; color: #faad14; }
.b8-status-success { background: #eaf8f3; color: var(--green); }
.b8-status-failed { background: var(--red-soft); color: var(--red); }
.b8-status-partial_failed { background: #fff0f6; color: #eb2f96; }

.b8-num { font-family: monospace; font-size: 14px; font-weight: 600; }
.b8-num-success { color: var(--green); }
.b8-num-skip { color: #8c8c8c; }
.b8-num-fail { color: var(--red); }

.b8-badge { display: inline-block; padding: 2px 6px; border-radius: 4px; font-size: 12px; border: 1px solid transparent; margin-right: 4px; }
.b8-badge-saved { background: #f6ffed; border-color: #b7eb8f; color: #52c41a; }
.b8-badge-sensitive { background: #fff1f0; border-color: #ffa39e; color: #f5222d; }
.b8-badge-date { background: #f0f5ff; border-color: #adc6ff; color: #2f54eb; font-family: monospace; }

.b8-small-btn { display: inline-block; padding: 4px 10px; border: 1px solid var(--border); border-radius: 4px; background: #fff; cursor: pointer; font-size: 12px; font-weight: 600; transition: .15s; }
.b8-small-btn:hover { border-color: var(--blue); color: var(--blue); }
.b8-small-btn-primary { background: var(--blue); color: #fff; border-color: var(--blue); }
.b8-small-btn-primary:hover { background: #1565c0; color: #fff; border-color: #1565c0; }
.b8-small-btn-sensitive { border-color: #d9d9d9; color: #595959; }
.b8-small-btn-sensitive:hover { border-color: #f5222d; color: #f5222d; }

.b8-alert { padding: 12px 16px; border-radius: 6px; margin-bottom: 20px; font-size: 14px; border: 1px solid transparent; }
.b8-alert-sensitive { background: #fff1f0; border-color: #ffa39e; color: #cf1322; }

.b8-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; }
@media (max-width: 800px) { .b8-detail-grid { grid-template-columns: 1fr; } }

.b8-info-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.b8-info-table th { text-align: left; padding: 8px 12px 8px 0; color: var(--muted); font-weight: normal; width: 90px; }
.b8-info-table td { padding: 8px 0; }

.b8-tag { display: inline-block; padding: 2px 8px; border-radius: 4px; background: #f5f5f5; border: 1px solid #d9d9d9; font-size: 12px; color: #595959; }
.b8-tag-sensitive { background: #fff1f0; border-color: #ffa39e; color: #f5222d; }

.b8-stat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.b8-stat { background: #fafafa; border: 1px solid var(--line); border-radius: 6px; padding: 12px; }
.b8-stat-label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 4px; font-weight: 700; }
.b8-stat-val { display: block; font-size: 24px; font-weight: 700; }
.b8-stat-success .b8-stat-val { color: var(--green); }
.b8-stat-skip .b8-stat-val { color: #8c8c8c; }
.b8-stat-fail .b8-stat-val { color: var(--red); }
.b8-stat-fail { background: #fff0f1; border-color: #ffd6d9; }

.b8-error-summary { margin-top: 18px; border-left: 4px solid var(--red); background: #fffbfa; }

.b8-legend { display: inline-block; font-size: 12px; padding: 4px 10px; border-radius: 4px; font-weight: 600; }
.b8-legend-success { background: #eaf8f3; color: var(--green); }
.b8-legend-skipped { background: #f5f5f5; color: #595959; }
.b8-legend-conflict { background: #fffbe6; color: #d46b08; }
.b8-legend-unknown-pid { background: #fff0f6; color: #eb2f96; }
.b8-legend-failed { background: var(--red-soft); color: var(--red); }

.b8-row-badge { display: inline-block; font-size: 12px; padding: 2px 6px; border-radius: 4px; font-weight: 700; border: 1px solid transparent; }
.b8-row-success { background: #f6ffed; border-color: #b7eb8f; color: #389e0d; }
.b8-row-skipped { background: #f5f5f5; border-color: #d9d9d9; color: #595959; }
.b8-row-conflict { background: #fffbe6; border-color: #ffe58f; color: #d46b08; }
.b8-row-unknown-pid { background: #fff0f6; border-color: #ffadd2; color: #c41d7f; }
.b8-row-failed { background: #fff1f0; border-color: #ffa39e; color: #cf1322; }
.b8-row-pending { background: #e6f7ff; border-color: #91d5ff; color: #096dd9; }

.b8-sensitive-cell { font-family: monospace; font-size: 14px; }
.b8-masked { color: #bfbfbf; letter-spacing: 2px; }

/* B9：客户页详细日销表入口与明细页 */
.text-link-muted {
  display: inline-block;
  font-size: 13px;
  color: #8c8c8c;
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 4px;
}
.text-link-muted:hover { color: #1890ff; background: #f0f7ff; text-decoration: none; }

.pagination {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  font-size: 14px;
}
.pagination a {
  color: #1890ff;
  text-decoration: none;
  padding: 4px 10px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
}
.pagination a:hover { border-color: #1890ff; }

/* BU1：后台业务表格库首屏高保真样式 */
.admin-body {
  --bu-navy: #0c1728;
  --bu-navy-2: #101d32;
  --bu-ink: #102b37;
  --bu-ink-soft: #3c5157;
  --bu-muted: #78827e;
  --bu-paper: #f8f1e5;
  --bu-card: #fffaf1;
  --bu-card-2: #fbf4e7;
  --bu-gold: #d0a15e;
  --bu-gold-deep: #9a6a2f;
  --bu-line: rgba(140, 113, 72, .24);
  --bu-shadow: 0 20px 55px rgba(52, 38, 18, .10);
  grid-template-columns: 316px minmax(0, 1fr);
  background:
    radial-gradient(circle at 78% -4%, rgba(208, 161, 94, .20), transparent 32%),
    radial-gradient(circle at 8% 95%, rgba(9, 95, 103, .08), transparent 34%),
    linear-gradient(135deg, #f4ecdd 0%, #fbf7ef 48%, #f0e4d2 100%);
}

.admin-sidebar {
  background:
    linear-gradient(180deg, rgba(10, 20, 36, .99), rgba(8, 18, 33, .99) 56%, rgba(10, 29, 41, .99)),
    radial-gradient(circle at 24% 0%, rgba(208, 161, 94, .18), transparent 28%);
  padding: 28px 18px 24px;
  border-right: 1px solid rgba(255, 232, 192, .12);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, .05), 12px 0 34px rgba(12, 23, 40, .08);
}

.admin-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 10px 26px;
  border-bottom: 1px solid rgba(222, 232, 229, .14);
  text-decoration: none;
}

.admin-brand img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  filter: drop-shadow(0 8px 14px rgba(208, 161, 94, .16));
}

.admin-brand span {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.admin-brand span b {
  color: #ffe4ae;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: 27px;
  line-height: 1;
  letter-spacing: .08em;
}

.admin-brand span small {
  color: rgba(226, 236, 233, .68);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .08em;
}

.admin-sidebar nav {
  display: grid;
  gap: 22px;
  padding-top: 24px;
}

.admin-nav-group {
  display: grid;
  gap: 7px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(222, 232, 229, .12);
}

.admin-nav-title,
.admin-settings-group > summary.admin-nav-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 8px;
  padding: 0 12px;
  color: rgba(228, 236, 232, .84);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: none;
  list-style: none;
}

.admin-settings-group > summary.admin-nav-title {
  cursor: pointer;
}

.admin-settings-group > summary.admin-nav-title::-webkit-details-marker {
  display: none;
}

.admin-settings-group > summary.admin-nav-title::after {
  content: "⌄";
  color: rgba(228, 236, 232, .52);
  font-size: 15px;
  transition: transform .18s ease;
}

.admin-settings-group:not([open]) > summary.admin-nav-title::after {
  transform: rotate(-90deg);
}

.admin-sidebar nav a,
.admin-sidebar-footer a,
.admin-sidebar-footer button,
.admin-sidebar nav .admin-nav-placeholder {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 13px 14px;
  border-radius: 15px;
  color: rgba(226, 236, 233, .84);
  font-size: 19px;
  font-weight: 850;
  letter-spacing: .015em;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.admin-sidebar nav a:hover,
.admin-sidebar-footer a:hover {
  color: #fff7dd;
  background: rgba(255, 244, 218, .06);
  transform: translateX(2px);
}

.admin-sidebar nav a.active {
  color: #fff8e5;
  background:
    linear-gradient(90deg, rgba(208, 161, 94, .30), rgba(255, 255, 255, .07)),
    rgba(255, 255, 255, .04);
  box-shadow: inset 4px 0 0 var(--bu-gold), 0 10px 24px rgba(0, 0, 0, .14);
}

.admin-sidebar nav .admin-nav-placeholder {
  color: rgba(226, 236, 233, .38);
  cursor: not-allowed;
}

.admin-sidebar nav .admin-nav-placeholder span {
  flex: 0 0 auto;
  padding: 3px 7px;
  border: 1px solid rgba(208, 161, 94, .20);
  border-radius: 999px;
  color: rgba(255, 230, 188, .54);
  font-size: 11px;
  font-weight: 850;
}

.admin-sidebar-footer {
  border-top: 1px solid rgba(222, 232, 229, .14);
  padding-top: 18px;
}

.admin-sidebar-footer .admin-nav-group {
  border-bottom: 0;
  padding-bottom: 8px;
}

.admin-sidebar-footer button.link-button {
  color: #ff927f;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.admin-page {
  max-width: none;
  padding: 44px max(34px, calc((100vw - 1500px) / 2));
}

.business-library-page {
  max-width: 1420px;
  color: var(--bu-ink);
}

.bu-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 24px;
  align-items: end;
  margin-bottom: 26px;
}

.bu-hero h1 {
  margin: 7px 0 10px;
  color: #082f3b;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: 50px;
  line-height: 1.05;
  letter-spacing: .04em;
}

.bu-hero p,
.bu-section-head p {
  max-width: 860px;
  margin: 0;
  color: var(--bu-muted);
  font-size: 17px;
  line-height: 1.75;
  font-weight: 680;
}

.business-library-page .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--bu-gold-deep);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .18em;
}

.bu-hero-rule {
  justify-self: end;
  min-width: 230px;
  padding: 20px 22px;
  border: 1px solid rgba(208, 161, 94, .38);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 250, 239, .92), rgba(242, 224, 191, .42));
  box-shadow: var(--bu-shadow);
}

.bu-hero-rule span {
  display: block;
  color: var(--bu-muted);
  font-size: 13px;
  font-weight: 850;
}

.bu-hero-rule strong {
  display: block;
  margin-top: 6px;
  color: #11333d;
  font-size: 24px;
  letter-spacing: .04em;
}

.bu-entry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 22px;
}

.bu-entry-card,
.business-library-page .panel {
  border: 1px solid var(--bu-line);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 251, 243, .96), rgba(251, 244, 232, .86));
  box-shadow: var(--bu-shadow);
}

.bu-entry-card {
  position: relative;
  display: grid;
  gap: 16px;
  min-height: 260px;
  padding: 24px;
  overflow: hidden;
}

.bu-entry-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--bu-gold), rgba(8, 94, 104, .65));
  opacity: .74;
}

.bu-entry-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: rgba(208, 161, 94, .14);
  color: #8a5c24;
  font-size: 18px;
  font-weight: 950;
}

.bu-entry-card h2,
.bu-section-head h2 {
  margin: 0;
  color: #0a3541;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  letter-spacing: .03em;
}

.bu-entry-card h2 {
  font-size: 28px;
}

.bu-entry-card p {
  margin: 9px 0 0;
  color: var(--bu-ink-soft);
  font-size: 15px;
  line-height: 1.7;
  font-weight: 680;
}

.bu-entry-card small {
  align-self: end;
  color: var(--bu-muted);
  font-size: 13px;
  line-height: 1.6;
}

.bu-entry-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.bu-entry-actions a,
.business-library-page .primary,
.business-library-page .button,
.business-library-page .secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 13px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.business-library-page .primary,
.bu-entry-actions .primary {
  border: 1px solid rgba(111, 72, 25, .28);
  background: linear-gradient(135deg, #c08b42, #87591f);
  color: #fff8e8;
  box-shadow: 0 12px 25px rgba(128, 83, 30, .16);
}

.business-library-page .button,
.business-library-page .secondary,
.bu-entry-actions .button {
  border: 1px solid rgba(144, 113, 67, .26);
  background: rgba(255, 251, 243, .82);
  color: #17424a;
}

.business-library-page .panel {
  padding: 24px;
}

.bu-flow {
  margin-bottom: 22px;
}

.bu-section-head {
  margin-bottom: 18px;
}

.bu-section-head h2 {
  margin-top: 6px;
  font-size: 30px;
}

.bu-flow-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.bu-flow-steps span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  border: 1px solid rgba(208, 161, 94, .26);
  border-radius: 18px;
  background: rgba(255, 250, 240, .72);
  color: #173b43;
  font-size: 15px;
  font-weight: 900;
}

.bu-flow-steps span:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -9px;
  width: 6px;
  height: 6px;
  border-top: 2px solid rgba(154, 106, 47, .42);
  border-right: 2px solid rgba(154, 106, 47, .42);
  transform: rotate(45deg);
}

.bu-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) 380px;
  gap: 22px;
  align-items: start;
}

.bu-import-panel {
  min-height: 390px;
}

.business-library-page .stack-form {
  display: grid;
  gap: 15px;
}

.business-library-page label {
  display: grid;
  gap: 8px;
  color: #273b44;
  font-weight: 850;
}

.business-library-page input[type="file"],
.business-library-page select,
.business-library-page input[type="text"],
.business-library-page textarea {
  border: 1px solid rgba(120, 130, 126, .24);
  border-radius: 14px;
  background: rgba(255, 255, 255, .76);
  color: #122d38;
  padding: 13px 14px;
}

.business-library-page .muted {
  color: var(--bu-muted);
  font-size: 14px;
  line-height: 1.7;
}

.bu-risk-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bu-risk-list li {
  display: grid;
  gap: 5px;
  padding: 15px 16px;
  border: 1px solid rgba(208, 161, 94, .20);
  border-radius: 17px;
  background: rgba(255, 251, 243, .72);
}

.bu-risk-list b {
  color: #0b3d48;
  font-size: 16px;
}

.bu-risk-list span {
  color: var(--bu-muted);
  font-size: 13px;
  line-height: 1.6;
}

.bu-history-panel,
.bu-supplemental-panel {
  margin-top: 22px;
}

.bu-import-list {
  display: grid;
  gap: 10px;
}

.bu-import-row {
  display: grid;
  grid-template-columns: 150px 120px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(140, 113, 72, .18);
  border-radius: 16px;
  background: rgba(255, 252, 246, .72);
}

.bu-import-row b {
  color: #123844;
}

.bu-import-row span {
  color: #8a5c24;
  font-weight: 850;
}

.bu-import-row small {
  color: var(--bu-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .bu-entry-grid,
  .bu-main-grid {
    grid-template-columns: 1fr;
  }
  .bu-hero {
    grid-template-columns: 1fr;
  }
  .bu-hero-rule {
    justify-self: stretch;
  }
  .bu-flow-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .admin-body {
    display: block;
  }
  .admin-sidebar {
    position: static;
    height: auto;
  }
  .admin-page {
    padding: 26px 14px;
  }
  .bu-hero h1 {
    font-size: 38px;
  }
  .bu-import-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* BU3：按高保真原型收口后台首屏与左栏比例 */
.admin-body { grid-template-columns: 286px minmax(0, 1fr); }
.admin-sidebar { padding: 30px 18px 22px; }
.admin-brand { gap: 13px; padding: 2px 8px 25px; }
.admin-brand img { width: 45px; height: 45px; object-fit: contain; }
.admin-brand span b { font-size: 25px; letter-spacing: .10em; }
.admin-brand span small { font-size: 11px; letter-spacing: .10em; }
.admin-sidebar nav { gap: 17px; padding-top: 22px; }
.admin-nav-group { gap: 3px; padding-bottom: 18px; }
.admin-sidebar-footer { margin-top: 0; }
.admin-nav-title,
.admin-settings-group > summary.admin-nav-title {
  margin-bottom: 7px;
  padding: 0 10px;
  color: rgba(228, 236, 232, .76);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 15px;
  font-weight: 720;
  letter-spacing: .07em;
}
.admin-sidebar nav a,
.admin-sidebar-footer a,
.admin-sidebar-footer button,
.admin-sidebar nav .admin-nav-placeholder {
  min-height: 44px;
  padding: 9px 12px;
  border-radius: 11px;
  color: rgba(226, 236, 233, .82);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 16px;
  font-weight: 650;
  letter-spacing: .02em;
}
.admin-sidebar nav a.active {
  color: #fff8e5;
  background: linear-gradient(90deg, rgba(208, 161, 94, .34), rgba(255, 255, 255, .07));
  box-shadow: inset 3px 0 0 var(--bu-gold), 0 8px 18px rgba(0, 0, 0, .12);
}
.admin-sidebar nav .admin-nav-placeholder span { padding: 2px 6px; font-size: 10px; }
.admin-page { padding: 48px clamp(30px, 5vw, 78px) 72px; }
.business-library-page { max-width: 1260px; }
.bu-hero { grid-template-columns: 1fr auto; align-items: center; margin-bottom: 24px; }
.bu-hero h1 { margin: 0; font-size: clamp(40px, 4vw, 56px); letter-spacing: .07em; }
.bu-hero-rule { min-width: 190px; padding: 17px 20px; border-radius: 17px; box-shadow: 0 14px 34px rgba(52, 38, 18, .08); }
.bu-hero-rule strong { font-size: 18px; }
.bu-flow { margin-bottom: 22px; padding: 20px 24px 18px; border-radius: 19px; }
.bu-flow .bu-section-head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 14px; }
.bu-flow .bu-section-head h2 { font-size: 21px; }
.bu-flow-steps { padding: 0; }
.bu-main-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.bu-main-grid > .panel { min-height: 392px; padding: 26px; border-radius: 22px; }
.bu-master-panel { background: linear-gradient(145deg, rgba(255, 250, 240, .96), rgba(244, 231, 207, .74)); border-top: 3px solid rgba(208, 161, 94, .78); }
.bu-daily-panel { background: linear-gradient(145deg, rgba(255, 251, 243, .97), rgba(229, 240, 236, .70)); border-top: 3px solid rgba(0, 111, 115, .58); }
.bu-card-kicker { margin-bottom: 15px; color: var(--bu-gold-deep); font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 12px; font-weight: 850; letter-spacing: .13em; }
.bu-daily-panel .bu-card-kicker { color: var(--teal); }
.bu-main-grid .bu-section-head h2 { font-size: 31px; letter-spacing: .04em; }
.bu-main-grid .bu-section-head p { margin-top: 9px; font-size: 14px; font-weight: 620; }
.bu-master-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 34px 0 28px; }
.bu-master-facts span { padding: 8px 10px; color: var(--bu-ink-soft); border: 1px solid rgba(154, 106, 47, .19); border-radius: 999px; background: rgba(255, 252, 245, .58); font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 12px; font-weight: 700; }
.bu-card-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; }
.bu-card-actions .primary, .bu-card-actions .secondary { text-decoration: none; }
.bu-card-footnote { display: block; margin-top: 18px; color: var(--bu-muted); font-size: 12px; line-height: 1.6; }
.bu-daily-panel .stack-form { display: flex; flex-direction: column; min-height: 255px; }
.bu-daily-panel label { margin-top: 24px; }
.bu-daily-panel .import-actions { margin-top: auto; }
.bu-history-panel { margin-top: 22px; padding: 24px 26px; border-radius: 22px; }
.bu-history-panel .bu-section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.bu-history-panel .bu-section-head h2 { margin-top: 5px; font-size: 25px; }
.bu-history-panel .text-btn { color: var(--teal); text-decoration: none; font-weight: 780; }
.conflict-selection { display: grid; gap: 9px; margin-top: 14px; padding-top: 14px; border-top: 1px dashed rgba(154, 106, 47, .30); }
.conflict-selection-title { color: var(--bu-ink); font-size: 13px; font-weight: 850; }
.conflict-choice { display: flex !important; align-items: flex-start; gap: 9px; margin: 0 !important; padding: 10px 12px; border: 1px solid rgba(154, 106, 47, .18); border-radius: 12px; background: rgba(255, 252, 245, .70); cursor: pointer; }
.conflict-choice.selected { border-color: rgba(154, 106, 47, .56); background: rgba(243, 223, 184, .48); }
.conflict-choice input { width: auto !important; margin-top: 4px; }
.conflict-choice span { display: grid; gap: 3px; }
.conflict-choice strong { color: var(--bu-ink); font-size: 13px; }
.conflict-choice small { color: var(--bu-muted); font-size: 11px; line-height: 1.55; }
.bu-supplemental-panel { display: none; }
@media (max-width: 900px) { .bu-main-grid { grid-template-columns: 1fr; } }

/* 客户总表只读数字表格：作为业务表格库的受控查看入口。 */
.master-view-page { max-width: 1480px; }
.master-view-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 26px;
}
.master-view-hero h1 {
  margin: 8px 0 10px;
  color: var(--bu-ink);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(38px, 4vw, 54px);
  letter-spacing: .06em;
}
.master-view-hero p { max-width: 640px; margin: 0; color: var(--bu-muted); font-size: 14px; line-height: 1.7; }
.master-view-hero .secondary { flex: 0 0 auto; text-decoration: none; }
.master-view-panel { padding: 0; overflow: hidden; }
.master-search { display: flex; align-items: end; gap: 12px; padding: 20px 26px 18px; border-bottom: 1px solid var(--bu-line); }
.master-search label { display: grid; gap: 7px; color: var(--bu-ink-soft); font-size: 12px; font-weight: 800; }
.master-search input { width: min(360px, 42vw); min-height: 42px; padding: 10px 13px; border: 1px solid rgba(140, 113, 72, .28); border-radius: 10px; background: rgba(255,255,255,.62); color: var(--bu-ink); font: inherit; }
.master-search input:focus { outline: 2px solid rgba(188, 145, 76, .34); outline-offset: 2px; }
.master-search .secondary { min-height: 42px; }
.master-view-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 26px;
  border-bottom: 1px solid var(--bu-line);
  background: rgba(255, 250, 241, .62);
}
.master-view-toolbar > div { display: flex; align-items: baseline; gap: 14px; }
.master-view-toolbar strong { color: var(--bu-ink); font-size: 18px; }
.master-view-toolbar span, .master-view-toolbar small { color: var(--bu-muted); font-size: 12px; }
.master-table-wrap { overflow-x: auto; }
.master-table { width: 100%; min-width: 2600px; border-collapse: collapse; color: var(--bu-ink-soft); font-size: 13px; }
.master-table th, .master-table td { padding: 14px 16px; border-bottom: 1px solid rgba(140, 113, 72, .14); text-align: left; white-space: nowrap; }
.master-table th { color: var(--bu-gold-deep); background: rgba(243, 229, 204, .42); font-size: 12px; font-weight: 850; letter-spacing: .04em; }
.master-table tbody tr:hover { background: rgba(245, 236, 220, .46); }
.master-pid { color: var(--bu-ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 800; }
.master-name { color: var(--bu-ink); font-weight: 750; }
.master-level { display: inline-flex; min-width: 30px; justify-content: center; padding: 4px 8px; border-radius: 999px; font-weight: 850; }
.master-level-ka { color: #8d5a19; background: rgba(219, 176, 98, .28); }
.master-level-s { color: #8d5a19; background: rgba(219, 176, 98, .20); }
.master-level-a { color: #0b6d72; background: rgba(0, 111, 115, .11); }
.master-level-b, .master-level-c { color: var(--bu-ink-soft); background: rgba(120, 130, 126, .12); }
.master-empty { padding: 48px 16px !important; color: var(--bu-muted); text-align: center !important; }
.master-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 18px; color: var(--bu-muted); font-size: 13px; }
.master-pagination a { color: var(--teal); text-decoration: none; font-weight: 800; }

/* BU4：紧急 / 重要是规则后台的两条核心主线，不能退化成普通小标题。 */
.active-rule-columns { gap: 20px; align-items: stretch; }
.rule-priority-group {
  position: relative;
  overflow: hidden;
  margin-top: 0;
  padding: 24px 24px 12px;
  border: 1px solid rgba(140, 113, 72, .18);
  border-radius: 22px;
  background: rgba(255, 252, 246, .64);
}
.rule-priority-group::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; }
.rule-priority-urgent { background: linear-gradient(145deg, rgba(255, 246, 240, .92), rgba(255, 252, 246, .64)); }
.rule-priority-urgent::before { background: #c75b3c; }
.rule-priority-important { background: linear-gradient(145deg, rgba(255, 249, 229, .94), rgba(255, 252, 246, .64)); }
.rule-priority-important::before { background: #c18b31; }
.rule-priority-heading { display: flex; align-items: baseline; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid rgba(140, 113, 72, .16); }
.rule-priority-heading h4 { margin: 0; color: var(--bu-ink); font-family: "Songti SC", "STSong", "Noto Serif SC", serif; font-size: 30px; letter-spacing: .08em; }
.rule-priority-heading span { color: var(--bu-muted); font-size: 13px; font-weight: 750; }
.rule-priority-heading b { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; margin-left: auto; border-radius: 999px; color: var(--bu-ink); background: rgba(255,255,255,.72); font-size: 14px; }
.rule-priority-group .batch { padding: 17px 0; }
.rule-priority-group .batch b { color: var(--bu-ink); font-size: 16px; }
.rule-priority-group .batch span { color: var(--bu-muted); font-size: 12px; }
.rule-priority-group .batch small { line-height: 1.55; }
@media (max-width: 900px) {
  .master-view-hero { align-items: flex-start; flex-direction: column; }
  .master-view-toolbar { align-items: flex-start; flex-direction: column; }
}

/* BU5：后台按钮与用户权限页收口 */
.admin-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 12px;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: .03em;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.admin-action-btn:hover {
  transform: translateY(-1px);
}

.admin-action-btn-primary {
  border: 1px solid rgba(108, 69, 22, .32);
  background:
    linear-gradient(135deg, rgba(206, 157, 82, .98), rgba(132, 85, 31, .98)),
    #b9823e;
  color: #fff8e8;
  box-shadow: 0 14px 28px rgba(128, 83, 30, .18);
}

.admin-action-btn-primary:hover {
  box-shadow: 0 18px 34px rgba(128, 83, 30, .24);
}

.admin-action-btn-ghost {
  border: 1px solid rgba(140, 113, 72, .26);
  background:
    linear-gradient(180deg, rgba(255, 252, 245, .86), rgba(247, 238, 222, .68));
  color: #17424a;
  box-shadow: 0 12px 26px rgba(52, 38, 18, .07);
}

.admin-action-btn-ghost:hover {
  border-color: rgba(188, 145, 76, .48);
  background:
    linear-gradient(180deg, rgba(255, 252, 245, .96), rgba(243, 229, 204, .78));
}

.master-return-btn::before {
  content: "←";
  font-size: 15px;
  line-height: 1;
}

.master-search-button {
  min-width: 92px;
}

.master-search .text-btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--bu-muted);
  font-size: 13px;
  font-weight: 760;
  text-decoration: none;
}

.user-permission-page {
  max-width: 1420px;
  color: var(--bu-ink);
}

.user-permission-heading {
  align-items: center;
  margin-bottom: 22px;
}

.user-permission-heading h1 {
  margin: 8px 0 10px;
  color: var(--bu-ink);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(38px, 4vw, 54px);
  letter-spacing: .06em;
}

.user-permission-heading p {
  max-width: 820px;
  color: var(--bu-muted);
  font-size: 14px;
  line-height: 1.75;
  font-weight: 650;
}

.permission-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.permission-summary-grid article {
  padding: 20px 22px;
  border: 1px solid rgba(140, 113, 72, .18);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255, 251, 243, .92), rgba(244, 231, 207, .58));
  box-shadow: 0 14px 34px rgba(52, 38, 18, .06);
}

.permission-summary-grid span {
  display: block;
  color: var(--bu-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
}

.permission-summary-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--bu-ink);
  font-size: 30px;
  line-height: 1;
}

.user-permission-panel {
  padding: 0;
  overflow: hidden;
  border-radius: 22px;
}

.permission-table {
  overflow-x: auto;
}

.permission-row {
  display: grid;
  grid-template-columns: 1.05fr .9fr .95fr 1fr 2.15fr 1.1fr .8fr .55fr;
  gap: 14px;
  align-items: center;
  min-width: 1280px;
  padding: 18px 24px;
  border-top: 1px solid rgba(140, 113, 72, .13);
}

.permission-row:first-child {
  border-top: 0;
}

.permission-head {
  background: rgba(243, 229, 204, .42);
  color: var(--bu-gold-deep);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
}

.permission-row:not(.permission-head):hover {
  background: rgba(255, 250, 241, .54);
}

.permission-row b {
  color: var(--bu-ink);
  font-size: 15px;
}

.permission-row span {
  color: var(--bu-ink-soft);
  font-size: 13px;
  font-weight: 650;
}

.permission-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.permission-tags em,
.permission-tags small,
.permission-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-style: normal;
  font-weight: 820;
}

.permission-tags em {
  border: 1px solid rgba(0, 111, 115, .16);
  background: rgba(229, 240, 236, .72);
  color: #0a6068;
}

.permission-tags small {
  border: 1px solid rgba(120, 130, 126, .13);
  background: rgba(120, 130, 126, .08);
  color: var(--bu-muted);
}

.permission-tags-sensitive em {
  border-color: rgba(188, 145, 76, .27);
  background: rgba(243, 229, 204, .62);
  color: #7e5421;
}

.permission-status {
  justify-content: center;
  border: 1px solid rgba(120, 130, 126, .16);
}

.permission-status.on {
  color: #0a6068;
  background: rgba(229, 240, 236, .72);
}

.permission-status.off {
  color: #9b4b3b;
  background: rgba(255, 236, 229, .72);
}

.permission-edit-link {
  color: var(--teal);
  font-size: 13px;
  font-weight: 880;
  text-decoration: none;
}

.permission-form-panel {
  max-width: 920px;
  padding: 0;
  overflow: hidden;
  border-radius: 22px;
}

.permission-form {
  display: grid;
  gap: 0;
}

.permission-form-section {
  display: grid;
  gap: 15px;
  padding: 24px 28px;
  border-top: 1px solid rgba(140, 113, 72, .13);
}

.permission-form-section:first-child {
  border-top: 0;
}

.permission-form-section h2 {
  margin: 0 0 2px;
  color: var(--bu-ink);
  font-size: 18px;
}

.permission-form label {
  display: grid;
  gap: 8px;
  color: var(--bu-ink-soft);
  font-size: 13px;
  font-weight: 820;
}

.permission-form input,
.permission-form select {
  min-height: 44px;
  border: 1px solid rgba(140, 113, 72, .22);
  border-radius: 12px;
  background: rgba(255, 255, 255, .72);
  color: var(--bu-ink);
}

.permission-check-line {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(140, 113, 72, .15);
  border-radius: 14px;
  background: rgba(255, 250, 241, .52);
}

.permission-check-line input {
  width: auto;
  min-height: auto;
}

.permission-sensitive-section {
  background: rgba(255, 248, 235, .46);
}

.permission-form-note {
  margin: 0;
  color: var(--bu-muted);
  font-size: 12px;
  line-height: 1.7;
}

.permission-form > .admin-action-btn {
  justify-self: start;
  margin: 24px 28px 28px;
}

@media (max-width: 900px) {
  .user-permission-heading { align-items: flex-start; flex-direction: column; }
  .permission-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* B15-UI：组织与权限，按当前后端能力落地。主体是权限配置，不做驾驶舱。 */
.org-permission-page {
  max-width: 1460px;
  color: var(--bu-ink);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.org-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

.org-page-head h1 {
  margin: 8px 0 10px;
  color: var(--bu-ink);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(38px, 4vw, 54px);
  letter-spacing: .06em;
}

.org-page-head p {
  max-width: 860px;
  margin: 0;
  color: var(--bu-muted);
  font-size: 14px;
  line-height: 1.75;
  font-weight: 650;
}

.org-page-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.org-principle-card {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
  padding: 18px 22px;
  border: 1px solid rgba(140, 113, 72, .18);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 251, 243, .92), rgba(244, 231, 207, .54));
  box-shadow: 0 14px 34px rgba(52, 38, 18, .05);
}

.org-principle-card b {
  flex: 0 0 auto;
  color: var(--bu-ink);
  font-size: 16px;
}

.org-principle-card span {
  color: var(--bu-muted);
  font-size: 13px;
  line-height: 1.7;
  font-weight: 680;
}

.org-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.org-summary-grid article {
  padding: 18px 20px;
  border: 1px solid rgba(140, 113, 72, .16);
  border-radius: 18px;
  background: rgba(255, 252, 246, .72);
}

.org-summary-grid span {
  display: block;
  color: var(--bu-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
}

.org-summary-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--bu-ink);
  font-size: 30px;
  line-height: 1;
}

.org-workspace {
  display: grid;
  grid-template-columns: 430px minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}

.org-workspace-list-only {
  grid-template-columns: 1fr;
}

.org-people-panel,
.org-config-placeholder,
.org-config-card,
.org-save-bar,
.org-legacy-panel {
  border: 1px solid rgba(140, 113, 72, .18);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255, 253, 248, .96), rgba(248, 239, 223, .58));
  box-shadow: 0 18px 40px rgba(52, 38, 18, .06);
}

.org-people-panel {
  padding: 24px;
}

.org-panel-title h2,
.org-section-head h2,
.org-config-placeholder h2 {
  margin: 0 0 8px;
  color: var(--bu-ink);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: 30px;
  letter-spacing: .05em;
}

.org-panel-title p,
.org-section-head p,
.org-config-placeholder p {
  margin: 0;
  color: var(--bu-muted);
  font-size: 13px;
  line-height: 1.7;
  font-weight: 650;
}

.org-search-box {
  margin-top: 18px;
  padding: 13px 15px;
  border: 1px solid rgba(140, 113, 72, .18);
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
  color: var(--bu-muted);
  font-size: 13px;
  font-weight: 700;
}

.org-filter-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 14px 0 16px;
}

.org-filter-pills span,
.org-person-tags span,
.org-legacy-list em {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 10px;
  border: 1px solid rgba(140, 113, 72, .16);
  border-radius: 999px;
  background: rgba(243, 229, 204, .42);
  color: var(--bu-ink-soft);
  font-size: 12px;
  font-style: normal;
  font-weight: 820;
}

.org-person-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.org-person-card {
  position: relative;
  display: grid;
  gap: 9px;
  padding: 16px;
  border: 1px solid rgba(140, 113, 72, .16);
  border-radius: 18px;
  background: rgba(255, 255, 255, .58);
  color: inherit;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.org-person-card:hover {
  transform: translateY(-2px);
  border-color: rgba(188, 145, 76, .42);
  background: rgba(255, 251, 243, .88);
  box-shadow: 0 14px 34px rgba(41, 32, 18, .08);
}

.org-person-card-disabled {
  opacity: .78;
}

.org-person-card.is-active {
  border-color: rgba(188, 145, 76, .36);
  background: rgba(255, 251, 243, .82);
}

.org-person-card b {
  color: var(--bu-ink);
  font-size: 17px;
}

.org-person-card small,
.org-person-card p {
  margin: 0;
  color: var(--bu-muted);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 650;
}

.org-person-card em {
  position: absolute;
  top: 16px;
  right: 16px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}

.state-on { color: #0a6068; background: rgba(229, 240, 236, .86); }
.state-off { color: #9b4b3b; background: rgba(255, 236, 229, .86); }
.state-pending { color: #7e5421; background: rgba(243, 229, 204, .72); }

.org-person-tags {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}

.org-person-tags .sensitive {
  border-color: rgba(185, 91, 61, .24);
  background: rgba(255, 236, 229, .72);
  color: #9b4b3b;
}

.org-card-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 2px;
}

.org-card-action,
.org-legacy-list a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(0, 77, 86, .18);
  border-radius: 10px;
  background: rgba(255, 255, 255, .66);
  color: var(--teal);
  font-size: 13px;
  font-weight: 880;
  text-decoration: none;
}

.org-card-action-muted {
  border-color: rgba(188, 145, 76, .22);
  color: #8a5a17;
}

.org-card-action-disabled {
  border-color: rgba(140, 113, 72, .12);
  color: var(--bu-muted);
  cursor: not-allowed;
}

.org-empty {
  color: var(--bu-muted);
  font-size: 13px;
}

.org-config-placeholder {
  display: grid;
  align-content: start;
  gap: 22px;
  min-height: 650px;
  padding: 40px;
}

.org-config-placeholder span {
  color: var(--bu-gold-deep);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

.org-config-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.org-config-preview section {
  padding: 18px;
  border: 1px solid rgba(140, 113, 72, .15);
  border-radius: 18px;
  background: rgba(255, 255, 255, .62);
}

.org-config-preview b,
.org-segment-card h3 {
  display: block;
  color: var(--bu-ink);
  font-size: 17px;
}

.org-config-preview small {
  display: block;
  margin-top: 8px;
  color: var(--bu-muted);
  font-size: 12px;
  line-height: 1.6;
}

.org-config-todo,
.org-config-rules {
  padding: 20px;
  border: 1px solid rgba(140, 113, 72, .15);
  border-radius: 20px;
  background: rgba(255, 255, 255, .58);
}

.org-config-todo h3,
.org-config-rules h3 {
  margin: 0 0 14px;
  color: var(--bu-ink);
  font-size: 17px;
}

.org-config-todo div {
  display: grid;
  gap: 10px;
}

.org-config-todo a {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(140, 113, 72, .12);
  border-radius: 14px;
  background: rgba(255, 250, 241, .56);
  color: var(--bu-ink);
  text-decoration: none;
}

.org-config-todo a:hover {
  border-color: rgba(188, 145, 76, .34);
  background: rgba(255, 246, 231, .82);
}

.org-config-todo span,
.org-config-rules p {
  margin: 0;
  color: var(--bu-muted);
  font-size: 12px;
  line-height: 1.65;
  font-weight: 650;
}

.org-legacy-panel {
  margin-top: 22px;
  padding: 18px 22px;
}

.org-legacy-panel summary {
  cursor: pointer;
  color: var(--bu-ink);
  font-weight: 900;
}

.org-legacy-panel p {
  color: var(--bu-muted);
  font-size: 13px;
}

.org-legacy-list {
  display: grid;
  gap: 10px;
}

.org-legacy-list div {
  display: grid;
  grid-template-columns: 1fr 1.4fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid rgba(140, 113, 72, .12);
}

.org-config-form {
  display: grid;
  gap: 20px;
}

.org-config-card {
  padding: 26px 30px;
}

.org-section-head {
  margin-bottom: 18px;
}

.org-basic-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.org-secondary-grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}

.org-account-advanced {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(140, 113, 72, .14);
}

.org-account-advanced summary {
  cursor: pointer;
  width: fit-content;
  color: var(--bu-gold-deep);
  font-size: 13px;
  font-weight: 900;
}

.org-basic-grid label,
.org-secondary-grid label {
  display: grid;
  gap: 8px;
  color: var(--bu-ink-soft);
  font-size: 13px;
  font-weight: 850;
}

.org-basic-grid select,
.org-basic-grid input,
.org-secondary-grid select,
.org-secondary-grid input {
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(140, 113, 72, .22);
  border-radius: 13px;
  background: rgba(255, 255, 255, .78);
  color: var(--bu-ink);
}

.org-password-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-error {
  color: #9b4b3b;
  font-size: 12px;
  font-weight: 720;
}

.form-error-box {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(185, 91, 61, .22);
  border-radius: 12px;
  background: rgba(255, 236, 229, .68);
  color: #9b4b3b;
  font-size: 13px;
  font-weight: 720;
}

.org-segment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.org-segment-card {
  display: grid;
  gap: 12px;
  padding: 20px;
  border: 1px solid rgba(140, 113, 72, .15);
  border-radius: 20px;
  background: rgba(255, 255, 255, .58);
}

.org-segment-card h3 {
  margin: 0 0 7px;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: 25px;
  letter-spacing: .05em;
}

.org-segment-card p {
  margin: 0;
  color: var(--bu-muted);
  font-size: 12px;
  line-height: 1.65;
  font-weight: 650;
}

.org-backend-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.org-check-line {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid rgba(140, 113, 72, .15);
  border-radius: 14px;
  background: rgba(255, 250, 241, .52);
  color: var(--bu-ink-soft);
  font-size: 13px;
  font-weight: 820;
}

.org-check-line input {
  width: 18px;
  min-height: 18px;
  accent-color: var(--teal);
}

.org-check-line.sensitive {
  border-color: rgba(185, 91, 61, .20);
  background: rgba(255, 244, 238, .62);
}

.org-save-bar {
  position: sticky;
  bottom: 18px;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 18px 22px;
  backdrop-filter: blur(12px);
}

.org-save-bar p {
  margin: 0;
  color: var(--bu-muted);
  font-size: 13px;
  line-height: 1.6;
  font-weight: 650;
}

.org-save-bar div {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
}

@media (max-width: 1100px) {
  .org-workspace,
  .org-segment-grid,
  .org-basic-grid,
  .org-secondary-grid,
  .org-backend-grid,
  .org-config-preview {
    grid-template-columns: 1fr;
  }
  .org-page-head,
  .org-save-bar {
    align-items: flex-start;
    flex-direction: column;
  }
}

.asset-report-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid rgba(154, 106, 47, .26);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255, 253, 247, .94), rgba(246, 235, 214, .62)),
    var(--bu-card);
  box-shadow: 0 12px 28px rgba(52, 38, 18, .055);
}

.asset-report-toolbar-copy {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
  color: var(--bu-ink);
  font-size: 13px;
}

.asset-report-toolbar-copy strong {
  color: var(--teal);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: 20px;
  letter-spacing: .05em;
  white-space: nowrap;
}

.asset-report-toolbar-copy span {
  color: var(--bu-muted);
  line-height: 1.55;
}

.asset-report-toolbar-actions,
.asset-report-panel-actions,
.asset-report-date-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.asset-report-button,
.asset-report-link,
.asset-report-secondary-button,
.asset-report-ghost-button {
  min-height: 38px;
  border-radius: 10px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.asset-report-button,
.asset-report-link {
  border: 1px solid rgba(7, 91, 108, .88);
  color: #fff;
  background: linear-gradient(135deg, #075b6c, #064452);
  box-shadow: 0 8px 18px rgba(7, 91, 108, .14);
}

.asset-report-secondary-button,
.asset-report-ghost-button {
  border: 1px solid rgba(154, 106, 47, .30);
  color: #745023;
  background: rgba(255, 252, 245, .76);
}

.asset-report-panel {
  display: none;
  margin-bottom: 8px;
  padding: 20px;
  border: 1px solid rgba(154, 106, 47, .24);
  border-radius: 16px;
  background:
    repeating-linear-gradient(90deg, rgba(170, 129, 67, .026) 0 1px, transparent 1px 44px),
    linear-gradient(145deg, rgba(255, 253, 247, .96), rgba(247, 239, 224, .76));
  box-shadow: 0 16px 40px rgba(52, 38, 18, .07);
  color: var(--bu-ink);
  font-size: 13px;
}

.asset-report-panel-head h4 {
  margin: 0 0 8px;
  color: var(--bu-ink);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: 25px;
  letter-spacing: .05em;
}

.asset-report-panel-head p {
  margin: 0 0 16px;
  max-width: 760px;
  color: var(--bu-muted);
  line-height: 1.65;
  font-size: 12px;
  font-weight: 650;
}

.asset-report-date-row {
  margin-bottom: 14px;
}

.asset-report-date-row label,
.asset-report-field {
  display: grid;
  gap: 7px;
  color: var(--bu-ink-soft);
  font-size: 12px;
  font-weight: 850;
}

.asset-report-date-row input,
.asset-report-field input,
.asset-report-field textarea {
  min-height: 40px;
  border: 1px solid rgba(140, 113, 72, .25);
  border-radius: 11px;
  background: rgba(255, 255, 255, .78);
  color: var(--bu-ink);
}

.asset-report-field {
  margin-bottom: 10px;
}

.asset-report-preview {
  display: none;
  max-height: 260px;
  overflow: auto;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(140, 113, 72, .18);
  border-radius: 14px;
  background: rgba(255, 255, 255, .62);
}

.cr-check-line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 6px 0;
  padding: 9px 10px;
  border: 1px solid rgba(140, 113, 72, .14);
  border-radius: 10px;
  background: rgba(255, 252, 245, .72);
  color: var(--bu-ink-soft);
  line-height: 1.55;
}

.cr-check-line input {
  width: 16px;
  min-height: 16px;
  margin-top: 3px;
  accent-color: var(--teal);
}

.cr-evidence-line {
  margin-left: 20px;
  color: var(--bu-muted);
  font-size: 12px;
  background: rgba(245, 237, 221, .42);
}

.asset-report-panel-actions {
  margin-top: 12px;
}

.asset-report-panel-actions #cr-msg {
  color: var(--bu-muted);
  font-size: 12px;
  line-height: 1.5;
}

.asset-report-saved-list {
  margin-top: 14px;
  color: var(--bu-ink-soft);
  font-size: 12px;
  line-height: 1.6;
}

.asset-report-saved-list ul {
  margin: 7px 0 0 16px;
  padding: 0;
}

.asset-report-saved-list li {
  margin-bottom: 5px;
}

.asset-report-saved-list a {
  color: var(--teal);
  font-weight: 850;
}

.cr-empty {
  color: var(--bu-muted);
}

.cr-error {
  color: #a84535;
}

#cr-export-btn:disabled {
  cursor: not-allowed;
  opacity: .48;
}

@media (max-width: 760px) {
  .asset-report-toolbar,
  .asset-report-toolbar-copy {
    align-items: flex-start;
    flex-direction: column;
  }
  .asset-report-toolbar-actions,
  .asset-report-panel-actions {
    width: 100%;
  }
}

/* F-04 客户详情页主信息区高保真覆盖：统一首页纸感、深青蓝、哑光金体系 */
.page:has(.customer-asset-shell){
  max-width:1500px;
  padding:34px 42px 72px;
  background:
    radial-gradient(circle at 88px 92px, rgba(216,168,74,.09), transparent 34%),
    linear-gradient(180deg,#fff9ef 0%,#fbf6ec 46%,#f7f1e6 100%);
}
.customer-asset-shell{
  --asset-ink:#073947;
  --asset-deep:#082738;
  --asset-teal:#075b6c;
  --asset-paper:#fbf6ec;
  --asset-white:#fffaf1;
  --asset-line:rgba(199,146,46,.34);
  --asset-muted:#6f776f;
  --asset-gold:#c7922e;
  --asset-gold-dark:#a86f16;
  --asset-danger:#b94634;
  --asset-shadow:0 18px 44px rgba(43,33,16,.075);
}
.asset-customer-head{
  position:relative;
  margin-bottom:24px;
  padding:26px 28px 0;
  border:1px solid rgba(199,146,46,.24);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,249,239,.92),rgba(251,246,236,.78)),
    repeating-linear-gradient(98deg,rgba(199,146,46,.045) 0 1px,transparent 1px 22px);
  box-shadow:var(--asset-shadow);
  overflow:hidden;
}
.asset-customer-head::after{
  content:"";
  position:absolute;
  right:-96px;
  top:-116px;
  width:310px;
  height:310px;
  border-radius:50%;
  background:rgba(199,146,46,.10);
  pointer-events:none;
}
.asset-title-row{
  position:relative;
  z-index:1;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}
.asset-title-row h1{
  color:#064652;
  font-size:clamp(40px,4.3vw,58px);
  font-weight:850;
  letter-spacing:0;
  line-height:1.08;
}
.asset-identity-line{
  position:relative;
  z-index:1;
  margin:20px 0 24px;
  padding:16px 18px;
  gap:14px 20px;
  border:1px solid rgba(199,146,46,.28);
  border-radius:13px;
  background:rgba(255,252,246,.72);
  color:#65716f;
}
.asset-identity-line b{
  color:#163941;
  font-weight:850;
}
.asset-identity-line .asset-level{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:2px 10px;
  border-radius:999px;
  background:rgba(7,91,108,.08);
  color:#075b6c;
  font-size:15px;
}
.asset-identity-line i{
  background:rgba(199,146,46,.25);
}
.asset-tabs{
  position:relative;
  z-index:1;
  margin:0 -28px;
  padding:0 28px;
  border-top:1px solid rgba(199,146,46,.18);
  border-bottom:0;
  background:rgba(255,249,239,.48);
}
.asset-tabs .tab-button{
  min-height:58px;
  padding:0 4px;
  color:#6f776f;
  font-size:18px;
  letter-spacing:0;
}
.asset-tabs .tab-button.active{
  color:#064652;
}
.asset-tabs .tab-button.active::after{
  bottom:0;
  height:4px;
  border-radius:4px 4px 0 0;
  background:linear-gradient(90deg,#d8a84a,#b98218);
}
.asset-section{
  margin-top:24px;
}
.asset-section-title{
  margin:0 0 16px;
}
.asset-section-title h2{
  color:#064652;
  font-size:30px;
  font-weight:850;
  letter-spacing:0;
}
.asset-section-icon{
  border:1px solid rgba(199,146,46,.28);
  background:rgba(255,249,239,.72);
  color:var(--asset-gold-dark);
}
.asset-data-grid{
  grid-template-columns:minmax(0,1.32fr) minmax(360px,.68fr);
  gap:22px;
}
.asset-surface{
  border:1px solid rgba(199,146,46,.28);
  border-radius:16px;
  background:
    linear-gradient(180deg,rgba(255,252,246,.92),rgba(251,246,236,.80)),
    repeating-linear-gradient(100deg,rgba(199,146,46,.045) 0 1px,transparent 1px 22px);
  box-shadow:var(--asset-shadow);
}
.asset-card-head h3{
  color:#193a43;
  font-size:24px;
  font-weight:850;
  letter-spacing:0;
}
.asset-card-head small{
  color:#899089;
  font-weight:750;
}
.asset-range-switch{
  height:38px;
  border-color:rgba(199,146,46,.32);
  border-radius:10px;
  background:rgba(247,241,230,.72);
}
.asset-range-switch button{
  min-width:82px;
  border-right-color:rgba(199,146,46,.24);
  background:transparent;
  color:#566664;
}
.asset-range-switch button.selected{
  background:linear-gradient(180deg,#d8a84a,#b98218);
  color:#fff;
  box-shadow:0 8px 18px rgba(178,115,22,.20);
}
.asset-chart-wrap{
  height:286px;
  margin-top:20px;
}
.asset-key-list{
  margin-top:16px;
}
.asset-key-item{
  min-height:62px;
  padding:13px 0;
  border-bottom:1px solid rgba(199,146,46,.20);
}
.asset-key-item span{
  color:#405a60;
  font-size:14px;
}
.asset-key-item b{
  color:#064652;
  font-size:24px;
  font-weight:850;
}
.asset-key-item small{
  color:#8b928c;
  font-weight:700;
}
.asset-alert-section{
  margin-top:32px;
}
.asset-focus-alerts{
  gap:22px;
}
.asset-focus-card{
  position:relative;
  min-height:236px;
  overflow:hidden;
  border-radius:16px;
  padding:28px 30px 22px;
  box-shadow:0 18px 40px rgba(43,33,16,.11);
}
.asset-focus-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(104deg,transparent 0 30%,rgba(255,245,210,.34) 31%,rgba(255,245,210,.58) 40%,transparent 41%),
    repeating-radial-gradient(circle at 18% 82%,rgba(255,249,239,.06) 0 1px,transparent 1px 12px);
  pointer-events:none;
}
.asset-focus-card h3,
.asset-alert-detail,
.asset-card-empty{
  position:relative;
  z-index:1;
}
.asset-focus-card h3{
  color:#fff8e8;
  font-size:34px;
  font-weight:850;
  text-shadow:0 2px 10px rgba(43,33,16,.18);
}
.asset-focus-card-urgent{
  border-color:rgba(151,57,42,.22);
  background:linear-gradient(135deg,#b94634 0%,#d65b3f 45%,#e89167 100%);
  box-shadow:inset 0 1px 0 rgba(255,240,210,.28),0 18px 40px rgba(117,43,31,.16);
}
.asset-focus-card-important{
  border-color:rgba(178,115,22,.24);
  background:linear-gradient(135deg,#e3b33f 0%,#d19a25 46%,#b98218 100%);
  box-shadow:inset 0 1px 0 rgba(255,248,220,.32),0 18px 40px rgba(126,78,14,.15);
}
.asset-alert-detail summary{
  min-height:44px;
}
.asset-alert-detail summary::before,
.asset-pool-row summary::before{
  background:#fff4d6;
}
.asset-alert-detail summary span{
  font-size:20px;
  letter-spacing:0;
}
.asset-alert-detail p,
.asset-alert-detail small,
.asset-card-empty{
  color:#fff7ea;
}
.asset-alert-pools{
  gap:22px;
  margin-top:22px;
  padding-top:0;
  border-top:0;
}
.asset-pool-block{
  min-height:160px;
  padding:20px 22px;
  border:1px dashed rgba(199,146,46,.40);
  border-radius:16px;
  background:rgba(255,252,246,.74);
  box-shadow:0 12px 28px rgba(43,33,16,.045);
}
.asset-pool-block h3{
  color:#293f45;
  font-family:"Noto Serif SC","Songti SC","SimSun",serif;
  font-size:22px;
}
.asset-pool-row{
  border-top-color:rgba(199,146,46,.18);
}
.asset-pool-row span{
  color:#1e3b43;
}
.asset-pool-row b{
  background:rgba(199,146,46,.12);
  color:#8a5a16;
}
.asset-pool-row-urgent b{
  background:rgba(185,70,52,.10);
  color:#9b3829;
}
@media(max-width:980px){
  .page:has(.customer-asset-shell){padding:24px 18px 54px}
  .asset-data-grid,.asset-focus-alerts,.asset-alert-pools{grid-template-columns:1fr}
  .asset-title-row h1{font-size:34px}
  .asset-customer-head{padding:22px 18px 0}
  .asset-tabs{margin:0 -18px;padding:0 18px;gap:22px;overflow:auto}
  .asset-tabs .tab-button{white-space:nowrap}
}

/* F-05 客户详情页日志/动态区高保真覆盖：服务动态工作流，不做后台日志堆叠 */
#tab-ops{
  color:#163941;
}
#tab-ops > div{
  gap:22px !important;
}
#tab-ops h2,
#tab-ops h3,
#tab-ops h4{
  color:#193a43 !important;
  font-family:"Noto Serif SC","Songti SC","SimSun",serif !important;
  letter-spacing:0 !important;
}
#tab-ops p,
#tab-ops small,
#tab-ops span{
  line-height:1.65;
}
#tab-ops button,
#tab-ops .button,
#tab-ops .asset-report-button,
#tab-ops .asset-report-link,
#tab-ops .asset-report-secondary-button,
#tab-ops .asset-report-ghost-button{
  border-radius:9px !important;
  font-weight:850 !important;
}
#tab-ops .asset-report-toolbar{
  border:1px solid rgba(199,146,46,.30) !important;
  border-radius:16px !important;
  background:
    linear-gradient(180deg,rgba(255,252,246,.92),rgba(251,246,236,.78)),
    repeating-linear-gradient(100deg,rgba(199,146,46,.04) 0 1px,transparent 1px 22px) !important;
  box-shadow:0 16px 36px rgba(43,33,16,.06) !important;
}
#tab-ops .asset-report-toolbar-copy strong{
  color:#064652 !important;
  font-family:"Noto Serif SC","Songti SC","SimSun",serif !important;
  font-size:22px !important;
}
#tab-ops .asset-report-button,
#tab-ops .asset-report-link{
  border-color:transparent !important;
  background:linear-gradient(180deg,#d8a84a,#b98218) !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(178,115,22,.20) !important;
}
#tab-ops .asset-report-panel{
  border:1px solid rgba(199,146,46,.28) !important;
  border-radius:16px !important;
  background:rgba(255,252,246,.90) !important;
  box-shadow:0 18px 42px rgba(43,33,16,.07) !important;
}
#tab-ops [style*="background-color: #FFFDF5"],
#tab-ops [style*="background-color: #F4F8F9"],
#tab-ops [style*="background-color: #FFFDF8"],
#tab-ops [style*="background-color: #F4F8F5"],
#tab-ops [style*="background-color: #F9F0FF"],
#tab-ops [style*="background-color: #fafafa"]{
  border-color:rgba(199,146,46,.28) !important;
  border-radius:16px !important;
  background:
    linear-gradient(180deg,rgba(255,252,246,.92),rgba(251,246,236,.80)) !important;
  box-shadow:0 14px 34px rgba(43,33,16,.055) !important;
}
#tab-ops .card,
#tab-ops .active-log-card,
#tab-ops .new-log-type-card,
#tab-ops .upgraded-log-card,
#tab-ops .archive-item{
  border:1px solid rgba(199,146,46,.24) !important;
  border-left:4px solid #c7922e !important;
  border-radius:12px !important;
  background:rgba(255,252,246,.94) !important;
  box-shadow:0 10px 24px rgba(43,33,16,.05) !important;
}
#tab-ops .new-log-type-card,
#tab-ops .active-log-card,
#tab-ops .upgraded-log-card{
  min-height:96px;
}
#tab-ops .new-log-type-card:hover,
#tab-ops .active-log-card:hover,
#tab-ops .upgraded-log-card:hover,
#tab-ops .archive-item:hover{
  border-color:rgba(199,146,46,.50) !important;
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(43,33,16,.08) !important;
}
#tab-ops .form-grid{
  gap:14px !important;
}
#tab-ops .form-field label{
  color:#31444a !important;
  font-size:13px !important;
  font-weight:850 !important;
}
#tab-ops input,
#tab-ops select,
#tab-ops textarea{
  border:1px solid rgba(199,146,46,.30) !important;
  border-radius:10px !important;
  background:#fffdf8 !important;
  color:#163941 !important;
}
#tab-ops input:focus,
#tab-ops select:focus,
#tab-ops textarea:focus{
  border-color:#075b6c !important;
  box-shadow:0 0 0 3px rgba(7,91,108,.12) !important;
}
#tab-ops button[type="submit"],
#tab-ops #md-customer-submit{
  border-color:transparent !important;
  background:linear-gradient(180deg,#0b6170,#073947) !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(7,57,71,.16) !important;
}
#tab-ops #manager-decision-zone,
#tab-ops #manager-task-zone,
#tab-ops #log-review-zone{
  border:1px solid rgba(199,146,46,.30) !important;
  border-radius:16px !important;
}
#tab-ops #archive-filter-buttons{
  padding:6px;
  border:1px solid rgba(199,146,46,.22);
  border-radius:13px;
  background:rgba(247,241,230,.54);
}
#tab-ops .archive-filter-btn{
  min-height:34px;
  border-color:rgba(199,146,46,.28) !important;
  border-radius:8px !important;
  background:rgba(255,252,246,.78) !important;
  color:#405a60 !important;
  font-weight:850 !important;
}
#tab-ops .archive-filter-btn.active{
  border-color:transparent !important;
  background:linear-gradient(180deg,#d8a84a,#b98218) !important;
  color:#fff !important;
}
#tab-ops #archive-timeline-container{
  max-height:620px !important;
  padding-left:18px !important;
  border-left:2px solid rgba(199,146,46,.42) !important;
}
#tab-ops #archive-timeline-container .archive-item{
  position:relative;
  margin-bottom:14px !important;
  padding:15px 17px !important;
}
#tab-ops #archive-timeline-container .archive-item::before{
  content:"";
  position:absolute;
  left:-26px;
  top:20px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#c7922e;
  box-shadow:0 0 0 4px #fbf6ec;
}
@media(max-width:980px){
  #tab-ops [style*="grid-template-columns: 1fr 1fr 1fr"]{
    grid-template-columns:1fr !important;
  }
  #tab-ops .card{
    max-width:none !important;
  }
}
