.site-search-form label:has(#site-query) { position: relative; }
.search-suggestions { font-weight: 400; }
.search-suggestions ul { margin: .5rem 0 0; padding: 0; list-style: none; border: 1px solid #bcc9c8; border-radius: .5rem; background: #fff; max-height: 24rem; overflow-y: auto; }
.search-suggestions li { padding: .8rem; cursor: pointer; border-bottom: 1px solid #e2e7e6; }
.search-suggestions li strong,.search-suggestions li span { display: block; }
.search-suggestions li span { font-size: .82rem; color: #475b5b; }
.search-suggestions li[aria-selected="true"],.search-suggestions li:hover { background: #e2f2ef; outline: 2px solid #23635b; outline-offset: -2px; }
.search-suggestions__status { font-size: .85rem; min-height: 1.4em; }
.decision-form fieldset { margin: 1.5rem 0; padding: 1.2rem; border: 1px solid #b9c9c7; border-radius: .6rem; min-width: 0; }
.decision-form legend { font-weight: 700; padding: 0 .5rem; }
.decision-form .button-outline { color:#162c29; border-color:#78928b; background:#fff; }
.decision-form .button:focus-visible { outline:3px solid #176d61; outline-offset:3px; }
.decision-form label { display: block; margin: .7rem 0; font-weight: 600; }
.decision-form input,.decision-form select,.decision-form textarea { display: block; width: 100%; padding: .65rem; border: 1px solid #879f9c; border-radius: .3rem; background: #fff; color: #17282a; font: inherit; }
.decision-form input:focus-visible,.decision-form select:focus-visible,.decision-form textarea:focus-visible { outline: 3px solid #176d61; outline-offset: 2px; }
.decision-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.decision-candidates { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem; }
.decision-candidates fieldset { margin: 0; }
.decision-candidate-details summary { cursor: pointer; font-weight: 700; padding: 1rem; background: #edf4f2; border-radius: .4rem; }
.decision-candidate-details summary:focus-visible { outline: 3px solid #176d61; outline-offset: 2px; }
.decision-error { border-left: 4px solid #a52d23; padding: 1rem; background: #fff1ee; }
.decision-results { scroll-margin-top: 6rem; }
.decision-results th,.decision-results td { overflow-wrap: anywhere; }
.decision-example { background: #edf4f2; padding: 1rem; border-radius: .5rem; }
@media(max-width:680px) { .decision-fields,.decision-candidates { grid-template-columns: 1fr; } }
@media print { .decision-form,.site-header,.site-footer,.breadcrumbs { display:none; } .decision-results { break-inside: avoid; } }
