:root{--green:#00703c;--green-dark:#005a30;--ink:#0b0c0c;--muted:#505a5f;--line:#b1b4b6;--surface:#f3f2f1;--paper:#fff;--focus:#ffdd00}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5}
a{color:var(--green-dark)}
a:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:0;box-shadow:0 0 0 1px var(--ink)}
.wrap{max-width:64rem;margin:0 auto;padding:1rem 1rem 3rem}
h1{margin:.25rem 0 1rem}
.hint{color:var(--muted)}

.lookup{background:var(--paper);border:1px solid var(--line);padding:1rem 1.25rem;margin:0 0 1.25rem}
.lookup h2{margin:0 0 .5rem;font-size:1.15rem}
.lookup label{display:block;font-weight:700;margin-bottom:.25rem}
.row{display:flex;gap:.5rem;flex-wrap:wrap}
.row input{flex:1 1 14rem;padding:.6rem .7rem;font:inherit;color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:0}
.btn{padding:.6rem 1.1rem;font:inherit;font-weight:700;background:var(--green);color:#fff;border:2px solid var(--green);box-shadow:0 2px 0 var(--green-dark);cursor:pointer;min-height:2.75rem}
.btn:hover{background:var(--green-dark);border-color:var(--green-dark)}
.btn:disabled{opacity:.5;cursor:default;box-shadow:none}
.status{min-height:1.5em;margin:.6rem 0 0;color:var(--muted)}
.status.error{color:#942514}

.matches{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem}
.match{background:var(--surface);border-left:4px solid var(--green);padding:.6rem .75rem}
.match .name{display:block;font-size:1.05rem}
.match .where{margin:.1rem 0 0;color:var(--muted)}
.match .num{color:var(--ink);font-weight:700}
.empty{color:var(--muted);font-style:italic;margin:.75rem 0 0}

.plan{background:#fff;border:1px solid var(--line);overflow:auto;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
.plan img{display:block;width:100%;height:auto}
