/* Weight Calculation — tool body styles (header, hero and footer come from /tools/assets/vercho-tools.css) */
:root{
  --bg:#F5F4F1; --side:#F1EFEB; --paper:#FFFFFF; --strip:#F4F2EF; --line:#E3E0DB; --line-2:#D3CDC5;
  --fg:#1B1B1E; --muted:#5F5B56; --faint:#8F8983;
  --accent:#E2691A; --accent-2:#F08A4B; --accent-soft:#FDF0E6; --accent-line:#F3C6AA;
  --bad:#CD3F33; --bad-soft:#FCE8E5;
  --f-sans:var(--vt-sans); --f-mono:var(--vt-mono);
  --t-sm:13px; --t-base:15px; --t-md:15.5px;
  --t-kpi:clamp(22px,2.1vw,28px); --t-h2:clamp(18px,1.6vw,21px);
  --pad:var(--vt-pad);
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--fg);font:400 var(--t-base)/1.55 var(--f-sans)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.btn{display:inline-flex;align-items:center;gap:6px;font:500 11px var(--f-sans);letter-spacing:.14em;text-transform:uppercase;background:var(--paper);color:var(--fg);border:1px solid var(--line-2);padding:8px 11px;border-radius:2px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.o{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.btn.s{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 3px 10px rgba(226,105,26,.25)}
.btn.s:hover{color:#fff;filter:brightness(1.05)}
.btn.sm{font-size:10.5px;padding:7px 10px;letter-spacing:.12em}
.btn.del{color:var(--bad);border-color:var(--line)}
.btn.del:hover{border-color:var(--bad);color:var(--bad)}
.btn svg{width:13px;height:13px;flex:none}
.body{display:grid;grid-template-columns:250px minmax(0,1fr)}
.side{background:var(--side);border-right:1px solid var(--line);padding:20px 16px;display:grid;gap:10px;align-content:start}
.side h4{margin:4px 0 0;font:500 10.5px var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.jlist{display:grid;gap:6px}
.jcard{display:grid;gap:2px;background:var(--paper);border:1px solid var(--line);padding:10px 12px;cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%;min-width:0}
.jcard:hover{border-color:var(--line-2)}
.jcard.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.jcard b{font-weight:500;font-size:var(--t-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jcard span{font:400 11px/1.45 var(--f-mono);color:var(--muted)}
.stot{margin-top:6px;background:var(--paper);border:1px solid var(--line);padding:12px}
.stot .k{font:500 10px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.stot .v{font:500 22px/1.2 var(--f-mono);color:var(--accent);margin-top:4px}
.stot .v small{font:400 12px var(--f-sans);color:var(--muted);margin-left:4px}
.stot .s{font:400 11px var(--f-mono);color:var(--muted)}
.main{padding:22px var(--pad) 36px;display:grid;gap:16px;min-width:0;background-image:radial-gradient(#E8E3DC 1px,transparent 1.3px);background-size:22px 22px}
@media (max-width:900px){
  .body{grid-template-columns:1fr}
  .side{border-right:0;border-bottom:1px solid var(--line);padding:12px var(--pad)}
  .jlist{grid-auto-flow:column;grid-auto-columns:minmax(150px,190px);overflow-x:auto;padding-bottom:2px}
  .stot{display:none}
}
.card{background:var(--paper);border:1px solid var(--line);padding:var(--pad);min-width:0}
.card h3{margin:0 0 12px;font:500 11px var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.fgrid{display:grid;gap:12px 14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}
.fgrid .wide{grid-column:span 2}
@media (max-width:560px){.fgrid .wide{grid-column:1/-1}}
.field{display:grid;gap:5px;min-width:0;align-content:start}
.main label,.main .lab{font:500 11px var(--f-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.main label i{font-style:normal;text-transform:none;letter-spacing:0;color:var(--faint);font-weight:400}
.main input,.main select{width:100%;min-width:0;background:var(--paper);color:var(--fg);border:1px solid var(--line-2);border-radius:2px;padding:8px 10px;font:500 13.5px var(--f-mono);font-variant-numeric:tabular-nums;height:40px}
.main input::placeholder{color:#8B8680;font-weight:500}
.main input:focus,.main select:focus,button:focus-visible,.main a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
@media (max-width:640px){.main input,.main select{font-size:16px;height:42px}}
.iu{position:relative}
.iu input{padding-right:44px}
.iu em{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:400 11.5px var(--f-mono);font-style:normal;color:var(--faint);pointer-events:none}
.hint{font:400 var(--t-sm)/1.45 var(--f-sans);color:var(--faint)}
.sec-t{display:flex;align-items:baseline;gap:10px;margin:6px 0 -4px;scroll-margin-top:120px;flex-wrap:wrap}
.sec-t h2{margin:0;font-weight:500;font-size:clamp(19px,1.9vw,23px)}
.sec-t span{font:400 10.5px var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.calc{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:700px){.calc{grid-template-columns:1fr}}
.sk{background:#fff;border:1px solid var(--line);padding:10px}
.vx .ed{stroke:#C2530F;stroke-width:1.3;stroke-linejoin:round}.vx .dm{stroke:#5F5B56;stroke-width:.8;fill:none}.vx .ex{stroke:#A39D96;stroke-width:.6;fill:none}.vx .cl{stroke:#8F8983;stroke-width:.6;stroke-dasharray:10 2.5 1.5 2.5;fill:none}.vx .hid{stroke:#C2530F;stroke-width:.8;stroke-dasharray:4 3;fill:none;opacity:.7}.vx .tx{font:600 11px var(--f-mono);fill:#1B1B1E;stroke:#fff;stroke-width:3px;paint-order:stroke;stroke-linejoin:round}.vx .hl{font:500 11px var(--vt-mono);fill:var(--vt-ink2);letter-spacing:.1em}
.sk svg{width:100%;display:block;max-width:280px;margin:0 auto}
.sk-cap{margin-top:8px;font:400 11px/1.45 var(--f-mono);color:var(--muted);text-align:center}
.sub{margin:18px 0 10px;padding-top:14px;border-top:1px dashed var(--line);font:500 10.5px var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));border:1px solid var(--line);gap:1px;background-color:var(--line)}
.kpi{padding:14px 16px;background:var(--strip);display:grid;gap:4px;align-content:start;min-width:0}
.kpi .v{font:500 var(--t-kpi)/1 var(--f-mono);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .v small{font:400 12px var(--f-sans);color:var(--muted);margin-left:4px;letter-spacing:0}
.kpi .s{font:400 11px/1.45 var(--f-mono);color:var(--muted)}
.kpi .k{font:500 10.5px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px}
@media (max-width:420px){.kpis{grid-template-columns:1fr 1fr}.kpi{padding:12px}}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));background:var(--paper);border-top:1px solid var(--line);border-left:1px solid var(--line);margin:0}
.kv div{padding:9px 11px;min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.kv dt{font:500 10px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.kv dd{margin:3px 0 0;font:500 13.5px var(--f-mono);font-variant-numeric:tabular-nums}
.err{background:var(--bad-soft);color:var(--bad);border:1px solid #F3C4BE;padding:10px 12px;font-size:14px}
.tw{overflow-x:auto;border:1px solid var(--line);-webkit-overflow-scrolling:touch}
.main table{border-collapse:collapse;width:100%;background:var(--paper)}
.main th{font:500 10.5px var(--f-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:9px 11px;background:var(--strip);border-bottom:1px solid var(--line);white-space:nowrap}
.main td{padding:8px 11px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}
td.n,th.n{text-align:right}
td.n,td.m{font:400 12.5px var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.main tfoot td{background:var(--fg);color:#fff;font-weight:500;border-bottom:0}
.main tfoot td.n{font-weight:600}
.x{border:0;background:none;color:var(--faint);cursor:pointer;font-size:15px;padding:0 4px}
.x:hover{color:var(--bad)}
.empty{padding:22px;text-align:center;color:var(--muted);font-size:14px;background:var(--paper)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--fg);color:#fff;font:500 12px var(--f-mono);letter-spacing:.06em;padding:10px 16px;border-radius:2px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:60}
.toast.on{opacity:1}
@media print{.side,.no-print,.vt-about{display:none!important}.body{grid-template-columns:1fr}.main{padding:0;background:none}}
