.calc{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:start}
.calc .in{background:var(--soft-2);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:16px}
.opts{display:flex;flex-direction:column;gap:10px}
.optr{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.optr.na{opacity:.45}
.optr .nm b{display:block;font-size:15px}
.optr .nm span{font-size:13px;color:var(--muted)}
.optr .pr{text-align:right}
.optr .pr b{display:block;font-size:16px}
.optr .pr s{font-size:12.5px;color:var(--muted)}
.optr .pr .free{font-size:12px;font-weight:700;color:var(--green)}
.freebar{border-radius:16px;padding:14px 18px;background:var(--brand-soft);font-size:13.5px;color:var(--ink-2)}
.freebar .bar{height:6px;background:#fff;border-radius:6px;margin-top:8px}
.freebar .bar i{display:block;height:6px;border-radius:6px;background:var(--brand);transition:width .3s}
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.flow div{position:relative;background:var(--soft-2);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:8px}
.flow b{font-size:14.5px}
.flow span{font-size:13px;color:var(--ink-2);line-height:1.55}
.flow .k{font-family:var(--serif);font-size:26px;color:var(--brand);line-height:1}
.track{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:start}
.track form{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:22px;padding:24px}
.track .row{display:flex;gap:10px}
.track .row input{flex:1;min-width:0;height:52px;border-radius:999px;border:1.5px solid var(--line-2);padding:0 20px;font-size:14.5px;outline:none;text-transform:uppercase}
.track .row input:focus{border-color:var(--ink)}
.track .row .btn{height:52px}
.tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.tl li{display:grid;grid-template-columns:28px 1fr;gap:14px;position:relative;padding-bottom:20px}
.tl li:before{content:'';position:absolute;left:13px;top:22px;bottom:0;width:2px;background:var(--line)}
.tl li:last-child:before{display:none}
.tl .dot{width:28px;height:28px;border-radius:999px;border:2px solid var(--line-2);background:#fff;display:flex;align-items:center;justify-content:center;z-index:1}
.tl li.done .dot{background:var(--ink);border-color:var(--ink);color:#fff}
.tl li.now .dot{border-color:var(--brand);box-shadow:0 0 0 5px var(--brand-soft)}
.tl li.now .dot:after{content:'';width:10px;height:10px;border-radius:999px;background:var(--brand)}
.tl b{display:block;font-size:14.5px}
.tl span{font-size:13px;color:var(--muted)}
.tl li.todo b{color:var(--muted);font-weight:500}
.trk-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;align-items:center;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.trk-head .tag{background:var(--brand);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.1em;border-radius:999px;padding:5px 12px}
@media (max-width:1100px){.flow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.calc,.track{grid-template-columns:1fr}}
@media (max-width:768px){
  .flow{grid-template-columns:1fr 1fr}
  .optr{grid-template-columns:1fr auto;padding:14px}
  .optr .ic-c{display:none}
  .track .row{flex-direction:column}
}
