.tenant-panel{margin-bottom:24px;min-width:0}
.tenant-panel-body{padding:0 24px 22px}
.tenant-notice{margin:0 0 18px}
.tenant-notice code{font-size:12px}
.tenant-setup{border:1px solid #e1e8f0;border-radius:9px;padding:4px 16px;margin-bottom:18px;font-size:13px}
.tenant-setup summary{cursor:pointer;padding:10px 0;color:#365e8d;font-weight:600}
.tenant-connect{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;padding-bottom:18px;border-bottom:1px solid #e2e8f0}
.tenant-connect label{flex-basis:100%;margin:0;font-size:12px}
.tenant-connect select{flex:1;min-width:0;max-width:340px;font-size:13px}
.tenant-list{list-style:none;margin:0;padding:0}
.tenant-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;align-items:center;gap:14px 20px;padding:17px 0;border-bottom:1px solid #e2e8f0}
.tenant-row:last-child{border-bottom:0}
.tenant-row.selected{box-shadow:inset 3px 0 0 #2e8f74;padding-left:14px}
.tenant-select{border:0;background:none;padding:0;text-align:left;cursor:pointer;min-width:0;color:inherit}
.tenant-select strong{display:block;font-size:14px;color:#19344f;overflow-wrap:anywhere}
.tenant-select code{display:block;font-size:12px;color:#60748c;margin-top:5px;overflow-wrap:anywhere}
.tenant-select:hover strong{text-decoration:underline}
.tenant-state{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.tenant-state small{flex-basis:100%;font-size:12px;color:#62748b;line-height:1.6}
.tenant-state .tenant-error{color:#a3293f}
.tenant-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.tenant-empty{padding:18px 0;font-size:13px}
.recommendation-list{border-top:1px solid #e2e8f0}
.recommendation-item{border-bottom:1px solid #e2e8f0}
.recommendation-item>summary{display:grid;grid-template-columns:18px minmax(0,1fr) 90px;align-items:center;gap:16px;padding:18px 24px;cursor:pointer;list-style:none}
.recommendation-item>summary::-webkit-details-marker{display:none}
.recommendation-item>summary:hover{background:#f8fafc}
.recommendation-item>summary:focus-visible{outline:2px solid #779cf1;outline-offset:-3px}
.recommendation-item[open]>summary .group-expand .icon{transform:rotate(90deg)}
.recommendation-title{min-width:0}
.recommendation-title strong{display:block;font-size:14px;line-height:1.6;color:#19344f;overflow-wrap:anywhere}
.recommendation-title small{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.recommendation-body{padding:0 24px 20px 58px;min-width:0}
.recommendation-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 20px;margin:0 0 16px}
.recommendation-facts dt{font-size:12px;color:#60748c;margin-bottom:4px}
.recommendation-facts dd{margin:0;font-size:13px;color:#263f5b;overflow-wrap:anywhere;line-height:1.6}
.device-table{width:100%;font-size:13px}
.device-table td{overflow-wrap:anywhere}
.device-group{display:block;font-size:11px;color:#62748b;margin-top:3px}
.device-summary{font-size:13px;line-height:1.7;color:#455b76;margin:0 0 14px}
.device-summary strong{color:#19344f}
.device-subheading{font-size:14px;margin:4px 0 10px;color:#19344f}
.device-gaps{list-style:none;margin:0;padding:0}
.device-gaps li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:11px 0;border-bottom:1px solid #e2e8f0;font-size:13px}
.device-gaps li:last-child{border-bottom:0}
.device-gaps small{flex-basis:100%;font-size:12px;color:#62748b;line-height:1.6}
.defender-panel{padding:23px;margin-bottom:24px;min-width:0}
.defender-panel .section-heading{margin-bottom:14px}
.defender-state{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:#455b76;line-height:1.6;margin:0 0 14px}
.defender-list{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid #e2e8f0}
.defender-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 0;border-bottom:1px solid #e2e8f0;font-size:13px}
.defender-list strong{flex-basis:100%;color:#19344f;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
.connect-card h1{font-size:38px}
.connect-steps{color:#a9bed7;font-size:13px;line-height:1.8;padding-left:20px;margin:18px 0 0}
.connect-card input{text-transform:uppercase;letter-spacing:2px;font-family:Consolas,monospace}
.connect-result{border-radius:10px;padding:16px 18px;font-size:14px;line-height:1.8;margin:22px 0}
.connect-result.success{background:#123f33;border:1px solid #2f8a6c;color:#d4f7ea}
.connect-result.failure{background:#4a1d2a;border:1px solid #a93752;color:#ffdbe3}
.login-card .connect-retry{display:inline-flex;width:auto;margin-top:6px;text-decoration:none}
.tenant-code{display:block;font-size:26px;letter-spacing:3px;font-weight:700;color:#173552;margin:14px 0 18px;user-select:all}
#tenant-dialog textarea{width:100%;font-size:12px}
@media(max-width:1000px){.tenant-row{grid-template-columns:minmax(0,1fr)}.tenant-actions{justify-content:flex-start}}
@media(max-width:760px){.tenant-panel-body{padding:0 17px 18px}.tenant-connect select{max-width:none;flex-basis:100%}.tenant-connect .button{width:100%}.recommendation-item>summary{grid-template-columns:14px minmax(0,1fr) 62px;gap:10px;padding:16px 17px}.recommendation-body{padding:0 17px 18px}.connect-card h1{font-size:32px}.tenant-code{font-size:21px}}
@media(prefers-reduced-motion:reduce){.recommendation-item .group-expand .icon{transition:none}}
/* Defender recommendations the agent can apply: device state and the fix. */
.rec-action{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}
.device-state{font-size:12px;color:var(--subtle)}
.recommendation-fix{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:4px 0 14px}
.caution{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--amber)}
.caution .icon{width:13px;height:13px}
.remediation-targets .caution{flex-basis:100%}

/* Registry values of a hardening recommendation, in the dialog and on the tenant page. */
.rec-change { display: block; margin-top: 4px; }
.rec-change code { font-size: 12px; overflow-wrap: anywhere; white-space: normal; }
.bulk-recommendations { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
