/* «Цифры» — дополнения к стилю макета */
#nBox{display:flex;flex-direction:column;gap:14px}
.nhead{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 2px}
.nhead .grow{flex:1}
.ngrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px}
@media (max-width:980px){.ngrid{grid-template-columns:1fr}}
.rank{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.rank:last-child{border-bottom:0}
.rank .pl{width:26px;font-weight:700;color:var(--muted);text-align:center;flex:none}
.rank.first .pl{color:var(--amber)}
.rank .who{flex:1;min-width:0}
.rank .who b{display:block}
.rank .who small{color:var(--muted)}
.rank.me{background:var(--accent-soft);margin:0 -10px;padding:9px 10px;border-radius:10px}
.bar{height:8px;border-radius:6px;background:var(--soft);overflow:hidden;margin-top:5px}
.bar i{display:block;height:100%;background:var(--accent);border-radius:6px}
.rank .pp{font-weight:650;white-space:nowrap;min-width:56px;text-align:right}
.money{white-space:nowrap;font-variant-numeric:tabular-nums}
.nstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.nstats .stat b{font-size:18px}
.nstats .stat.hi{background:var(--accent-soft)}
.nstats .stat.hi b{color:var(--accent)}
@media (max-width:520px){.nstats{grid-template-columns:1fr 1fr}}
/* лесенка */
.ladder{display:flex;gap:4px;margin:16px 0 6px;position:relative}
.ladder .stp{flex:1;min-width:0;background:var(--soft);border-radius:8px;padding:8px 8px 7px;font-size:12px;color:var(--muted);position:relative}
.ladder .stp b{display:block;font-size:15px;color:var(--text)}
.ladder .stp.done{background:var(--green-soft)}
.ladder .stp.done b{color:var(--green)}
.ladder .stp.cur{background:var(--accent);color:#fff}
.ladder .stp.cur b{color:#fff}
.ladder .stp .here{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--accent);white-space:nowrap}
.ladder .stp .fill{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);border-radius:0 0 0 8px}
.calc{font-size:13px;display:grid;grid-template-columns:1fr auto;gap:4px 14px;margin-top:10px}
.calc span:nth-child(odd){color:var(--muted)}
.calc span:nth-child(even){text-align:right}
.calc .tot{font-weight:650;color:var(--text)!important;border-top:1px solid var(--line);padding-top:4px}
.nd td.r,.nd th.r{text-align:right}
.nd tr.dl{cursor:pointer}
.nd tr.dl:hover td{background:var(--soft)}
.nd tr.sub td{font-size:12px;color:var(--muted);background:var(--soft);padding:5px 12px}
.nd .neg{color:var(--red)}
.lockline{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center}
.lockline svg{width:14px;height:14px}
/* постановка плана */
.pform{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 10px}
@media (max-width:720px){.pform{grid-template-columns:1fr 1fr}}
.pform .wide{grid-column:1/-1}
.steps{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px}
.steps .srow{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
.steps input{width:140px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--soft);color:var(--text);font:inherit;font-size:13px}
.steps input.pc{width:70px}
.plist{font-size:13px}
.plist div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);cursor:pointer}
.plist div:hover{color:var(--accent)}
.plist small{color:var(--muted)}
