*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(160deg,#0f172a 0%,#1e293b 55%,#334155 100%);min-height:100vh;color:#0f172a}
header{padding:28px 16px 8px;text-align:center;color:#fff}
.brand{font-size:22px;font-weight:700}
.logo{margin-right:6px}
header .muted{color:#94a3b8;margin-top:4px}
main{max-width:980px;margin:18px auto 60px;padding:0 16px;display:flex;flex-direction:column;gap:18px}
.card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 10px 30px rgba(2,6,23,.25)}
h2{margin:0 0 14px;font-size:17px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#475569}
input{padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:14px}
input:focus{outline:2px solid #6366f1;border-color:#6366f1}
.actions{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}
button{border:0;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;background:#e2e8f0;color:#0f172a}
button.primary{background:#4f46e5;color:#fff}
button.primary:hover{background:#4338ca}
button.small{padding:7px 12px;font-size:13px}
button:disabled{opacity:.45;cursor:not-allowed}
.muted{color:#64748b;font-size:13px}
.hint{font-size:12px;color:#94a3b8;margin:10px 0 0}
.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}
.room{border:1px solid #e2e8f0;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.room .name{font-weight:700}
.badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.badge.ok{background:#dcfce7;color:#166534}
.badge.warn{background:#fef3c7;color:#92400e}
.badge.bad{background:#fee2e2;color:#991b1b}
.cap{font-size:12px;color:#64748b}
#result h2{color:#166534}
.err{color:#991b1b;background:#fee2e2;border-radius:10px;padding:10px 14px}
.mails li{margin:4px 0;font-size:13px}
.lookup{display:flex;gap:10px;flex-wrap:wrap}
.lookup input{flex:1;min-width:220px}
table.mini{border-collapse:collapse;width:100%;margin-top:12px}
table.mini th,table.mini td{border:1px solid #e2e8f0;padding:8px;text-align:left;font-size:13px}
table.mini th{background:#f1f5f9}
details.mail{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;margin-bottom:8px}
details.mail summary{cursor:pointer;font-size:13px;font-weight:600}
.mailbody{margin-top:10px;border-top:1px solid #e2e8f0;padding-top:10px}
footer{max-width:980px;margin:0 auto 30px;padding:0 16px;color:#cbd5e1;font-size:12px;text-align:center}
footer a{color:#93c5fd}
.hidden{display:none}
