.h-tool{color:var(--sf-ink);font-family:var(--sf-font);line-height:1.5}
.h-tool *{box-sizing:border-box}
.h-tool h2,.h-tool h3{line-height:1.15}
.h-tool-header{display:grid;grid-template-columns:auto 1fr;align-content:start;align-items:center;gap:var(--sf-space-4);padding:var(--sf-space-4) var(--sf-space-5);border-radius:var(--sf-radius) var(--sf-radius) 0 0;background:var(--sf-yellow)}
.h-tool-icon{display:grid;width:3.25rem;height:3.25rem;place-items:center;border:1px solid var(--sf-ink);border-radius:50%;font-size:1.7rem;line-height:1}
.h-tool .h-tool-title{margin:0;font-size:clamp(1.35rem,4vw,2rem);letter-spacing:-.025em}
.h-tool-description{grid-column:2;margin:calc(-1 * var(--sf-space-3)) 0 0;max-width:68ch}
.h-tool .h-mode-panel,.h-tool .h-technical-details,.h-tool .h-maintenance-details,.h-tool .h-table-details{margin:var(--sf-space-5) 0;padding:var(--sf-space-5);border:1px solid var(--sf-line);border-radius:var(--sf-radius);background:var(--sf-white);box-shadow:var(--sf-shadow)}
.h-tool .h-step-heading{display:flex;align-items:center;gap:var(--sf-space-3);margin-bottom:var(--sf-space-2)}
.h-tool .h-step-number{display:grid;flex:0 0 auto;width:2.15rem;height:2.15rem;place-items:center;border-radius:50%;background:var(--sf-yellow);font-weight:800}
.h-tool .h-mode-panel h3{margin:0;font-size:1.25rem}
.h-tool .h-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--sf-space-4);margin:var(--sf-space-4) 0 0;padding:0;border:0}
.h-tool .h-field{display:grid;gap:var(--sf-space-2);align-content:start;min-width:0}
.h-tool .h-field label,.h-tool .h-field-title{font-weight:700}
.h-tool .h-field-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sf-space-2);min-width:0}
.h-tool .h-field-heading>label{flex:1 1 auto;min-width:0;line-height:1.35}
.h-tool .h-source-select{flex:0 0 auto;width:auto;max-width:48%;min-width:7.5rem;min-height:2.2rem;padding:var(--sf-space-1) var(--sf-space-2);border:1px solid var(--sf-line);border-radius:999px;background:var(--sf-white);font-size:.82rem;line-height:1.2}
.h-tool .h-control{display:flex;min-height:3.5rem;align-items:center;overflow:hidden;border:1px solid var(--sf-line);border-radius:calc(var(--sf-radius) / 2);background:var(--sf-paper)}
.h-tool .h-control:focus-within{outline:3px solid var(--sf-orange);outline-offset:2px}
.h-tool input,.h-tool select,.h-tool textarea{width:100%;min-height:3.5rem;padding:var(--sf-space-3) var(--sf-space-4);border:0;border-radius:0;background:transparent;color:var(--sf-ink);font:inherit;font-size:1.05rem}
.h-tool input[type=checkbox]{width:1.2rem;min-height:1.2rem;margin:0 var(--sf-space-3);accent-color:var(--sf-orange)}
.h-tool input:focus-visible,.h-tool select:focus-visible,.h-tool textarea:focus-visible{outline:0}
.h-tool .h-input-unit{flex:0 0 auto;padding:0 var(--sf-space-3);color:var(--sf-muted);font-size:.88rem;font-weight:700;white-space:nowrap}
.h-tool .h-field:has(input[type=checkbox]){grid-template-columns:auto 1fr;align-items:center;gap:var(--sf-space-2)}
.h-tool .h-field:has(input[type=checkbox]) .h-control{grid-column:1;grid-row:1;min-height:2.5rem}
.h-tool .h-field:has(input[type=checkbox]) .h-field-heading{grid-column:2;grid-row:1}
.h-tool .h-note{margin:0;color:var(--sf-muted);font-size:.92rem}
.h-tool .h-mode-label{display:inline-flex;align-items:center;gap:var(--sf-space-2);width:max-content;margin:var(--sf-space-3) 0 0;padding:var(--sf-space-1) var(--sf-space-3);border:1px solid var(--sf-line);border-radius:999px;background:var(--sf-cream);font-size:.88rem;font-weight:700}
.h-tool .h-actions{display:flex;flex-wrap:wrap;gap:var(--sf-space-2);margin-top:var(--sf-space-4)}
.h-tool button,.h-tool .h-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:var(--sf-space-2) var(--sf-space-4);border:1px solid var(--sf-ink);border-radius:999px;background:var(--sf-white);color:var(--sf-ink);font:inherit;font-weight:700;text-align:center;text-decoration:none;cursor:pointer;transition:transform .16s ease,background-color .16s ease}
.h-tool button:hover:not(:disabled),.h-tool .h-link:hover{transform:translateY(-1px)}
.h-tool button.h-primary{background:var(--sf-yellow)}
.h-tool button.h-example-chip{width:max-content;max-width:100%;margin:var(--sf-space-3) 0 0;border-color:var(--sf-orange);background:var(--sf-cream)}
.h-tool button:disabled{cursor:not-allowed;opacity:.65}
.h-tool button:focus-visible,.h-tool a:focus-visible,.h-tool input:focus-visible,.h-tool select:focus-visible,.h-tool summary:focus-visible{outline:3px solid var(--sf-orange);outline-offset:2px}
.h-tool .h-result{margin-top:var(--sf-space-4);padding:var(--sf-space-5);border:1px solid var(--sf-line);border-top:5px solid var(--sf-yellow);border-radius:var(--sf-radius);background:var(--sf-cream);transition:background-color .18s ease,border-color .18s ease}
.h-tool .h-result[data-state=example]{border-top-color:var(--sf-yellow)}
.h-tool .h-result[data-state=partial]{border-top-color:var(--sf-ink)}
.h-tool .h-result[data-state=pending],.h-tool .h-result[data-state=stale],.h-tool .h-result[data-state=error],.h-tool .h-result[data-state=incoherent-input]{border-top-color:var(--sf-orange)}
.h-tool .h-result[data-state=not-compliant]{border-top-color:var(--sf-orange);background:var(--sf-soft)}
.h-tool .h-result-label{display:flex;align-items:center;gap:var(--sf-space-2);margin:0;font-weight:800}
.h-tool .h-state-icon{display:grid;width:1.7rem;height:1.7rem;place-items:center;border:1px solid var(--sf-ink);border-radius:50%;font-size:.9rem;line-height:1}
.h-tool .h-result-message{margin:var(--sf-space-2) 0 0}
.h-tool .h-metric{display:grid;gap:var(--sf-space-1);margin-top:var(--sf-space-4);padding-top:var(--sf-space-4);border-top:1px solid var(--sf-line)}
.h-tool .h-metric-label{margin:0;color:var(--sf-muted);font-size:.9rem;font-weight:700}
.h-tool .h-metric-value{display:flex;align-items:baseline;gap:var(--sf-space-2);flex-wrap:wrap;font-size:clamp(2rem,8vw,3.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.05}
.h-tool .h-metric-unit{font-size:.95rem;font-weight:700;letter-spacing:0}
.h-tool .h-meter{height:.8rem;overflow:hidden;border:1px solid var(--sf-line);border-radius:999px;background:var(--sf-white)}
.h-tool .h-meter-fill{display:block;height:100%;border-radius:inherit;background:var(--sf-orange);transition:width .24s ease}
.h-tool .h-meter-labels{display:flex;justify-content:space-between;gap:var(--sf-space-2);color:var(--sf-muted);font-size:.8rem}
.h-tool .h-breakdown{margin-top:var(--sf-space-4);padding-top:var(--sf-space-3);border-top:1px solid var(--sf-line)}
.h-tool summary{width:max-content;max-width:100%;font-weight:700;cursor:pointer}
.h-tool .h-breakdown ul{display:grid;gap:var(--sf-space-2);margin:var(--sf-space-3) 0 0;padding-left:1.25rem}
.h-tool .h-links{display:flex;flex-wrap:wrap;gap:var(--sf-space-2);margin-top:var(--sf-space-4)}
.h-tool .h-result-download{margin-top:var(--sf-space-3)}
.h-tool .h-technical-details p,.h-tool .h-maintenance-details p,.h-tool .h-table-details p{margin:var(--sf-space-3) 0 0}
.h-tool .h-checklist{display:grid;gap:var(--sf-space-3)}
.h-tool .h-check-item{padding:var(--sf-space-3);border:1px solid var(--sf-line);border-radius:calc(var(--sf-radius) / 2);background:var(--sf-white)}
.h-tool .h-check-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:var(--sf-space-2);margin-top:var(--sf-space-3)}
.h-tool .h-danger{padding:var(--sf-space-3);border:2px solid var(--sf-orange);background:var(--sf-cream);font-weight:700}
.h-tool table{width:100%;border-collapse:collapse;margin-top:var(--sf-space-3)}
.h-tool th,.h-tool td{padding:var(--sf-space-2);border:1px solid var(--sf-line);text-align:left}
.h-tool .h-table-wrap{overflow-x:auto}
.h-tool .h-section-divider{margin:var(--sf-space-6) 0;border:0;border-top:1px solid var(--sf-line)}
@media(max-width:560px){.h-tool-header{gap:var(--sf-space-3);padding:var(--sf-space-3) var(--sf-space-4)}.h-tool-icon{width:2.5rem;height:2.5rem}.h-tool-description{grid-column:1/-1;margin:0}.h-tool .h-mode-panel,.h-tool .h-technical-details,.h-tool .h-maintenance-details,.h-tool .h-table-details{padding:var(--sf-space-4)}.h-tool .h-fields{grid-template-columns:minmax(0,1fr)}.h-tool .h-actions>*{flex:1 1 100%}.h-tool .h-result{padding:var(--sf-space-4)}}
@media(prefers-reduced-motion:reduce){.h-tool button,.h-tool .h-result,.h-tool .h-meter-fill{transition:none}.h-tool button:hover:not(:disabled){transform:none}}
