:root{
  --navy:#17365d;--blue:#4472c4;--cyan:#5b9bd5;--light-blue:#d9eaf7;
  --pale-blue:#eef5fb;--yellow:#fff2cc;--green:#70ad47;--light-green:#e2f0d9;
  --orange:#ed7d31;--light-orange:#fce4d6;--red:#c00000;--bg:#f3f6f9;
  --text:#243447;--muted:#6b7785;--border:#d9e2f3;--white:#fff;
  --shadow:0 10px 30px rgba(23,54,93,.08);
}
*{box-sizing:border-box}
html{font-size:15px}
body{margin:0;font-family:"Microsoft YaHei","PingFang SC","Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;display:flex}
.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--navy);color:#fff;padding:22px 18px;display:flex;flex-direction:column;z-index:20;overflow:auto}
.brand{display:flex;gap:12px;align-items:center;padding:4px 4px 22px}
.brand-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#79a9e7,#fff);color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:18px}
.brand h1{font-size:16px;margin:0 0 4px}.brand p{margin:0;color:#b8cae2;font-size:12px}
.nav{display:grid;gap:7px}
.nav-btn{border:0;background:transparent;color:#d9e5f2;text-align:left;padding:12px 14px;border-radius:10px;transition:.2s}
.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.14);color:#fff;transform:translateX(2px)}
.scenario-box{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);display:grid;gap:8px}
.scenario-box label{font-size:12px;color:#b8cae2}
.scenario-box input,.scenario-box select{width:100%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;border-radius:8px;padding:9px}
.scenario-box select option{color:#222}
.button-row{display:flex;gap:8px}
.button-row .btn{flex:1}
.privacy-note{margin-top:auto;padding:14px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;gap:4px}
.privacy-note strong{font-size:13px}.privacy-note span{color:#b8cae2;font-size:12px}
.main{margin-left:250px;min-width:0;width:calc(100% - 250px);padding:0 28px 32px}
.topbar{position:sticky;top:0;z-index:15;background:rgba(243,246,249,.94);backdrop-filter:blur(12px);display:flex;justify-content:space-between;align-items:center;padding:22px 0 16px;border-bottom:1px solid var(--border)}
.topbar h2{margin:0;font-size:24px;color:var(--navy)}.topbar p{margin:5px 0 0;color:var(--muted)}
.top-actions{display:flex;gap:9px}
.btn{border:1px solid transparent;border-radius:9px;padding:9px 13px;transition:.2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--blue);color:#fff}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--border)}
.btn-danger{background:rgba(192,0,0,.18);color:#fff;border-color:rgba(255,255,255,.2)}
.page{display:none;padding-top:22px}.page.active{display:block}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi-card{border-radius:15px;padding:20px;color:#fff;background:var(--green);box-shadow:var(--shadow);min-height:140px;display:flex;flex-direction:column}
.kpi-card.blue{background:var(--blue)}.kpi-card.cyan{background:var(--cyan)}.kpi-card.orange{background:var(--orange)}
.kpi-card.danger{background:var(--red)}.kpi-card.success{background:var(--green)}
.kpi-card span{font-size:13px;opacity:.9}.kpi-card strong{font-size:32px;margin:auto 0 4px}.kpi-card small{opacity:.85}
.panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow);margin-top:18px}
.panel-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}
.panel-title h3{margin:0;color:var(--navy);font-size:17px}.panel-title span{color:var(--muted);font-size:12px}
.judgement-panel p{font-size:16px;line-height:1.75;margin:0;color:#3d4b5d}
.status-badge{padding:5px 10px;border-radius:999px;background:var(--light-green)!important;color:#548235!important;font-weight:700}
.status-badge.risk{background:var(--light-orange)!important;color:var(--red)!important}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin:26px 0 4px}
.section-heading h3{margin:0;color:var(--navy);font-size:19px}.section-heading p{margin:5px 0 0;color:var(--muted)}
.recommendation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.recommend-card{background:#fff;border:1px solid var(--border);border-top:5px solid var(--blue);border-radius:14px;padding:18px;box-shadow:var(--shadow)}
.recommend-card.balance{border-top-color:var(--green)}.recommend-card.stable{border-top-color:var(--orange)}
.recommend-card h4{margin:0 0 5px;color:var(--navy)}.recommend-card .desc{min-height:38px;color:var(--muted);font-size:12px;line-height:1.55}
.recommend-card .main-number{font-size:30px;font-weight:800;color:var(--navy);margin:12px 0 2px}
.recommend-card .main-number small{font-size:13px;font-weight:400;color:var(--muted)}
.metric-list{display:grid;gap:7px;margin-top:13px}.metric-row{display:flex;justify-content:space-between;font-size:13px;border-top:1px dashed var(--border);padding-top:7px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bar-list{display:grid;gap:13px}.bar-item{display:grid;grid-template-columns:100px 1fr 110px;align-items:center;gap:12px;font-size:13px}
.bar-track{height:12px;border-radius:999px;background:var(--bg);overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:var(--blue);min-width:1px}
.bar-fill.orange{background:var(--orange)}.bar-fill.green{background:var(--green)}.bar-fill.cyan{background:var(--cyan)}.bar-fill.red{background:var(--red)}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px}
.table-wrap.wide{max-width:100%}
table{width:100%;border-collapse:collapse;white-space:nowrap}
th,td{padding:10px 11px;border-bottom:1px solid var(--border);text-align:right;font-size:13px}
th{background:var(--blue);color:#fff;font-weight:700;position:sticky;top:0;z-index:2}
th:first-child,td:first-child{text-align:left}
tbody tr:hover{background:var(--pale-blue)}
tbody tr.current-row{background:var(--light-blue);font-weight:700}
tbody tr.recommended-row{background:var(--light-green)}
.tag{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700}
.tag.balance{background:var(--light-green);color:#548235}.tag.cost{background:var(--light-blue);color:var(--navy)}.tag.stable{background:var(--light-orange);color:#a34a00}
.tag.risk{background:var(--light-orange);color:var(--red)}.tag.ok{background:var(--light-green);color:#548235}
.input-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.input-panel,.results-panel{margin-top:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-grid label,.settings-strip label{display:grid;gap:6px;color:var(--muted);font-size:12px}
.form-grid input,.settings-strip input{border:1px solid #d8c76d;background:var(--yellow);border-radius:8px;padding:10px;color:#003cff;font-weight:700;outline:none}
.form-grid input:focus,.settings-strip input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(68,114,196,.12)}
.editable-tip{background:var(--yellow);padding:4px 8px;border-radius:6px;color:#7f6000!important}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.result-item{background:var(--pale-blue);border-radius:10px;padding:13px}
.result-item span{display:block;color:var(--muted);font-size:12px}.result-item strong{display:block;color:var(--navy);font-size:19px;margin-top:5px}
.settings-strip{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-top:0}
.settings-strip>div{display:flex;gap:12px;flex-wrap:wrap}.settings-strip.single{justify-content:flex-start;align-items:end}
.settings-strip input{width:140px}.settings-strip p{margin:0 0 9px;color:var(--muted)}
.chart-box{width:100%;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#fff;margin-bottom:15px}
canvas{display:block;width:100%;height:auto}
.scenario-grid{align-items:start}
.matrix-current{outline:3px solid var(--navy);outline-offset:-3px;font-weight:800}
.note-panel{background:var(--yellow);color:#6b5d24;line-height:1.7}
.heat-low{background:#e2f0d9}.heat-mid{background:#fff2cc}.heat-high{background:#fce4d6;color:#a00000}
.forecast-input{width:86px;border:1px solid #d8c76d;background:var(--yellow);color:#003cff;border-radius:6px;padding:6px;text-align:right;font-weight:700}
.flow{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.flow div{padding:15px 22px;border-radius:10px;background:var(--pale-blue);color:var(--navy);font-weight:700}.flow span{font-size:24px;color:var(--blue)}
footer{text-align:center;color:var(--muted);font-size:12px;padding:28px 0 0}
.toast{position:fixed;right:24px;bottom:24px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:9px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:100}
.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1180px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .recommendation-grid{grid-template-columns:1fr}
  .two-col,.input-layout{grid-template-columns:1fr}
}
@media(max-width:780px){
  .sidebar{position:static;width:100%;max-height:none}.app-shell{display:block}.main{margin-left:0;width:100%;padding:0 14px 24px}
  .nav{grid-template-columns:repeat(2,1fr)}.scenario-box{display:none}.privacy-note{margin-top:18px}
  .topbar{position:static;display:block}.top-actions{margin-top:14px;flex-wrap:wrap}
  .kpi-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}
  .settings-strip{display:block}.settings-strip>div{margin-bottom:12px}
}
@media(max-width:480px){.kpi-grid{grid-template-columns:1fr}.nav{grid-template-columns:1fr}}
@media print{
  .sidebar,.top-actions,.nav,.scenario-box,.privacy-note{display:none!important}
  .main{margin:0;width:100%;padding:0}.topbar{position:static;background:#fff}
  .page{display:none!important}#dashboard{display:block!important}.panel,.kpi-card,.recommend-card{box-shadow:none}
}


/* =========================
   V1.2 现代界面增强
   ========================= */
:root{
  --navy:#0d2442;
  --navy-2:#132f55;
  --blue:#4f7df3;
  --blue-2:#6aa8ff;
  --cyan:#36b8d8;
  --green:#2db88d;
  --orange:#ff9a4d;
  --red:#ef5b68;
  --bg:#eef3f9;
  --glass:rgba(255,255,255,.78);
  --glass-strong:rgba(255,255,255,.92);
  --border:rgba(116,146,184,.20);
  --shadow:0 18px 50px rgba(25,54,94,.10);
  --shadow-hover:0 24px 68px rgba(25,54,94,.17);
}
html{scroll-behavior:smooth}
body{
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 8%, rgba(79,125,243,.12), transparent 25%),
    radial-gradient(circle at 88% 20%, rgba(54,184,216,.10), transparent 27%),
    linear-gradient(135deg,#f5f8fc 0%,#edf3f9 46%,#f7f9fc 100%);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background-image:
    linear-gradient(rgba(23,54,93,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,54,93,.025) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 88%);
}
.ambient{
  position:fixed;
  width:420px;height:420px;
  border-radius:50%;
  filter:blur(90px);
  opacity:.18;
  pointer-events:none;
  z-index:0;
  animation:ambientFloat 14s ease-in-out infinite alternate;
}
.ambient-one{left:8%;top:6%;background:#4f7df3}
.ambient-two{right:4%;bottom:8%;background:#38b8c8;animation-delay:-5s}
@keyframes ambientFloat{
  from{transform:translate3d(-10px,-10px,0) scale(.96)}
  to{transform:translate3d(28px,22px,0) scale(1.08)}
}

.app-loader{
  position:fixed;
  inset:0;
  z-index:999;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:10px;
  color:#fff;
  background:
    radial-gradient(circle at center,rgba(83,133,245,.22),transparent 28%),
    linear-gradient(135deg,#0b1c35,#142f56 55%,#0d2442);
  transition:opacity .45s ease,visibility .45s ease;
}
.app-loader strong{font-size:18px;letter-spacing:.5px}
.app-loader small{color:#a9bdd7}
.loader-orbit{position:relative;width:58px;height:58px;margin-bottom:8px}
.loader-orbit span{
  position:absolute;inset:0;
  border:2px solid transparent;
  border-top-color:#6aa8ff;
  border-radius:50%;
  animation:orbit 1.25s linear infinite;
}
.loader-orbit span:nth-child(2){inset:8px;border-top-color:#45d0d7;animation-duration:.95s;animation-direction:reverse}
.loader-orbit span:nth-child(3){inset:17px;border-top-color:#fff;animation-duration:.7s}
@keyframes orbit{to{transform:rotate(360deg)}}
body.app-ready .app-loader{opacity:0;visibility:hidden}
body.app-loading .app-shell{opacity:0;transform:translateY(8px)}
.app-shell{position:relative;z-index:2;transition:opacity .5s ease,transform .5s ease}

.sidebar{
  width:266px;
  padding:20px 16px;
  background:
    linear-gradient(180deg,rgba(16,43,78,.98),rgba(8,28,52,.98)),
    var(--navy);
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:18px 0 55px rgba(8,28,52,.18);
}
.sidebar::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 6%,rgba(106,168,255,.18),transparent 30%),
    linear-gradient(180deg,transparent,rgba(255,255,255,.015));
}
.brand,.nav,.scenario-box,.privacy-note{position:relative;z-index:1}
.brand{padding:4px 6px 24px}
.brand-mark{
  width:50px;height:50px;
  border-radius:16px;
  background:linear-gradient(135deg,#6aa8ff,#36b8d8);
  color:#fff;
  box-shadow:0 10px 28px rgba(79,125,243,.35),inset 0 1px 0 rgba(255,255,255,.35);
  letter-spacing:.5px;
}
.brand h1{font-size:16px;letter-spacing:.2px}
.brand p{color:#91a8c5}
.nav{gap:8px}
.nav-btn{
  position:relative;
  overflow:hidden;
  min-height:46px;
  padding:12px 15px 12px 18px;
  border:1px solid transparent;
  border-radius:13px;
  color:#b9c9dd;
  font-weight:600;
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    color .22s ease,
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}
.nav-btn::before{
  content:"";
  position:absolute;
  left:7px;top:50%;
  width:4px;height:0;
  border-radius:999px;
  background:linear-gradient(#6aa8ff,#41d4d6);
  transform:translateY(-50%);
  transition:height .26s ease;
}
.nav-btn::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(106,168,255,.16),rgba(54,184,216,.04));
  opacity:0;
  transition:opacity .22s ease;
}
.nav-btn:hover{
  transform:translateX(4px);
  color:#fff;
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.045);
}
.nav-btn.active{
  color:#fff;
  transform:translateX(5px);
  border-color:rgba(106,168,255,.22);
  background:rgba(106,168,255,.12);
  box-shadow:0 10px 28px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.08);
}
.nav-btn.active::before{height:24px}
.nav-btn.active::after{opacity:1}
.nav-btn>*{position:relative;z-index:1}

.scenario-box{
  margin-top:20px;
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(14px);
}
.scenario-box input,.scenario-box select{
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.scenario-box input:focus,.scenario-box select:focus{
  outline:none;
  border-color:rgba(106,168,255,.65);
  background:rgba(255,255,255,.10);
  box-shadow:0 0 0 3px rgba(106,168,255,.12);
}
.privacy-note{
  border:1px solid rgba(255,255,255,.07);
  background:linear-gradient(135deg,rgba(106,168,255,.09),rgba(54,184,216,.05));
}

.main{
  margin-left:266px;
  width:calc(100% - 266px);
  padding:0 34px 36px;
}
.topbar{
  margin:0 -34px;
  padding:20px 34px 16px;
  background:rgba(245,248,252,.72);
  border-bottom:1px solid rgba(116,146,184,.16);
  box-shadow:0 10px 30px rgba(29,59,98,.04);
  backdrop-filter:blur(20px) saturate(130%);
}
.topbar h2{
  font-size:25px;
  letter-spacing:-.4px;
  background:linear-gradient(90deg,#102b4d,#4f7df3);
  -webkit-background-clip:text;
  color:transparent;
}
.topbar p{font-size:13px}

.btn{
  position:relative;
  overflow:hidden;
  border-radius:11px;
  padding:10px 15px;
  font-weight:700;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;
}
.btn::after{
  content:"";
  position:absolute;
  top:-50%;left:-80%;
  width:45%;height:200%;
  transform:rotate(24deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transition:left .55s ease;
}
.btn:hover::after{left:135%}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg,#4f7df3,#3b69dc);
  box-shadow:0 10px 24px rgba(79,125,243,.24);
}
.btn-primary:hover{box-shadow:0 14px 30px rgba(79,125,243,.34)}
.btn-ghost{
  background:rgba(255,255,255,.74);
  border-color:rgba(116,146,184,.20);
  box-shadow:0 8px 20px rgba(29,59,98,.05);
}
.btn-ghost:hover{border-color:rgba(79,125,243,.34);background:#fff}

.page{
  display:none;
  padding-top:24px;
  opacity:0;
  transform:translate3d(0,18px,0) scale(.992);
  filter:blur(4px);
}
.page.active{
  display:block;
  animation:pageEnter .48s cubic-bezier(.2,.8,.2,1) both;
}
.page.page-exit{
  display:block;
  animation:pageExit .20s ease both;
  pointer-events:none;
}
@keyframes pageEnter{
  from{opacity:0;transform:translate3d(0,18px,0) scale(.992);filter:blur(4px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes pageExit{
  from{opacity:1;transform:none;filter:none}
  to{opacity:0;transform:translate3d(0,-8px,0) scale(.996);filter:blur(2px)}
}
.page-wipe{
  position:fixed;
  top:0;bottom:0;
  left:266px;
  width:calc(100% - 266px);
  z-index:16;
  pointer-events:none;
  opacity:0;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,rgba(79,125,243,.09),rgba(54,184,216,.05),transparent 80%);
}
body.page-switching .page-wipe{
  animation:pageWipe .42s ease both;
}
@keyframes pageWipe{
  0%{opacity:0;transform:scaleX(0)}
  40%{opacity:1;transform:scaleX(1)}
  100%{opacity:0;transform:scaleX(1)}
}

.kpi-card{
  position:relative;
  overflow:hidden;
  min-height:150px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:20px;
  box-shadow:0 18px 42px rgba(30,61,102,.16);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease;
}
.kpi-card::before{
  content:"";
  position:absolute;
  width:140px;height:140px;
  right:-46px;top:-54px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
}
.kpi-card::after{
  content:"";
  position:absolute;
  width:72px;height:72px;
  right:20px;bottom:-38px;
  border-radius:50%;
  border:18px solid rgba(255,255,255,.10);
}
.kpi-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(30,61,102,.22)}
.kpi-card.blue{background:linear-gradient(135deg,#416fe6,#5b8df6)}
.kpi-card.cyan{background:linear-gradient(135deg,#219dbf,#45c5d4)}
.kpi-card.orange{background:linear-gradient(135deg,#f4833e,#ffae5d)}
.kpi-card.danger{background:linear-gradient(135deg,#d94255,#ef6572)}
.kpi-card.success{background:linear-gradient(135deg,#1d9f7a,#3ac19a)}
.kpi-card span,.kpi-card strong,.kpi-card small{position:relative;z-index:1}
.kpi-card strong{font-size:35px;letter-spacing:-1px}

.panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(116,146,184,.16);
  border-radius:18px;
  padding:20px;
  background:var(--glass);
  backdrop-filter:blur(16px) saturate(120%);
  box-shadow:var(--shadow);
  transition:transform .26s cubic-bezier(.2,.8,.2,1),box-shadow .26s ease,border-color .26s ease;
}
.panel::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
}
.panel:hover{
  transform:translateY(-2px);
  border-color:rgba(79,125,243,.20);
  box-shadow:var(--shadow-hover);
}
.panel-title h3{font-size:17px;letter-spacing:-.2px}

.recommend-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(116,146,184,.16);
  border-top:0;
  border-radius:18px;
  padding:20px;
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease;
}
.recommend-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#4f7df3,#79a9ff);
}
.recommend-card.balance::before{background:linear-gradient(90deg,#23a77f,#50c9a6)}
.recommend-card.stable::before{background:linear-gradient(90deg,#f4833e,#ffb56e)}
.recommend-card::after{
  content:"";
  position:absolute;
  width:110px;height:110px;
  right:-44px;top:-44px;
  border-radius:50%;
  background:rgba(79,125,243,.055);
}
.recommend-card:hover{transform:translateY(-6px);box-shadow:0 26px 65px rgba(25,54,94,.16)}
.recommend-card h4,.recommend-card .desc,.recommend-card .main-number,.recommend-card .metric-list{position:relative;z-index:1}

.form-grid input,.settings-strip input{
  border:1px solid rgba(222,186,61,.45);
  border-radius:11px;
  padding:11px 12px;
  background:linear-gradient(180deg,#fff9df,#fff4c7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 15px rgba(126,96,0,.05);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.form-grid input:hover,.settings-strip input:hover{transform:translateY(-1px);border-color:rgba(222,186,61,.72)}
.form-grid input:focus,.settings-strip input:focus{
  transform:none;
  border-color:#5f87ee;
  background:#fff;
  box-shadow:0 0 0 4px rgba(79,125,243,.11),0 10px 22px rgba(79,125,243,.08);
}

.result-item{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(79,125,243,.10);
  border-radius:13px;
  background:linear-gradient(135deg,rgba(238,245,251,.95),rgba(255,255,255,.92));
  transition:transform .2s ease,box-shadow .2s ease;
}
.result-item:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(37,71,116,.08)}
.result-item::after{
  content:"";
  position:absolute;
  width:52px;height:52px;
  right:-22px;bottom:-22px;
  border-radius:50%;
  background:rgba(79,125,243,.08);
}

.table-wrap{
  border:1px solid rgba(116,146,184,.15);
  border-radius:14px;
  background:rgba(255,255,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
th{
  background:linear-gradient(180deg,#4f7df3,#416ed9);
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.08);
}
td{transition:background .18s ease}
tbody tr{transition:background .18s ease,transform .18s ease}
tbody tr:hover{background:rgba(79,125,243,.055)}
tbody tr.current-row{background:linear-gradient(90deg,rgba(79,125,243,.13),rgba(54,184,216,.07))}
tbody tr.recommended-row{background:linear-gradient(90deg,rgba(45,184,141,.13),rgba(255,255,255,.30))}

.bar-track{height:10px;background:#e7edf5;box-shadow:inset 0 1px 2px rgba(20,48,82,.08)}
.bar-fill{position:relative;overflow:hidden;background:linear-gradient(90deg,#4f7df3,#75a3ff)}
.bar-fill::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  transform:translateX(-100%);
  animation:barShine 2.8s ease-in-out infinite;
}
@keyframes barShine{50%,100%{transform:translateX(100%)}}

.chart-box{
  border-radius:14px;
  border-color:rgba(116,146,184,.14);
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,250,253,.88));
}
.toast{
  right:28px;bottom:28px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:13px;
  background:rgba(13,36,66,.94);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 45px rgba(9,27,51,.28);
}

@media(max-width:780px){
  .sidebar{width:100%}
  .main{margin-left:0;width:100%;padding:0 14px 24px}
  .topbar{margin:0 -14px;padding-left:14px;padding-right:14px}
  .page-wipe{left:0;width:100%}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* =========================================================
   V1.3 高端明亮版
   设计原则：纯白 / 极浅灰背景、细边框、深色数字、少量文字色提示
   ========================================================= */
:root{
  --navy:#163a5f;
  --navy-2:#1d4a75;
  --blue:#2f5f8f;
  --cyan:#52708d;
  --green:#2f6f5f;
  --orange:#c98242;
  --red:#9f3d3d;
  --bg:#f7f8fa;
  --text:#111827;
  --muted:#667085;
  --border:#e5e7eb;
  --white:#ffffff;
  --glass:#ffffff;
  --glass-strong:#ffffff;
  --shadow:0 8px 24px rgba(16,24,40,.045);
  --shadow-hover:0 12px 30px rgba(16,24,40,.065);
}

html,body{
  background:#f7f8fa!important;
  color:#111827;
}
body{
  background:
    linear-gradient(#f8f9fb,#f8f9fb)!important;
}
body::before,
.ambient,
.page-wipe{
  display:none!important;
}

/* 左侧边栏：极浅冷灰 / 白色 */
.sidebar{
  width:266px;
  background:#f4f6f8!important;
  color:#1f2937;
  border-right:1px solid #e5e7eb;
  box-shadow:none!important;
}
.sidebar::after{display:none!important}
.brand-mark{
  background:#ffffff!important;
  color:#163a5f!important;
  border:1px solid #dfe3e8;
  box-shadow:0 4px 12px rgba(16,24,40,.04)!important;
}
.brand h1{color:#182230}
.brand p{color:#7a8492}
.nav-btn{
  color:#5d6673;
  background:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
}
.nav-btn::after{display:none!important}
.nav-btn::before{
  left:0;
  width:3px;
  background:#244e77!important;
}
.nav-btn:hover{
  color:#22364a;
  background:#eef1f4!important;
  transform:translateX(2px);
}
.nav-btn.active{
  color:#163a5f!important;
  background:#ffffff!important;
  border-color:#e1e5ea!important;
  box-shadow:0 4px 12px rgba(16,24,40,.045)!important;
  transform:translateX(2px);
}
.scenario-box{
  background:#ffffff!important;
  border:1px solid #e2e6eb!important;
  backdrop-filter:none!important;
}
.scenario-box label{color:#707a87}
.scenario-box input,
.scenario-box select{
  color:#1f2937!important;
  background:#f9fafb!important;
  border:1px solid #dfe3e8!important;
}
.scenario-box input:focus,
.scenario-box select:focus{
  background:#ffffff!important;
  border-color:#9db1c4!important;
  box-shadow:0 0 0 3px rgba(31,75,118,.07)!important;
}
.scenario-box select option{color:#1f2937}
.privacy-note{
  background:#ffffff!important;
  border:1px solid #e2e6eb!important;
}
.privacy-note strong{color:#2a3b4d}
.privacy-note span{color:#7a8492}

/* 右侧主区域：白与极浅灰 */
.main{
  background:#f8f9fb;
}
.topbar{
  background:rgba(248,249,251,.96)!important;
  border-bottom:1px solid #e7e9ed!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px);
}
.topbar h2{
  background:none!important;
  -webkit-background-clip:initial!important;
  color:#15293d!important;
}
.topbar p{color:#7a8492}

/* 按钮：收敛为白底细边框，小面积深色强调 */
.btn{
  border-radius:9px;
  box-shadow:none!important;
}
.btn::after{display:none!important}
.btn-primary{
  background:#173b60!important;
  color:#ffffff!important;
  border-color:#173b60!important;
}
.btn-primary:hover{
  background:#0f2f4d!important;
  box-shadow:0 6px 14px rgba(23,59,96,.12)!important;
}
.btn-ghost{
  background:#ffffff!important;
  color:#344054!important;
  border-color:#dfe3e8!important;
}
.btn-ghost:hover{
  background:#f9fafb!important;
  border-color:#cfd5dc!important;
}
.btn-danger{
  background:#ffffff!important;
  color:#9f3d3d!important;
  border-color:#e6caca!important;
}

/* KPI 大卡片：纯白、精致灰边框、无大色块 */
.kpi-card,
.kpi-card.blue,
.kpi-card.cyan,
.kpi-card.orange,
.kpi-card.danger,
.kpi-card.success{
  min-height:138px;
  background:#ffffff!important;
  color:#111827!important;
  border:1px solid #e4e7ec!important;
  box-shadow:0 6px 18px rgba(16,24,40,.04)!important;
}
.kpi-card::before,
.kpi-card::after{
  display:none!important;
}
.kpi-card:hover{
  transform:translateY(-2px);
  border-color:#d7dce2!important;
  box-shadow:0 10px 24px rgba(16,24,40,.06)!important;
}
.kpi-card span{
  color:#667085!important;
  opacity:1!important;
  font-weight:500;
}
.kpi-card strong{
  color:#111827!important;
  font-weight:700;
  letter-spacing:-1.1px;
}
.kpi-card small{
  color:#98a2b3!important;
  opacity:1!important;
}
.kpi-card .value-normal{color:#111827!important}
.kpi-card .value-brand{color:#163a5f!important}
.kpi-card .value-warning{color:#c98242!important}
.kpi-card .value-danger{color:#9f3d3d!important}
.kpi-card .value-success{color:#2f6f5f!important}

/* 所有面板、推荐卡片：纯白 + 细灰边 */
.panel,
.recommend-card{
  background:#ffffff!important;
  border:1px solid #e4e7ec!important;
  box-shadow:0 6px 18px rgba(16,24,40,.035)!important;
  backdrop-filter:none!important;
}
.panel::before,
.recommend-card::before,
.recommend-card::after{
  display:none!important;
}
.panel:hover,
.recommend-card:hover{
  transform:translateY(-1px);
  border-color:#d7dce2!important;
  box-shadow:0 10px 24px rgba(16,24,40,.05)!important;
}
.recommend-card{
  border-top:1px solid #e4e7ec!important;
}
.recommend-card h4{color:#1d2939!important}
.recommend-card .main-number{color:#163a5f!important}
.recommend-card .desc{color:#7a8492}
.metric-row{
  border-top:1px solid #eef0f2!important;
}
.panel-title h3{color:#1d2939!important}
.panel-title span{color:#8a94a2!important}
.judgement-panel p{color:#344054!important}

/* 状态徽标：极轻背景，主要靠文字 */
.status-badge{
  background:#f3f7f5!important;
  color:#2f6f5f!important;
  border:1px solid #dbe8e3;
}
.status-badge.risk{
  background:#fbf4f4!important;
  color:#9f3d3d!important;
  border-color:#ead5d5;
}

/* 输入和结果：白底与轻灰，不再使用强黄色 */
.form-grid input,
.settings-strip input,
.forecast-input{
  background:#ffffff!important;
  color:#163a5f!important;
  border:1px solid #dfe3e8!important;
  box-shadow:none!important;
}
.form-grid input:hover,
.settings-strip input:hover,
.forecast-input:hover{
  border-color:#cbd2da!important;
}
.form-grid input:focus,
.settings-strip input:focus,
.forecast-input:focus{
  border-color:#8fa6bc!important;
  box-shadow:0 0 0 3px rgba(31,75,118,.06)!important;
}
.editable-tip{
  background:#f2f4f7!important;
  color:#667085!important;
  border:1px solid #e4e7ec;
}
.result-item{
  background:#fafbfc!important;
  border:1px solid #e8eaed!important;
  box-shadow:none!important;
}
.result-item::after{display:none!important}
.result-item span{color:#7a8492}
.result-item strong{color:#163a5f}

/* 表格：浅灰表头，深色文字 */
.table-wrap{
  background:#ffffff!important;
  border:1px solid #e4e7ec!important;
  box-shadow:none!important;
}
table{background:#ffffff}
th{
  background:#f4f6f8!important;
  color:#344054!important;
  border-bottom:1px solid #dfe3e8!important;
  box-shadow:none!important;
}
td{
  color:#344054;
  border-bottom:1px solid #eef0f2!important;
}
tbody tr:hover{background:#fafbfc!important}
tbody tr.current-row{
  background:#f3f6f9!important;
  color:#163a5f;
}
tbody tr.recommended-row{
  background:#f6f8f7!important;
}

/* 标签：极淡底色 */
.tag.balance{
  background:#f0f6f3!important;
  color:#2f6f5f!important;
  border:1px solid #dceae4;
}
.tag.cost{
  background:#f2f5f8!important;
  color:#365873!important;
  border:1px solid #dfe7ee;
}
.tag.stable{
  background:#faf6f1!important;
  color:#9a6738!important;
  border:1px solid #eadfce;
}
.tag.risk{
  background:#fbf3f3!important;
  color:#9f3d3d!important;
  border:1px solid #ead4d4;
}
.tag.ok{
  background:#f2f6f4!important;
  color:#2f6f5f!important;
  border:1px solid #dce8e3;
}

/* 工时 / 成本条：克制的灰蓝、灰绿、浅橙 */
.bar-track{
  background:#eef1f4!important;
  box-shadow:none!important;
}
.bar-fill{
  background:#5f7892!important;
}
.bar-fill.cyan{background:#7890a6!important}
.bar-fill.green{background:#6f887e!important}
.bar-fill.orange{background:#c99768!important}
.bar-fill.red{background:#a96b6b!important}
.bar-fill::after{display:none!important}

/* 热力矩阵也降低饱和度 */
.heat-low{background:#f3f6f4!important;color:#344054!important}
.heat-mid{background:#f7f5f1!important;color:#6b5a46!important}
.heat-high{background:#faf1f1!important;color:#8e4444!important}
.matrix-current{
  outline:2px solid #5d7389!important;
}

/* 提示面板：极浅灰，不使用黄色块 */
.note-panel{
  background:#f8f9fb!important;
  color:#667085!important;
  border:1px solid #e4e7ec!important;
}
.flow div{
  background:#f4f6f8!important;
  color:#344054!important;
  border:1px solid #e4e7ec;
}
.flow span{color:#98a2b3!important}

/* 图表区域 */
.chart-box{
  background:#ffffff!important;
  border:1px solid #e4e7ec!important;
}

/* 启动页同样收敛 */
.app-loader{
  background:#f8f9fb!important;
  color:#1f2937!important;
}
.app-loader small{color:#7a8492!important}
.loader-orbit span{border-top-color:#506a84!important}
.loader-orbit span:nth-child(2){border-top-color:#7d8fa1!important}
.loader-orbit span:nth-child(3){border-top-color:#b3bdc7!important}

/* Toast */
.toast{
  background:#ffffff!important;
  color:#344054!important;
  border:1px solid #dfe3e8!important;
  box-shadow:0 14px 32px rgba(16,24,40,.10)!important;
}

footer{color:#98a2b3!important}

/* 去掉过强动态，保留轻微过渡 */
@keyframes pageEnter{
  from{opacity:0;transform:translate3d(0,8px,0)}
  to{opacity:1;transform:none}
}
@keyframes pageExit{
  from{opacity:1;transform:none}
  to{opacity:0;transform:translate3d(0,-4px,0)}
}
.page{
  filter:none!important;
}


/* =========================================================
   V1.4 大厂亮色版
   黑白灰结构 + 科技蓝主色 + 暗红预警 + 克制橙色
   ========================================================= */
:root{
  --primary:#2563eb;
  --primary-hover:#1d4ed8;
  --primary-soft:#eff6ff;
  --primary-border:#bfdbfe;
  --brand-navy:#163a5f;
  --ink:#111827;
  --ink-2:#1f2937;
  --text:#344054;
  --muted:#667085;
  --muted-2:#98a2b3;
  --danger:#991b1b;
  --danger-soft:#fef2f2;
  --danger-border:#fecaca;
  --warning:#b45309;
  --warning-soft:#fff7ed;
  --success:#166534;
  --success-soft:#f0fdf4;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --surface-muted:#f3f4f6;
  --line:#e5e7eb;
  --line-strong:#d1d5db;
  --shadow:0 6px 18px rgba(15,23,42,.045);
  --shadow-hover:0 12px 28px rgba(15,23,42,.075);
}

/* 基础 */
body,
html{
  background:#f8fafc!important;
  color:var(--ink)!important;
}
.main{
  background:#f8fafc!important;
}
.topbar{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid var(--line)!important;
}
.topbar h2{
  color:var(--ink)!important;
  font-weight:700;
}
.topbar p{color:var(--muted)!important}

/* 左侧边栏：浅色，但有明确结构与激活色 */
.sidebar{
  background:#ffffff!important;
  border-right:1px solid var(--line)!important;
  color:var(--text)!important;
}
.brand{
  border-bottom:1px solid #eef0f3;
  margin-bottom:14px;
  padding-bottom:20px!important;
}
.brand-mark{
  color:var(--primary)!important;
  background:#ffffff!important;
  border:1px solid #dbe3ec!important;
  box-shadow:0 6px 18px rgba(15,23,42,.06)!important;
}
.brand h1{
  color:var(--ink)!important;
  font-size:16px!important;
  font-weight:700;
}
.brand p{
  color:#8b93a1!important;
}
.nav{
  gap:7px!important;
}
.nav-btn{
  min-height:46px!important;
  color:#475467!important;
  background:transparent!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  font-weight:600!important;
  padding-left:16px!important;
  transform:none!important;
}
.nav-btn::before{
  left:0!important;
  width:3px!important;
  background:var(--primary)!important;
}
.nav-btn:hover{
  color:var(--primary-hover)!important;
  background:#f8fafc!important;
  border-color:#edf0f3!important;
  transform:none!important;
}
.nav-btn.active{
  color:var(--primary)!important;
  background:var(--primary-soft)!important;
  border-color:var(--primary-border)!important;
  box-shadow:none!important;
  transform:none!important;
}
.nav-btn.active::before{
  height:24px!important;
}
.scenario-box{
  background:#f8fafc!important;
  border:1px solid #e7ebf0!important;
}
.scenario-box label{color:#667085!important}
.scenario-box input,
.scenario-box select{
  background:#ffffff!important;
  color:#1f2937!important;
  border-color:#d8dee6!important;
}
.privacy-note{
  background:#f8fafc!important;
  border-color:#e7ebf0!important;
}
.privacy-note strong{color:#344054!important}
.privacy-note span{color:#8b93a1!important}

/* 顶部按钮主次 */
.btn{
  border-radius:8px!important;
  font-weight:600!important;
  min-height:38px;
}
.btn-primary{
  background:var(--primary)!important;
  color:#ffffff!important;
  border-color:var(--primary)!important;
  box-shadow:0 4px 12px rgba(37,99,235,.18)!important;
}
.btn-primary:hover{
  background:var(--primary-hover)!important;
  border-color:var(--primary-hover)!important;
  box-shadow:0 6px 16px rgba(37,99,235,.24)!important;
}
.btn-ghost{
  background:#ffffff!important;
  color:var(--primary)!important;
  border-color:#cfd8e3!important;
  box-shadow:none!important;
}
.btn-ghost:hover{
  background:var(--primary-soft)!important;
  border-color:var(--primary-border)!important;
}
.btn-danger{
  background:#ffffff!important;
  color:var(--danger)!important;
  border-color:#e6caca!important;
}

/* KPI 卡片：白底细边框，数字恢复高对比 */
.kpi-card,
.kpi-card.blue,
.kpi-card.cyan,
.kpi-card.orange,
.kpi-card.danger,
.kpi-card.success{
  background:#ffffff!important;
  border:1px solid #e4e7ec!important;
  color:var(--ink)!important;
  box-shadow:var(--shadow)!important;
}
.kpi-card:hover{
  border-color:#d7dce2!important;
  box-shadow:var(--shadow-hover)!important;
}
.kpi-card span{
  color:#667085!important;
  font-weight:600!important;
}
.kpi-card strong{
  color:var(--ink)!important;
  font-size:36px!important;
  font-weight:750!important;
  letter-spacing:-1.2px!important;
}
.kpi-card small{
  color:#98a2b3!important;
}
.kpi-card .value-normal{
  color:var(--ink)!important;
}
.kpi-card .value-brand{
  color:var(--ink)!important;
}
.kpi-card .value-warning{
  color:var(--warning)!important;
}
.kpi-card .value-danger{
  color:var(--danger)!important;
}
.kpi-card .value-success{
  color:var(--success)!important;
}

/* KPI 顶部细色条，提供功能隐喻，不做整块染色 */
.kpi-card{
  position:relative;
}
.kpi-card::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:20px!important;
  top:0!important;
  width:44px!important;
  height:3px!important;
  border-radius:0 0 3px 3px!important;
  background:#cbd5e1!important;
}
.kpi-card:nth-child(1)::before{background:var(--primary)!important}
.kpi-card:nth-child(2)::before{background:#0f766e!important}
.kpi-card:nth-child(3)::before{background:#64748b!important}
.kpi-card:nth-child(4)::before{background:var(--danger)!important}
.kpi-card::after{display:none!important}

/* 面板与推荐卡片 */
.panel,
.recommend-card{
  background:#ffffff!important;
  border:1px solid #e4e7ec!important;
  box-shadow:var(--shadow)!important;
}
.panel:hover,
.recommend-card:hover{
  border-color:#d8dee6!important;
  box-shadow:var(--shadow-hover)!important;
}
.panel-title h3,
.recommend-card h4{
  color:var(--ink-2)!important;
  font-weight:700!important;
}
.panel-title span,
.recommend-card .desc{
  color:var(--muted)!important;
}
.recommend-card{
  position:relative;
}
.recommend-card::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:0!important;
  bottom:0!important;
  width:3px!important;
  height:auto!important;
  background:#94a3b8!important;
}
.recommend-card.cost::before{background:var(--primary)!important}
.recommend-card.balance::before{background:#0f766e!important}
.recommend-card.stable::before{background:var(--warning)!important}
.recommend-card .main-number{
  color:var(--ink)!important;
}
.metric-row{
  border-top-color:#eef0f3!important;
}

/* 判断和警示 */
.status-badge{
  background:var(--success-soft)!important;
  color:var(--success)!important;
  border-color:#bbf7d0!important;
}
.status-badge.risk{
  background:var(--danger-soft)!important;
  color:var(--danger)!important;
  border-color:var(--danger-border)!important;
}
.judgement-panel{
  border-left:3px solid #cbd5e1!important;
}
.judgement-panel:has(.status-badge.risk){
  border-left-color:var(--danger)!important;
}

/* 输入框 */
.form-grid input,
.settings-strip input,
.forecast-input{
  background:#ffffff!important;
  color:var(--ink)!important;
  border:1px solid #d7dde5!important;
}
.form-grid input:focus,
.settings-strip input:focus,
.forecast-input:focus{
  border-color:var(--primary)!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.08)!important;
}
.editable-tip{
  background:#f8fafc!important;
  color:#667085!important;
  border-color:#e4e7ec!important;
}
.result-item{
  background:#f8fafc!important;
  border-color:#e7ebf0!important;
}
.result-item strong{
  color:var(--ink)!important;
}

/* 表格 */
.table-wrap{
  border-color:#e4e7ec!important;
}
th{
  background:#f8fafc!important;
  color:#344054!important;
  font-weight:700!important;
  border-bottom:1px solid #dfe3e8!important;
}
td{
  color:#344054!important;
}
tbody tr.current-row{
  background:var(--primary-soft)!important;
}
tbody tr.current-row td{
  color:#1e3a8a!important;
}
tbody tr.recommended-row{
  background:#f8fbfa!important;
}

/* 标签 */
.tag.cost{
  background:var(--primary-soft)!important;
  color:var(--primary-hover)!important;
  border-color:var(--primary-border)!important;
}
.tag.balance{
  background:#f0fdfa!important;
  color:#0f766e!important;
  border-color:#99f6e4!important;
}
.tag.stable{
  background:var(--warning-soft)!important;
  color:var(--warning)!important;
  border-color:#fed7aa!important;
}
.tag.risk{
  background:var(--danger-soft)!important;
  color:var(--danger)!important;
  border-color:var(--danger-border)!important;
}
.tag.ok{
  background:var(--success-soft)!important;
  color:var(--success)!important;
  border-color:#bbf7d0!important;
}

/* 进度条 */
.bar-track{
  background:#eef2f6!important;
}
.bar-fill{
  background:#64748b!important;
}
.bar-fill.blue{background:var(--primary)!important}
.bar-fill.cyan{background:#0f766e!important}
.bar-fill.green{background:#4b7b6c!important}
.bar-fill.orange{background:var(--warning)!important}
.bar-fill.red{background:var(--danger)!important}

/* 矩阵 */
.heat-low{
  background:#f0fdf4!important;
  color:#166534!important;
}
.heat-mid{
  background:#fff7ed!important;
  color:#9a5a13!important;
}
.heat-high{
  background:#fef2f2!important;
  color:var(--danger)!important;
}
.matrix-current{
  outline:2px solid var(--primary)!important;
}

/* 提示与流程 */
.note-panel{
  background:#f8fafc!important;
  color:#475467!important;
  border-color:#e4e7ec!important;
}
.flow div{
  background:#ffffff!important;
  color:#344054!important;
  border-color:#dfe3e8!important;
}
.flow span{color:#94a3b8!important}

/* Toast */
.toast{
  background:#ffffff!important;
  color:#344054!important;
  border-color:#dfe3e8!important;
  box-shadow:0 12px 28px rgba(15,23,42,.10)!important;
}

/* 页面切换保持现代但克制 */
@keyframes pageEnter{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}
@keyframes pageExit{
  from{opacity:1}
  to{opacity:0}
}


/* =========================================================
   V1.5 动态测算面板专项优化
   ========================================================= */

/* 防止同一行卡片被较高内容强行拉伸 */
.input-layout{
  align-items:start!important;
}
.input-layout > .panel{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
}

/* 动态测算页背景更有层级 */
#calculator{
  background:transparent;
}

/* 输入类面板：白底 + 轻微冷蓝识别 */
#calculator .input-panel{
  position:relative;
  background:#ffffff!important;
  border:1px solid #dfe5ec!important;
  box-shadow:0 6px 18px rgba(15,23,42,.04)!important;
  overflow:hidden;
}
#calculator .input-panel::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:3px!important;
  height:auto!important;
  background:#2563eb!important;
}
#calculator .input-panel:nth-child(2)::before{
  background:#0f766e!important;
}
#calculator .input-panel:nth-child(3)::before{
  background:#64748b!important;
}

/* 面板标题区域 */
#calculator .input-panel .panel-title,
#calculator .results-panel .panel-title{
  margin:-20px -20px 18px!important;
  padding:15px 20px!important;
  background:#f8fafc!important;
  border-bottom:1px solid #e8edf2!important;
}
#calculator .input-panel .panel-title h3,
#calculator .results-panel .panel-title h3{
  color:#172033!important;
  font-size:17px!important;
  font-weight:700!important;
}

/* 取消旧的黄色提示视觉 */
#calculator .editable-tip{
  display:none!important;
}

/* 输入框：轻微蓝灰底，聚焦时科技蓝 */
#calculator .form-grid label{
  color:#5d6b7d!important;
  font-weight:500!important;
}
#calculator .form-grid input{
  background:#f9fbfd!important;
  color:#111827!important;
  border:1px solid #cfd8e3!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  min-height:40px;
}
#calculator .form-grid input:hover{
  background:#ffffff!important;
  border-color:#aebdcb!important;
}
#calculator .form-grid input:focus{
  background:#ffffff!important;
  border-color:#2563eb!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.08)!important;
}

/* 排班限制说明保留，但改为轻蓝标签 */
#calculator .panel-title span:not(.editable-tip){
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  color:#1d4ed8!important;
  background:#eff6ff!important;
  border:1px solid #dbeafe!important;
  border-radius:6px;
  font-weight:600;
}

/* 实时结果区：采用更明确的深浅层次 */
#calculator .results-panel{
  background:#ffffff!important;
  border:1px solid #dfe5ec!important;
  box-shadow:0 6px 18px rgba(15,23,42,.04)!important;
}
#calculator .results-panel::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:3px!important;
  background:#163a5f!important;
}
#calculator .result-grid{
  gap:10px!important;
}
#calculator .result-item{
  background:#f8fafc!important;
  border:1px solid #e4e9ef!important;
  border-radius:10px!important;
}
#calculator .result-item:hover{
  background:#ffffff!important;
  border-color:#cfd8e3!important;
}
#calculator .result-item span{
  color:#667085!important;
}
#calculator .result-item strong{
  color:#111827!important;
  font-weight:700!important;
}

/* 下方分解表同样增加轻微区分 */
#calculator .two-col .panel{
  background:#ffffff!important;
  border:1px solid #dfe5ec!important;
}
#calculator .two-col .panel:first-child{
  border-top:3px solid #2563eb!important;
}
#calculator .two-col .panel:last-child{
  border-top:3px solid #0f766e!important;
}
#calculator .two-col .panel .panel-title{
  margin-bottom:12px!important;
}
#calculator .two-col th{
  background:#f5f7fa!important;
  color:#344054!important;
}

/* 动态测算页面整体间距收紧 */
#calculator .input-layout{
  gap:16px!important;
}
#calculator .panel{
  margin-top:0!important;
}
#calculator .two-col{
  margin-top:18px;
}

/* 小屏下保持单列 */
@media(max-width:1180px){
  #calculator .input-layout{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   V1.8 网络界面修正版
   ========================================================= */

/* 删除本地提示后，方案管理区不再被自动推到顶部或底部 */
.scenario-box{
  margin-bottom:18px;
}

/* 历史方案操作文字更长，按钮保持可读 */
.scenario-box .button-row{
  gap:8px;
}
.scenario-box .button-row .btn{
  min-width:0;
  padding-left:8px;
  padding-right:8px;
  font-size:13px;
}

/* 参数控制页增加轻微页面识别 */
#calculator::before{
  content:"参数配置";
  display:inline-flex;
  align-items:center;
  margin-bottom:14px;
  padding:5px 10px;
  border-radius:6px;
  color:#1d4ed8;
  background:#eff6ff;
  border:1px solid #dbeafe;
  font-size:12px;
  font-weight:600;
}

/* 移除页脚后，页面底部保留合理呼吸空间 */
.main{
  padding-bottom:34px!important;
}
