.t-youth{--tc:#007bdd}
.t-startup{--tc:#5f8f0e}
.t-ere{--tc:#ee8600}
.t-erp{--tc:#e2493c}
.t-big-hall{--tc:#0b2447}
.t-etc{--tc:#6b7685}

.nb .blist-h,.nb .blist a{grid-template-columns:80px minmax(0,1fr) 100px 120px 80px}
.nb .blist .tit .badge{min-width:58px;justify-content:center}
.nb .blist li.top .no{display:inline-flex;justify-self:center;padding:3px 12px;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:800}
.nb .blist li.top .tit b{font-weight:700}
.nb .chips em{margin-left:2px}
.nb em.badge,.pr em.badge{font-style:normal}
.srch input{width:0}
.nb .blist .meta i{font-style:normal;display:none}
.nb-msg{max-width:560px;margin:20px auto 0;padding:56px 40px;border:1px solid var(--line);border-radius:20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.nb-msg>svg{width:52px;height:52px;color:var(--blue)}
.nb-msg p{font-size:17px;color:var(--ink-2);line-height:1.7}
.nb-msg p b{display:block;font-size:22px;color:var(--ink);margin-bottom:4px}
.nb-pw{display:flex;gap:8px;width:100%;max-width:400px}
.nb-pw .ipt{flex:1 1 auto;min-width:0;max-width:none}
.nb-pw .btn{flex:0 0 auto}
.nb-back{display:inline-flex;align-items:center;gap:6px;font-size:15.5px;font-weight:600;color:var(--ink-3)}
.nb-back svg{width:17px;height:17px}
.nb-back:hover{color:var(--blue)}
.bfile small{margin-left:auto;flex:0 0 auto;font-size:14px;font-weight:500;color:var(--ink-3)}

.pr-top{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:24px;margin-bottom:56px}
.pr-stat{display:grid;grid-template-rows:1fr 1fr;gap:16px}
.pr-stat>div{display:flex;align-items:baseline;gap:12px;padding:26px 30px;border-radius:18px;background:var(--blue);color:#fff}
.pr-stat>div+div{background:var(--ink)}
.pr-stat b{font-family:var(--font-pt);font-size:52px;font-weight:800;line-height:1}
.pr-stat span{font-size:17px;font-weight:700}
.pr-bar{padding:30px 34px;border-radius:18px;background:var(--bg)}
.pr-bar h3{font-family:var(--font-pt);font-size:21px;font-weight:800;margin-bottom:16px}
.pr-bar ul{display:grid;gap:9px}
.pr-bar a{display:grid;grid-template-columns:150px minmax(0,1fr) 34px;align-items:center;gap:14px;font-size:16px}
.pr-bar .nm{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pr-bar .tr{height:14px;border-radius:7px;background:#dde5ef;overflow:hidden}
.pr-bar .tr i{display:block;height:100%;border-radius:7px;background:var(--blue);transition:background .2s}
.pr-bar li:nth-child(n+2) .tr i{background:#4aa3ec}
.pr-bar li:nth-child(n+4) .tr i{background:#8fc5f2}
.pr-bar .c{text-align:right;font-weight:800;color:var(--blue)}
.pr-bar a:hover .nm{color:var(--blue)}
.pr-bar a:hover .tr i{background:var(--lime)}

.pr-list{display:grid}
.pr-list li{border-bottom:1px solid var(--line)}
.pr-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:28px;padding:26px 10px;transition:background .2s}
a.pr-item:hover{background:#f7fafd}
.pr-d{display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;border:2px solid var(--line);transition:.25s}
.pr-d b{font-family:var(--font-pt);font-size:34px;font-weight:800;line-height:1}
.pr-d span{margin-top:4px;font-size:13.5px;font-weight:600;color:var(--ink-3)}
a.pr-item:hover .pr-d{border-color:var(--blue);background:var(--blue);color:#fff}
a.pr-item:hover .pr-d span{color:rgba(255,255,255,.85)}
.pr-t{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.pr-t strong{font-size:19.5px;font-weight:700;line-height:1.45;letter-spacing:-.03em;transition:color .2s}
a.pr-item:hover .pr-t strong{color:var(--blue)}
.pr-t small{font-size:14.5px;color:var(--ink-3)}
.pr-go{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid var(--line);font-size:15.5px;font-weight:700;white-space:nowrap;transition:.2s}
.pr-go svg{width:16px;height:16px}
a.pr-item:hover .pr-go{background:var(--ink);border-color:var(--ink);color:#fff}

.cal2{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
.cal2-main{min-width:0}
.cal2-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.cal2-ym{display:flex;align-items:center;gap:14px}
.cal2-ym h2{font-family:var(--font-pt);font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink-3);min-width:190px;text-align:center}
.cal2-ym h2 b{color:var(--ink)}
.cal2-nav{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:.2s}
.cal2-nav:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.cal2-nav svg{width:20px;height:20px}
.cal2-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.cal2-legend button{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);font-size:14.5px;font-weight:700;color:var(--ink-3);background:#fff;transition:.2s}
.cal2-legend button i{width:10px;height:10px;border-radius:50%;background:#c9d1dc}
.cal2-legend button.on{color:var(--ink);border-color:#cfd8e3}
.cal2-legend button.on i{background:var(--tc)}
.cal2-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.cal2-week span{padding:12px 0;text-align:center;font-size:15px;font-weight:700;color:var(--ink-2)}
.cal2-week .sun{color:#e2493c}
.cal2-week .sat{color:var(--blue)}
.cal2-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line)}
.cal2-grid .day{position:relative;min-height:128px;padding:10px 8px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;align-items:stretch;gap:5px;text-align:left;min-width:0;background:#fff;transition:background .2s}
.cal2-grid .day.blank{background:#fafbfd}
.cal2-grid button.day:hover{background:#f4f9fe}
.cal2-grid .n{display:inline-grid;place-items:center;align-self:flex-start;min-width:30px;height:30px;padding:0 4px;border-radius:50%;font-size:16px;font-weight:700}
.cal2-grid .sun .n{color:#e2493c}
.cal2-grid .sat .n{color:var(--blue)}
.cal2-grid .today .n{background:var(--lime);color:#fff}
.cal2-grid .day.sel{background:#eaf4fd;box-shadow:inset 0 0 0 2px var(--blue)}
.cal2-grid .evs{display:flex;flex-direction:column;gap:3px;min-width:0}
.cal2-grid .ev{display:block;padding:3px 7px;border-radius:5px;background:var(--tc);color:#fff;font-size:12.5px;font-weight:600;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal2-grid .more{font-size:12.5px;font-weight:700;color:var(--ink-3);padding-left:4px}
.cal2-grid .dots{display:none}

.cal2-side{position:sticky;top:calc(var(--head-h) + 90px);display:flex;flex-direction:column;gap:16px;min-width:0}
.cal2-sum{padding:26px 26px 22px;border-radius:18px;background:var(--ink);color:#fff}
.cal2-sum h3{font-size:16px;font-weight:700;color:rgba(255,255,255,.75)}
.cal2-sum .tot{margin-top:4px;font-size:18px;font-weight:700}
.cal2-sum .tot b{font-family:var(--font-pt);font-size:46px;font-weight:800;margin-right:4px}
.cal2-sum .bar{display:flex;height:12px;margin-top:14px;border-radius:6px;overflow:hidden;background:rgba(255,255,255,.15)}
.cal2-sum .bar i{display:block;height:100%;background:var(--tc)}
.cal2-sum .bar i.t-big-hall{background:#7f8da3}
.cal2-sum .leg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:14.5px;color:rgba(255,255,255,.85)}
.cal2-sum .leg li{display:inline-flex;align-items:center;gap:6px}
.cal2-sum .leg i{width:9px;height:9px;border-radius:50%;background:var(--tc)}
.cal2-sum .leg i.t-big-hall{background:#7f8da3}
.cal2-sum .leg b{color:#fff}
.cal2-list{border:1px solid var(--line);border-radius:18px;overflow:hidden}
.cal2-list-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 22px;border-bottom:1px solid var(--line)}
.cal2-list-h h3{font-size:18.5px;font-weight:800}
.cal2-all{font-size:14.5px;font-weight:700;color:var(--blue);padding:4px 2px}
.cal2-items{max-height:520px;overflow-y:auto;padding:8px 22px 20px;-webkit-overflow-scrolling:touch}
.cal2-items .grp{padding-top:14px}
.cal2-items .dh{display:flex;align-items:baseline;gap:7px;margin-bottom:8px}
.cal2-items .dh b{font-family:var(--font-pt);font-size:24px;font-weight:800}
.cal2-items .dh span{font-size:15px;font-weight:700;color:var(--ink-3)}
.cal2-items .dh.sun span{color:#e2493c}
.cal2-items .dh.sat span{color:var(--blue)}
.cal2-items .dh em{font-style:normal;padding:1px 9px;border-radius:999px;background:var(--lime);color:#fff;font-size:12.5px;font-weight:800}
.cal2-items .it{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;padding:12px 14px;margin-bottom:8px;border-radius:12px;background:var(--bg)}
.cal2-items .lb{display:inline-flex;padding:2px 9px;border-radius:999px;background:var(--tc);color:#fff;font-size:12.5px;font-weight:800}
.cal2-items .tm{font-size:14.5px;font-weight:700;color:var(--ink-2)}
.cal2-items .it p{grid-column:1 / -1;font-size:16px;font-weight:600;line-height:1.5}
.cal2-items .none{padding:28px 0 12px;text-align:center;font-size:15.5px;color:var(--ink-3)}
.cal2-book{width:100%}

@media (max-width:1280px){
  .cal2{grid-template-columns:minmax(0,1fr) 330px;gap:24px}
  .cal2-grid .day{min-height:112px}
  .pr-top{grid-template-columns:minmax(0,1fr)}
  .pr-stat{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1080px){
  .cal2{grid-template-columns:minmax(0,1fr)}
  .cal2-side{position:static}
  .cal2-items{max-height:none}
}
@media (max-width:860px){
  .nb .blist a{grid-template-columns:minmax(0,1fr)}
  .nb .blist .meta .nm{display:none}
  .nb .blist .meta i{display:inline}
  .nb .blist li.top .no{display:none}
  .pr-top{margin-bottom:36px;gap:14px}
  .pr-item{grid-template-columns:72px minmax(0,1fr);gap:16px;padding:20px 2px}
  .pr-d{width:72px;height:72px}
  .pr-d b{font-size:26px}
  .pr-d span{font-size:12px;margin-top:2px}
  .pr-t strong{font-size:17px}
  .pr-t small{font-size:13.5px}
  .pr-go{grid-column:2;justify-self:start;padding:8px 15px;font-size:14px}
  .cal2-top{margin-bottom:16px}
  .cal2-ym{gap:8px}
  .cal2-ym h2{font-size:32px;min-width:136px}
  .cal2-nav{width:40px;height:40px}
  .cal2-grid .day{min-height:64px;padding:6px 2px;align-items:center;gap:3px;text-align:center}
  .cal2-grid .n{align-self:center;font-size:15px;min-width:30px}
  .cal2-grid .evs{display:none}
  .cal2-grid .dots{display:flex;justify-content:center;gap:3px;flex-wrap:wrap}
  .cal2-grid .dots i{width:6px;height:6px;border-radius:50%;background:var(--tc)}
  .cal2-week span{font-size:14px;padding:10px 0}
}
@media (max-width:560px){
  .nb-msg{padding:40px 20px;border-radius:16px}
  .nb-pw{flex-direction:column}
  .pr-stat>div{flex-direction:column;align-items:flex-start;gap:6px;padding:18px 18px;border-radius:14px}
  .pr-stat b{font-size:38px}
  .pr-stat span{font-size:15px}
  .pr-bar{padding:20px 16px;border-radius:14px}
  .pr-bar h3{font-size:18px;margin-bottom:12px}
  .pr-bar a{grid-template-columns:92px minmax(0,1fr) 26px;gap:10px;font-size:14.5px}
  .pr-bar .tr{height:10px}
  .pr-item{grid-template-columns:60px minmax(0,1fr);gap:14px}
  .pr-d{width:60px;height:60px}
  .pr-d b{font-size:22px}
  .pr-d span{font-size:11px}
  .cal2-top .btn{padding:8px 14px}
  .cal2-ym h2{font-size:28px;min-width:118px}
  .cal2-ym .cal2-nav{width:38px;height:38px}
  .cal2-legend{gap:5px}
  .cal2-legend button{padding:6px 11px;font-size:13.5px;gap:6px}
  .cal2-grid .day{min-height:56px}
  .cal2-grid .n{font-size:14.5px;min-width:28px;height:28px}
  .cal2-sum{padding:20px 18px;border-radius:14px}
  .cal2-sum .tot b{font-size:38px}
  .cal2-list{border-radius:14px}
  .cal2-list-h{padding:16px 16px}
  .cal2-items{padding:4px 16px 16px}
  .cal2-items .it p{font-size:15.5px}
}
