:root{font-family:system-ui,sans-serif;color:#17232d;background:#f3f1ec;line-height:1.55}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1080px;margin:auto;padding:1rem}header{display:flex;justify-content:space-between;align-items:center}.brand{font-weight:750;color:#173f5f;text-decoration:none}main{min-height:75vh}footer{font-size:.9rem;color:#4d5a63}h1{line-height:1.15}.panel,.record{background:#fff;border:1px solid #ccd2d5;border-radius:8px;padding:1.4rem;margin-bottom:1rem}.narrow{max-width:680px}.title-row,.actions{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.notice{border-left:4px solid #477491;background:#edf4f7;padding:.8rem;max-width:780px}.filters{display:flex;gap:.5rem;margin:1rem 0}.filters a{padding:.55rem .9rem;border:1px solid #477491;border-radius:5px;text-decoration:none;color:#173f5f}.filters a[aria-current=page]{background:#173f5f;color:#fff}.record{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.record h2{margin-top:0}.record p,.detail dd{white-space:pre-wrap;overflow-wrap:anywhere}dl{margin:0}dt{font-weight:700;margin-top:.5rem}dd{margin-left:0}.badge{display:inline-block;background:#e5edf2;border:1px solid #7890a0;border-radius:999px;padding:.2rem .65rem;font-weight:700}.field{margin:1.1rem 0}.field label{display:block;font-weight:700}.field label span,small{display:block;font-weight:400;color:#46545d}input,textarea{width:100%;font:inherit;border:1px solid #67757d;border-radius:4px;padding:.65rem;background:#fff}textarea{min-height:7rem}button,.button{display:inline-block;background:#1f5a7a;color:#fff;border:2px solid #1f5a7a;border-radius:5px;padding:.65rem 1rem;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.link{background:transparent;color:#173f5f;border:0;padding:.4rem}.actions{justify-content:flex-start;align-items:center}.errors,.flash.error{background:#fff2f0;border:2px solid #8b332d;padding:1rem}.flash.success{background:#e8f4ed;border:1px solid #417157}.flash.info{background:#edf4f7;border:1px solid #477491}.flash{margin-bottom:1rem}.field-error{color:#7a211c;font-weight:700}.invalid input,.invalid textarea{border:2px solid #8b332d}:focus-visible{outline:3px solid #173f5f;outline-offset:3px}@media(max-width:650px){.record{grid-template-columns:1fr}.title-row .button{width:100%;text-align:center}header{align-items:flex-start}.filters{overflow-x:auto}}

/* Keep valid long equipment names inside phone and desktop cards. */
h1,h2{overflow-wrap:anywhere}.title-row>*,.record>*{min-width:0;max-width:100%}
