/* Native checkbox rows only. Switch widgets and tariff radio cards retain their own layout. */
body:is(.public-body,.console-body,.quick-card-body) :is(label.service-check,label.check-line,label.quick-card-switch,.checkbox-row>label,.personal-data-consents>label):not(.widget-toggle,.request-field-switch,.menu-visibility-toggle,.widget-visibility-switch){
    display:grid;
    grid-template-columns:18px minmax(0,1fr);
    grid-template-rows:auto;
    grid-auto-flow:row;
    align-items:start;
    column-gap:10px;
    row-gap:0;
    min-width:0;
    margin:0;
    white-space:normal;
    line-height:20px;
}
body:is(.public-body,.console-body,.quick-card-body) :is(label.service-check,label.check-line,label.quick-card-switch,.checkbox-row>label,.personal-data-consents>label):not(.widget-toggle,.request-field-switch,.menu-visibility-toggle,.widget-visibility-switch)>input[type=checkbox]{
    grid-column:1;
    grid-row:1;
    justify-self:start;
    align-self:start;
    display:block;
    box-sizing:border-box;
    width:18px;
    min-width:18px;
    max-width:18px;
    height:18px;
    min-height:18px;
    max-height:18px;
    margin:1px 0 0;
    padding:0;
}
body:is(.public-body,.console-body,.quick-card-body) :is(label.service-check,label.check-line,label.quick-card-switch,.checkbox-row>label,.personal-data-consents>label):not(.widget-toggle,.request-field-switch,.menu-visibility-toggle,.widget-visibility-switch)>span{
    grid-column:2;
    grid-row:1;
    min-width:0;
    margin:0;
    padding:0;
    font-size:13px;
    line-height:20px;
    white-space:normal;
    overflow-wrap:anywhere;
}
/* A service name starts beside its checkbox, without a field-heading offset. */
body.console-body .service-editor>label.service-check{padding-top:0;align-self:start}
/* These compact rows have no multi-line legal copy to align against. */
body:is(.public-body,.console-body,.quick-card-body) :is(label.service-check,label.quick-card-switch,.checkbox-row>label):not(.widget-toggle,.request-field-switch,.menu-visibility-toggle,.widget-visibility-switch){align-items:center}
body:is(.public-body,.console-body,.quick-card-body) :is(label.service-check,label.quick-card-switch,.checkbox-row>label):not(.widget-toggle,.request-field-switch,.menu-visibility-toggle,.widget-visibility-switch)>input[type=checkbox]{align-self:center;margin-top:0}

/* Keep the control centred on the first text line, including multi-line payment consent. */
body.public-body :is(label.check-line,.personal-data-consents>label)>span{font-size:14px;line-height:20px}
