/* Section dividers must never change the padding or border of standalone actions. */
/* One shared settings surface for cloud instance pages and the offline portal. */
:is(.self-host-page,.local-portal) .instance-settings-panel {
  display:flex; flex-direction:column; align-items:stretch; gap:0; min-width:0; padding:22px;
  border:1px solid var(--border); border-radius:10px; background:var(--card);
  color:var(--text); font-size:var(--text-body); line-height:1.6;
}
.instance-settings-panel[hidden] { display:none!important; }
.instance-settings-panel>* { min-width:0; max-width:100%; }
:is(.self-host-page,.local-portal) .instance-settings-panel :is(.sh-card,.card,.monitor-card,.maintenance-card) {
  padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; max-width:none;
}
.instance-settings-panel > :not([hidden]):not(:empty) ~ :not([hidden]):not(:empty):not(button):not(a),
.instance-settings-panel :is(.sh-panel-grid,.sh-device-grid) > :not([hidden]) ~ :not([hidden]),
.instance-settings-panel .instance-storage-sections > section + section,
.instance-settings-panel .maintenance-card + .maintenance-card {
  margin-top:22px; padding-top:22px; border-top:1px solid var(--border);
}
.instance-settings-panel :is(.sh-panel-grid,.sh-device-grid) { display:flex; flex-direction:column; gap:0; }
.instance-settings-panel :is(.sh-panel-grid,.sh-device-grid)>* { width:100%; min-width:0; }
.instance-settings-panel :is(h2,h3,legend) { color:var(--text); }
.instance-settings-panel h2 { font-size:var(--text-section); font-weight:650; line-height:1.5; }
.instance-settings-panel :is(p,small) { overflow-wrap:anywhere; }
.instance-settings-panel :is(.sh-muted,.muted) { color:var(--muted); }
.instance-settings-panel :is(.sh-danger h2,[data-tone=danger]) { color:var(--danger); }
.instance-settings-panel [data-tone=attention] { color:var(--warn); }
.instance-settings-panel [data-tone=success] { color:var(--ok); }
.instance-settings-panel [data-tone=progress] { color:var(--info); }
.instance-settings-panel [data-tone=muted] { color:var(--muted); }
.instance-settings-panel form { max-width:52rem; }
.instance-settings-panel :is(.maintenance-form,.maintenance-level-form,#assignment,#schedule) { max-width:none; }
.instance-settings-panel .sh-api-results:not(:empty) { background:transparent; border:0; border-top:1px solid var(--border); border-radius:0; padding:22px 0 0; }
.instance-settings-panel .settings-card { border-radius:0; }
.instance-settings-panel .endpoint-readiness { border:0; border-top:1px solid var(--border); border-radius:0; background:transparent; padding:22px 0 0; }
.instance-settings-panel button.secondary { background:var(--button-secondary,var(--field)); color:var(--text); }
.instance-settings-panel .maintenance-card { display:grid; gap:16px; }
.instance-settings-panel .maintenance-heading { gap:12px; margin-bottom:0; }
.instance-settings-panel .maintenance-card form { gap:16px; }
.instance-settings-panel .maintenance-facts { padding:12px 0; border-block:1px solid var(--border); color:var(--text); font-size:var(--text-body); gap:12px 32px; }
.instance-settings-panel .maintenance-status { color:var(--muted); line-height:1.7; }
.instance-settings-panel .maintenance-status:empty { display:none; }
.instance-settings-panel .maintenance-fields { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:48rem; }
.instance-settings-panel .maintenance-actions { gap:12px; margin:0; padding-top:4px; }
.instance-settings-panel .monitor-panel-header { margin-bottom:18px; }
@media(max-width:720px) {
  .instance-settings-panel .maintenance-fields { grid-template-columns:1fr; }
  .instance-settings-panel .maintenance-facts { gap:8px 20px; }
  :is(.self-host-page,.local-portal) .instance-settings-panel { padding:18px; }
  .instance-settings-panel > :not([hidden]):not(:empty) ~ :not([hidden]):not(:empty):not(button):not(a),
  .instance-settings-panel :is(.sh-panel-grid,.sh-device-grid)>:not([hidden]) ~ :not([hidden]),
  .instance-settings-panel .instance-storage-sections > section + section,
  .instance-settings-panel .maintenance-card+.maintenance-card { margin-top:18px; padding-top:18px; }
}
