:root{--ivory:#F4EDE4;--cream:#FFF5E1;--navy:#1B2A41;--copper:#A64E2A;--gold:#B8962E;--green:#24382f;--deep:#17271f;--white:#fff;--muted:#6f746f;--line:#e3d8c8;--shadow:0 12px 34px rgba(27,42,65,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--ivory);color:#263029}h1,h2,h3{font-family:Georgia,serif;color:var(--deep);margin-top:0}button,input,select,textarea{font:inherit}
.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);background:#fff;padding:38px;border-radius:24px;box-shadow:var(--shadow)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--gold);font-weight:700}.field{display:grid;gap:7px;margin:16px 0}.field input{padding:13px;border:1px solid var(--line);border-radius:10px}.btn{border:0;border-radius:10px;padding:12px 16px;background:var(--green);color:#fff;cursor:pointer}.btn.secondary{background:#fff;color:var(--green);border:1px solid var(--line)}
.shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:var(--deep);color:#fff;padding:26px 18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font:700 23px Georgia,serif;margin-bottom:24px}.role-pill{font-size:11px;color:#e8dfcf;margin-bottom:18px}.nav-group{margin:18px 0 8px;color:#bcae95;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.nav a{display:block;color:#e9eee9;text-decoration:none;padding:10px 11px;border-radius:9px;margin:2px 0;font-size:14px}.nav a:hover,.nav a.active{background:rgba(255,255,255,.1)}.main{padding:32px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:28px}.topbar small{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.metric{font:700 30px Georgia,serif;color:var(--green)}.muted{color:var(--muted);font-size:13px}.section{margin-top:22px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:13px;border-bottom:1px solid #eee6da;font-size:13px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#fbf8f3}.status{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef2ed;font-size:11px}.households{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.house-card{cursor:pointer}.house-card:hover{transform:translateY(-1px)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tabs button{background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:999px;cursor:pointer}.tabs button.active{background:var(--green);color:#fff}.check-room{margin:18px 0}.check-item{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:start;padding:13px;border-bottom:1px solid #eee6da}.check-item input{width:18px;height:18px}.notice{padding:13px 15px;background:#fff8df;border:1px solid #ead7a0;border-radius:12px;margin:14px 0}.danger{color:#a03d2d}.mobile-menu{display:none}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:220px 1fr}.main{padding:22px}}
@media(max-width:760px){.shell{display:block}.sidebar{position:relative;height:auto}.nav{display:none}.nav.open{display:block}.mobile-menu{display:block;margin-bottom:12px}.main{padding:18px}.grid,.households{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}}