.ows-tool { padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--soft); margin-top:20px; }
.ows-tool h2 { margin-top:0; }
.ows-tool fieldset { border:0; padding:0; margin:0; }
.ows-inputs { display:grid; gap:12px; }
.ows-input { display:grid; grid-template-columns:minmax(0,1fr) 96px; align-items:center; gap:12px; padding:10px; background:white; border-radius:8px; }
.ows-input input[type=checkbox] { width:20px; height:20px; vertical-align:middle; }
.ows-input label { cursor:pointer; }
.ows-input label:last-child { font-size:.9rem; }
.ows-tool input:disabled { background:#eee; color:#666; }
.ows-tool button { margin:4px 4px 4px 0; }
.ows-tool select { margin-bottom:12px; }
.ows-tool caption { text-align:left; font-weight:700; padding:10px 0; }
.ows-tool table { background:#fff; }
.ows-tool th,.ows-tool td { padding:7px; overflow-wrap:anywhere; }
.ows-tool details { background:white; border:1px solid var(--line); border-radius:8px; padding:12px; margin:12px 0; }
.ows-tool summary { cursor:pointer; font-weight:700; }
.ows-route { border-top:1px solid var(--line); margin-top:12px; padding-top:12px; }
.ows-route h4 { margin:0; }
.ows-plan { margin:.5rem 0 1rem; font-size:.95rem; }
.ows-plan ul { padding-left:20px; }
.ows-plan dl { display:grid; grid-template-columns:1fr 1fr; margin:.5rem 0; gap:0 12px; }
.ows-plan dt { color:var(--muted); }
.ows-plan dd { margin:0 0 6px; }
.ows-error { color:#9f1239; font-weight:600; }
#ows-summary { font-weight:600; }
@media(max-width:480px) { .ows-tool { padding:10px; } .ows-tool table { font-size:.85rem; } .ows-tool th,.ows-tool td { padding:5px; } .ows-input { grid-template-columns:minmax(0,1fr) 82px; gap:8px; } }
