/* Инструменты Bookie Ledger: формы, результат, примеры. Подключается только на страницах tool. */
.fde-tool{margin:var(--fde-sp-2) 0;padding:var(--fde-sp-2);background:var(--fde-surface);border:1px solid var(--fde-border);border-radius:var(--fde-radius);box-shadow:var(--fde-shadow-lift),6px 6px 0 -1px var(--fde-surface),6px 6px 0 0 var(--fde-border);position:relative}
.fde-tool::before{content:"";position:absolute;left:14px;top:0;bottom:0;border-left:2px solid rgba(196,38,46,.4)}
.fde-tool__form{display:grid;gap:var(--fde-sp-1);margin-left:var(--fde-sp-1)}
.fde-tool__row{display:grid;gap:var(--fde-sp-1);grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr))}
.fde-tool__field{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.fde-tool__label{font-weight:800;font-size:var(--fde-fs-s);color:var(--fde-text)}
.fde-tool__hint{font-size:var(--fde-fs-s);color:var(--fde-text-muted);margin:0}
.fde-tool input,.fde-tool select{font:600 var(--fde-fs-0)/1.3 var(--fde-ff-body);color:var(--fde-text);background:#fff;border:2px solid var(--fde-text-muted);border-radius:var(--fde-radius);padding:.6rem .75rem;min-height:2.9rem;width:100%}
.fde-tool input:hover,.fde-tool select:hover{border-color:var(--fde-text)}
.fde-tool input:focus-visible,.fde-tool select:focus-visible{outline:3px solid var(--fde-accent);outline-offset:1px;border-color:var(--fde-accent)}
.fde-tool input[aria-invalid=true]{border-color:var(--fde-danger);background:var(--fde-danger-tint)}
.fde-tool__actions{display:flex;flex-wrap:wrap;gap:.6rem}
.fde-tool__err{margin:0;padding:.6rem .9rem;background:var(--fde-danger-tint);border-left:4px solid var(--fde-danger);border-radius:var(--fde-radius);color:var(--fde-text);font-weight:700;font-size:var(--fde-fs-s)}
.fde-tool__err[hidden]{display:none}
.fde-tool__sel{display:grid;gap:.6rem;grid-template-columns:minmax(0,1fr) 7rem auto;align-items:end;padding:.8rem;background:var(--fde-primary-wash);border:1px solid var(--fde-border);border-radius:var(--fde-radius)}
.fde-tool__sel .fde-tool__field--odds{grid-column:1}
.fde-tool__selno{grid-column:1/-1;font:700 var(--fde-fs-1)/1 var(--fde-ff-head);color:var(--fde-primary)}
.fde-tool__result{margin:var(--fde-sp-1) 0 0 var(--fde-sp-1);padding:var(--fde-sp-1) var(--fde-sp-2);background:var(--fde-text);color:var(--fde-on-deep);border-radius:var(--fde-radius);position:relative;overflow:hidden}
.fde-tool__result::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 2rem,rgba(249,250,248,.07) 2rem,rgba(249,250,248,.07) calc(2rem + 1px));pointer-events:none}
.fde-tool__out{display:grid;gap:var(--fde-sp-1) var(--fde-sp-2);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));position:relative;z-index:1}
.fde-tool__kv{display:flex;flex-direction:column;gap:.1rem}
.fde-tool__k{font-size:var(--fde-fs-s);color:var(--fde-on-deep-muted);line-height:1.4}
.fde-tool__v{font:700 var(--fde-fs-3)/1.1 var(--fde-ff-head);color:var(--fde-on-deep-link);font-variant-numeric:lining-nums tabular-nums;overflow-wrap:anywhere}
.fde-tool__v--neg{color:#ffc9cc}
.fde-tool__v small{font:600 var(--fde-fs-s)/1.4 var(--fde-ff-body);color:var(--fde-on-deep-muted)}
.fde-tool output{display:block}
.fde-tool__note{margin:.8rem 0 0 var(--fde-sp-1);font-size:var(--fde-fs-s);color:var(--fde-text-muted)}
.fde-tool__tbl{margin:var(--fde-sp-1) 0 0 var(--fde-sp-1)}
.fde-tool__tbl .fde-table{margin:0}
.fde-tool__bar{height:.9rem;background:var(--fde-neutral-tint);border-radius:999px;overflow:hidden;margin-top:.4rem;position:relative;z-index:1}
.fde-tool__bar>span{display:block;height:100%;background:var(--fde-primary-wash);background:var(--fde-on-deep-link)}
.fde-tool__tl{list-style:none;margin:var(--fde-sp-1) 0 0 var(--fde-sp-1);padding:0}
.fde-tool__empty{margin:var(--fde-sp-1) 0 0 var(--fde-sp-1);padding:var(--fde-sp-1);border:2px dashed var(--fde-rule);border-radius:var(--fde-radius);font-weight:700;background:var(--fde-primary-wash)}
@media (max-width:639px){.fde-tool{padding:var(--fde-sp-1)}.fde-tool__form,.fde-tool__result,.fde-tool__note,.fde-tool__tbl,.fde-tool__empty{margin-left:.5rem}.fde-tool__sel{grid-template-columns:minmax(0,1fr) 6rem}.fde-tool__sel .fde-btn{grid-column:1/-1}}
