.fzde-tool{border:1px solid var(--c-line,#e2e6ea);border-radius:12px;padding:1.5rem;background:var(--c-bg,#fff);margin:1.5rem 0;display:flex;flex-direction:column;gap:.9rem}
.fzde-tool label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.95rem}
.fzde-tool input[type="text"],.fzde-tool input[type="number"],.fzde-tool input[type="search"],.fzde-tool select,.fzde-tool textarea{font:inherit;font-weight:400;padding:.6rem .7rem;border:1px solid var(--c-line,#e2e6ea);border-radius:8px;width:100%;box-sizing:border-box;min-height:44px}
.fzde-tool textarea{font-family:var(--mono,ui-monospace,monospace);font-size:.9rem;line-height:1.5}
.fzde-tool fieldset{border:1px solid var(--c-line,#e2e6ea);border-radius:8px;padding:.75rem 1rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.fzde-tool fieldset label{flex-direction:row;align-items:center;gap:.5rem;font-weight:500;min-height:44px}
.fzde-tool legend{font-weight:600;padding:0 .3rem}
.fzde-tool__row{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.fzde-tool__out{background:var(--c-bg-soft,#f4f6f8);border-radius:8px;padding:.9rem 1rem}
.fzde-tool__hint{margin:0;font-size:.9rem;color:var(--c-text-soft,#4b5563)}
.fzde-tool__copy{align-self:flex-start;background:var(--c-text,#1b2430);color:#fff;border:0;border-radius:8px;padding:.6rem 1rem;font:inherit;font-weight:600;cursor:pointer;min-height:44px}
.fzde-chmod__grid{width:auto;margin:0}
.fzde-chmod__grid th,.fzde-chmod__grid td{text-align:center;padding:.5rem .9rem}
.fzde-chmod__grid th[scope="row"]{text-align:left}
.fzde-chmod__grid input{width:22px;height:22px}
.fzde-errors__list{display:grid;gap:.75rem}
.fzde-errors__item{border:1px solid var(--c-line,#e2e6ea);border-radius:8px;padding:.9rem 1rem}
.fzde-errors__item code{font-size:.85rem;background:#fdecea;color:#8f1d16;border-radius:4px;padding:.15em .5em}
.fzde-errors__item h3{margin:.4rem 0 .3rem;font-size:1.05rem}
.fzde-errors__item p{margin:.2rem 0;font-size:.95rem}
.fzde-errors__empty{margin:0;color:var(--c-text-soft,#4b5563)}
