+/* CanSMS unified member and administrator shell */
#page-dash,#page-admin{
  --bg3:#ffffff;
  --bg4:#f4f8fc;
  --bdr:#dce5f0;
  --txt:#10213a;
  --sub:#607087;
  --p2:#2463eb;
  --p3:#2463eb;
  --g:#0dba91;
  --y:#a66a00;
  --r:#ef6672;
  --b:#2463eb;
  --bo-bg:#f4f8fc;
  --bo-card:#ffffff;
  --bo-text:#10213a;
  --bo-sub:#607087;
  --bo-blue:#2463eb;
  --bo-green:#0dba91;
  --bo-line:#dce5f0;
  --bo-warn:#f3ad28;
  --bo-danger:#ef6672;
  overflow-x:clip;
  background:var(--bo-bg);
  color:var(--bo-text);
}
#page-dash .wrap,#page-admin .wrap{max-width:1220px}
#page-admin h1,#page-admin h2,#page-admin h3,#page-admin th,#page-admin td,
#page-admin .atab,#page-admin .kpi-l,#page-admin .kpi-v{color:var(--bo-text)}
#page-admin .astats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}
#page-admin .astat,#page-admin .dcard,#page-admin .scard,#page-admin .ap{
  border:1px solid var(--bo-line);
  background:var(--bo-card);
  box-shadow:0 12px 34px rgba(25,62,102,.08);
}
#page-admin .astat{min-width:0;border-radius:18px;padding:20px}
#page-admin .astat .kpi-l,#page-admin .astat small,#page-admin .txdt{color:var(--bo-sub)}
#page-admin .astat .kpi-v{font-weight:800}
#page-admin .astat:first-child .kpi-v{color:var(--bo-green)}
#page-admin .atabs{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:8px;
  margin:28px 0;
  padding:8px;
  border:1px solid var(--bo-line);
  border-radius:16px;
  background:var(--bo-card);
  box-shadow:0 9px 24px rgba(25,62,102,.06);
}
#page-admin .atab{
  min-height:44px;
  margin:0;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:10px;
  white-space:normal;
  line-height:1.25;
}
#page-admin .atab:hover{background:#edf4ff;color:var(--bo-blue)}
#page-admin .atab.on{border-color:#c9dcff;background:#eaf2ff;color:var(--bo-blue)}
#page-admin .ap{overflow:visible;border-radius:18px;padding:20px}
#page-admin table{background:var(--bo-card)}
#page-admin th{border-bottom-color:var(--bo-line);background:#f7faff}
#page-admin td{border-bottom-color:#eaf0f6;color:var(--bo-sub)}
#page-admin tr:hover td{background:#f8fbff}
#page-admin .f input,#page-admin .f select,#page-admin .f textarea,
#page-admin input,#page-admin select,#page-admin textarea{
  border-color:var(--bo-line);
  background:#fff;
  color:var(--bo-text);
}
#page-admin .btn-p{background:var(--bo-blue)}
#page-admin .notice{border-color:#f4d697;background:#fff8e6;color:#8a5b00}
#page-admin .notice.info{border-color:#c9dcff;background:#eef5ff;color:#245cbc}
#page-admin .chart-wrap .bar{background:linear-gradient(180deg,var(--bo-blue),#4b83f5)}
#page-admin .tag-ok{background:#e7faf4;color:#087f65}
#page-admin .tag-p,#page-admin .tag-w{background:#fff5da;color:#946400}
#page-admin .tag-f{background:#fff0f2;color:#b63d4a}
#page-admin .tag-b{background:#eaf2ff;color:#245cbc}

#page-dash .dashboard-nav-panel{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
#page-dash .dashboard-nav-panel .dash-tab{min-height:44px;white-space:normal}
#page-dash[data-dashboard-resolving] .dashboard-content-panel{position:relative;min-height:280px}
#page-dash[data-dashboard-resolving] .dashboard-content-panel::after{
  content:"正在载入会员工作台…";
  position:absolute;
  inset:0;
  z-index:5;
  display:grid;
  place-items:center;
  border:1px solid var(--bo-line);
  border-radius:18px;
  background:rgba(244,248,252,.94);
  color:var(--bo-sub);
  font-weight:700;
}

@media (max-width:820px){
  #page-dash .dash-layout{display:block}
  #page-dash .dashboard-nav-panel{
    position:static;
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    overflow:visible;
    padding:10px;
  }
  #page-dash .dashboard-nav-panel .dash-tab{
    min-width:0;
    min-height:48px;
    padding:8px;
    justify-content:center;
    text-align:center;
    white-space:normal;
  }
  #page-admin .atabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible;
  }
  #page-admin .atab{min-width:0;min-height:48px}
  #page-admin .astats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mob-menu{
    border-color:var(--bo-line);
    background:rgba(255,255,255,.98);
    box-shadow:0 16px 34px rgba(25,62,102,.14);
  }
  .mob-menu .nl{color:var(--bo-text)}
  .mob-menu .nl:hover{background:#edf4ff;color:var(--bo-blue)}
  .mob-div{background:var(--bo-line)}
  .mob-menu-bal{border-color:#bdeedf;background:#eafbf6}
}

@media (max-width:600px){
  #page-dash>.wrap,#page-admin>.wrap{width:100%;padding-inline:12px}
  #page-dash .dashboard-nav-panel,#page-admin .atabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  #page-admin .astats{grid-template-columns:1fr}
  #page-admin .astat,#page-admin .ap,#page-admin .dcard,#page-admin .scard{border-radius:14px;padding:15px}
  #page-admin .ap{max-width:100%}
  #page-admin .ap>table{min-width:0}
  #page-admin .ap table,#page-admin .ap thead,#page-admin .ap tbody,#page-admin .ap tr,#page-admin .ap th,#page-admin .ap td{max-width:100%}
  #page-admin .ap input,#page-admin .ap select,#page-admin .ap button{min-height:44px}
  #page-dash .dashboard-content-panel,#page-admin .ap{min-width:0}
}
