*{box-sizing:border-box}body{margin:0;background:#f3f7fb;color:#071827;font-family:Arial,Helvetica,sans-serif}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;background:linear-gradient(90deg,#0d3f6e 0%,#1560a8 55%,#3f8fd6 100%);border-bottom:1px solid #0d3f6e;position:sticky;top:0;z-index:2}header b{color:#fff}header nav a{color:#eaf3fb}header nav a:hover{color:#fff;text-decoration:underline}header nav button,header nav .button{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff}header nav button:hover{background:rgba(255,255,255,.25)}nav{display:flex;gap:10px;align-items:center}a{color:#0f4c81;text-decoration:none;font-weight:700}.button,button{border:1px solid #ccd9e6;border-radius:10px;background:#fff;padding:10px 14px;font-weight:800;cursor:pointer}.primary{background:#0f4c81!important;color:#fff!important;border-color:#0f4c81!important}main{max-width:1180px;margin:0 auto;padding:24px}.card{background:#fff;border:1px solid #dbe6f0;border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(15,76,129,.08)}.login{display:grid;place-items:center;min-height:100vh}.login-card{width:min(420px,92vw)}label{display:block;font-weight:800;margin:12px 0 6px}input,select,textarea{width:100%;padding:11px;border:1px solid #ccd9e6;border-radius:10px;font:inherit}.msg{margin-top:12px;color:#b91c1c;font-weight:800}.msg.ok{color:#166534}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.cards article,.room{background:#fff;border:1px solid #dbe6f0;border-radius:16px;padding:18px}.cards b{font-size:34px}.chip{margin:4px}.chip.active{background:#0f4c81;color:#fff}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #dbe6f0}th,td{border-bottom:1px solid #edf2f7;text-align:left;padding:10px;vertical-align:top}th{background:#f8fafc}.room-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}small{display:block;color:#667085;margin-top:6px}.grid{display:grid;gap:10px}
.hx-brand{display:inline-flex;align-items:center;gap:8px}
.hx-brand .hx-role{font-size:11px;font-weight:500;color:#9fc0dd;letter-spacing:.04em;text-transform:uppercase}
/* header incolonnato col corpo (main max-width:1180) */
header{padding-left:max(22px,calc((100% - 1180px)/2 + 24px));padding-right:max(22px,calc((100% - 1180px)/2 + 24px))}
