:root{--green:var(--ink);--lime:var(--blue);--cream:var(--warm)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 system-ui,-apple-system,sans-serif}a{color:inherit}h1{font-size:clamp(2.2rem,6vw,4.8rem);line-height:1;margin:.2rem 0 2rem;letter-spacing:-.045em}h2{font-size:1.6rem;margin:0 0 1.2rem}h3{font-size:1.5rem;margin:.4rem 0}.brand{font-weight:900;letter-spacing:.08em;font-size:1.35rem}.brand span{font-size:.62rem;display:block;letter-spacing:.19em}.portalhead,.adminbar{display:flex;justify-content:space-between;align-items:center;padding:1.2rem max(5vw,1.25rem);background:var(--green);color:white}.portalhead>div:last-child{color:#dce8e2}.portal,.admin{width:min(1120px,90%);margin:4rem auto}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:#527064}.property{border-top:1px solid var(--line);padding:2rem 0}.property h2{font-size:2rem}.address,.muted{color:var(--muted)}.lede{font-size:1.15rem;max-width:700px}.portal section:not(.property){padding:2.5rem 0;border-top:1px solid var(--line)}.grid,.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.card,.equipment{background:white;border:1px solid var(--line);padding:1.4rem;border-radius:12px;box-shadow:0 5px 18px #173f3508}.card{display:flex;flex-direction:column;gap:.5rem}.tag{display:inline-block;background:var(--lime);padding:.3rem .6rem;font-weight:900;border-radius:4px;width:max-content}.equipment dl{display:grid;grid-template-columns:100px 1fr;margin:1rem 0}.equipment dt{color:var(--muted)}.equipment dd{margin:0}.status{border-left:3px solid var(--lime);padding-left:.8rem}.equipment h4{margin:1.5rem 0 .5rem}.service strong,.service time{display:block}.timeline{display:grid;grid-template-columns:130px 1fr;padding:1rem 0;border-bottom:1px solid var(--line)}.doc{display:flex;justify-content:space-between;gap:1rem;padding:1rem;background:white;border:1px solid var(--line);border-radius:8px;text-decoration:none;margin:.5rem 0}.doc small,.doc span{display:block}footer{text-align:center;padding:3rem;background:var(--green);color:#dce8e2}.login{max-width:440px;margin:10vh auto;padding:1.2rem}.login .brand{margin-bottom:2rem}.admin{max-width:950px}.admin h1{font-size:3rem}.admin section{margin:2rem 0}.adminbar a{text-decoration:none}.row{display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line);padding:.8rem 1rem}.client{text-decoration:none}.client span{color:var(--muted)}form{display:grid;gap:.7rem}label{display:grid;gap:.3rem}input,select,textarea,button{font:inherit;padding:.7rem;border:1px solid #bbc3bd;border-radius:6px;background:white}button{background:var(--green);color:white;border:0;font-weight:700;cursor:pointer}.inline{display:inline}.published{background:var(--green)}.private{background:#747b77}.danger,.error{background:#9e3535;color:white}.quiet{padding:.4rem}.notice,.linkbox{padding:1rem;background:#fff8d8;border-left:4px solid #e5c94e}.linkbox{display:grid;gap:.5rem}details{margin-top:1rem;background:#ecefe9;padding:1rem;border-radius:8px}summary{cursor:pointer;font-weight:700;margin-bottom:.8rem}@media(max-width:600px){.portal,.admin{width:92%;margin:2rem auto}.portalhead{align-items:flex-start}.timeline{grid-template-columns:1fr}.row{align-items:flex-start;gap:1rem}.row form{flex-shrink:0}}
