/* DojoConnect shared UI semantic styles for safeguarding surfaces.
   Components may emit sg-* hooks; this plugin owns their presentation. */

.sg-page {
    display: grid;
    gap: var(--dc-space-6);
    padding-inline: var(--dc-space-4);
}

.sg-fallback-main {
    padding: var(--dc-space-8);
}

.sg-restricted-banner {
    display: flex;
    align-items: flex-start;
    gap: var(--dc-space-3);
    padding: var(--dc-space-4);
    border: 1px solid var(--dc-danger);
    border-radius: var(--dc-radius-md);
    background: var(--dc-danger-tint);
    color: var(--dc-ink-900);
}

.sg-restricted-banner i {
    color: var(--dc-danger);
    font-size: var(--dc-text-lg);
    margin-top: 2px;
}

.sg-restricted-banner strong,
.sg-restricted-banner span {
    display: block;
}

.sg-restricted-banner strong {
    margin-bottom: var(--dc-space-1);
}

.sg-panel__sub,
.sg-case-ref {
    color: var(--dc-ink-500);
    font-size: var(--dc-text-sm);
    margin: var(--dc-space-1) 0 0;
}

.sg-case-ref {
    display: block;
}

.sg-case-link {
    color: var(--dc-brand-primary);
    font-weight: 700;
    text-decoration: none;
}

.sg-case-link:hover,
.sg-case-link:focus {
    text-decoration: underline;
}

.sg-case-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--dc-space-3);
}

.sg-case-meta div {
    display: grid;
    gap: var(--dc-space-1);
    padding: var(--dc-space-3);
    border: 1px solid var(--dc-ink-200);
    border-radius: var(--dc-radius-sm);
    background: var(--dc-surface-sunken);
}

.sg-case-meta span,
.sg-muted {
    color: var(--dc-ink-500);
}

.sg-case-meta strong {
    color: var(--dc-ink-900);
}

.sg-case-summary {
    margin-top: var(--dc-space-5);
}

.sg-case-summary h2,
.sg-detail-grid h2,
.sg-page .dc-panel > h2 {
    margin: 0 0 var(--dc-space-3);
    font-size: var(--dc-text-lg);
}

.sg-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--dc-space-5);
}

.sg-grid-2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--dc-space-4);
}

.sg-note-body {
    max-width: 78ch;
    white-space: pre-wrap;
}

.sg-definition-list {
    display: grid;
    grid-template-columns: minmax(130px, max-content) minmax(0, 1fr);
    gap: var(--dc-space-2) var(--dc-space-4);
    margin: 0;
}

.sg-definition-list dt {
    color: var(--dc-ink-600);
    font-size: var(--dc-text-sm);
    font-weight: 700;
}

.sg-definition-list dd {
    margin: 0;
    color: var(--dc-ink-900);
}

.sg-list,
.sg-note-list {
    display: grid;
    gap: var(--dc-space-3);
}

.sg-list-item,
.sg-note {
    display: grid;
    gap: var(--dc-space-1);
    padding: var(--dc-space-3);
    border: 1px solid var(--dc-ink-200);
    border-radius: var(--dc-radius-sm);
    background: var(--dc-surface-sunken);
}

.sg-list-item--link {
    color: inherit;
    text-decoration: none;
}

.sg-list-item--link:hover,
.sg-list-item--link:focus {
    border-color: var(--dc-brand-primary);
}

.sg-list-item span,
.sg-note header span,
.sg-timeline span {
    color: var(--dc-ink-500);
    font-size: var(--dc-text-sm);
}

.sg-note header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--dc-space-2);
}

.sg-note p {
    margin: 0;
}

.sg-sensitive-details {
    margin-top: var(--dc-space-2);
}

.sg-sensitive-details summary {
    color: var(--dc-brand-primary);
    cursor: pointer;
    font-size: var(--dc-text-sm);
    font-weight: 700;
}

.sg-sensitive-details p {
    margin: var(--dc-space-2) 0 0;
    max-width: 70ch;
    color: var(--dc-ink-700);
}

.sg-consent-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dc-space-2);
    max-width: 520px;
}

.sg-consent-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid var(--dc-ink-200);
    border-radius: var(--dc-radius-pill);
    background: var(--dc-surface-sunken);
    color: var(--dc-ink-700);
    font-size: var(--dc-text-xs);
    font-weight: 600;
}

.sg-consent-chip.is-granted {
    border-color: var(--dc-success);
    background: var(--dc-success-tint);
    color: var(--dc-success);
}

.sg-consent-chip.is-not-granted {
    border-color: var(--dc-warning);
    background: var(--dc-warning-tint);
    color: var(--dc-ink-800);
}

.sg-doc-state-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(72px, 1fr));
    gap: var(--dc-space-2);
    max-width: 220px;
}

.sg-doc-state-grid span {
    padding: 4px 8px;
    border: 1px solid var(--dc-ink-200);
    border-radius: var(--dc-radius-sm);
    background: var(--dc-surface-sunken);
    color: var(--dc-ink-700);
    font-size: var(--dc-text-xs);
    font-weight: 700;
}

.sg-timeline {
    display: grid;
    gap: var(--dc-space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.sg-timeline li {
    display: grid;
    gap: var(--dc-space-1);
    padding-left: var(--dc-space-4);
    border-left: 3px solid var(--dc-brand-primary);
}

.sg-timeline time {
    color: var(--dc-ink-500);
    font-size: var(--dc-text-xs);
    font-weight: 700;
    text-transform: uppercase;
}

.sg-status-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: var(--dc-space-3);
    margin: 0;
}

.sg-status-list div {
    display: flex;
    justify-content: space-between;
    gap: var(--dc-space-3);
    padding: var(--dc-space-3);
    border: 1px solid var(--dc-ink-200);
    border-radius: var(--dc-radius-sm);
    background: var(--dc-surface-sunken);
}

.sg-status-list dt {
    color: var(--dc-ink-600);
    font-weight: 600;
}

.sg-status-list dd {
    margin: 0;
    color: var(--dc-ink-900);
    font-weight: 700;
}

.sg-stat--danger .dc-stat__icon {
    background: var(--dc-danger-tint);
    color: var(--dc-danger);
}

.sg-pill {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: var(--dc-radius-pill);
    background: var(--dc-ink-100);
    color: var(--dc-ink-700);
    font-size: var(--dc-text-xs);
    font-weight: 700;
}

.sg-pill--high,
.sg-pill--critical {
    background: var(--dc-danger-tint);
    color: var(--dc-danger);
}

.sg-pill--medium {
    background: var(--dc-warning-tint);
    color: var(--dc-ink-800);
}

.sg-pill--low {
    background: var(--dc-success-tint);
    color: var(--dc-success);
}

.sg-pill--expired {
    background: var(--dc-danger-tint);
    color: var(--dc-danger);
}

.sg-pill--restricted,
.sg-pill--needs_attention,
.sg-pill--not_allowed_to_teach,
.sg-pill--temporary_suspension {
    background: var(--dc-danger-tint);
    color: var(--dc-danger);
}

.sg-pill--review_soon,
.sg-pill--review_required,
.sg-pill--supervision_required,
.sg-pill--document_pending {
    background: var(--dc-warning-tint);
    color: var(--dc-ink-800);
}

.sg-pill--compliant,
.sg-pill--allowed {
    background: var(--dc-success-tint);
    color: var(--dc-success);
}

.sg-dsl-compliance {
    display: grid;
    gap: 4px;
    color: var(--dc-ink-700);
    font-size: var(--dc-text-xs);
    font-weight: 700;
}

.sg-register-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--dc-space-4);
}

.sg-register-intro h2 {
    margin: 0 0 var(--dc-space-2);
}

.sg-dsl-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: var(--dc-space-4);
}

.sg-dsl-archive-form {
    margin: 0;
}

.sg-dsl-archive-form .dc-btn {
    white-space: nowrap;
}

.sg-form {
    display: grid;
    gap: var(--dc-space-4);
}

.sg-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--dc-space-5) var(--dc-space-4);
    align-items: start;
}

.sg-form-section {
    display: grid;
    gap: var(--dc-space-4);
    margin: 0;
    padding: var(--dc-space-4) 0 0;
    border: 0;
    border-top: 1px solid var(--dc-ink-100);
}

.sg-form-section legend {
    padding: 0 var(--dc-space-2) 0 0;
    color: var(--dc-ink-900);
    font-size: var(--dc-text-md);
    font-weight: 800;
}

.sg-wizard {
    gap: 0;
    overflow: hidden;
    max-width: 1120px;
}

.sg-wizard-steps {
    counter-reset: sg-wizard-step;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: var(--dc-space-1);
    margin: 0;
    padding: var(--dc-space-5) var(--dc-space-5) 0;
    list-style: none;
}

.sg-wizard-steps li {
    counter-increment: sg-wizard-step;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--dc-space-2);
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: var(--dc-radius-sm);
    background: transparent;
    color: var(--dc-ink-700);
    font-size: var(--dc-text-sm);
    font-weight: 800;
    text-align: left;
}

.sg-wizard-steps li::before {
    content: counter(sg-wizard-step);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--dc-ink-100);
    color: var(--dc-ink-600);
    font-size: var(--dc-text-xs);
    font-weight: 900;
    line-height: 1;
}

.sg-wizard-steps li.is-active {
    border-color: var(--dc-brand-primary);
    background: var(--dc-surface);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    color: var(--dc-ink-900);
}

.sg-wizard-steps li.is-active::before {
    background: var(--dc-brand-primary);
    color: var(--dc-surface);
}

.sg-wizard-panel {
    display: grid;
    gap: var(--dc-space-5);
    padding: var(--dc-space-6) var(--dc-space-5);
}

.sg-wizard-panel > .dc-panel__header {
    align-items: flex-start;
    padding: 0 0 var(--dc-space-4);
    border-bottom: 1px solid var(--dc-ink-100);
}

.sg-wizard-panel .dc-panel__title {
    margin: 0;
    font-size: var(--dc-text-lg);
}

.sg-wizard-panel .sg-muted {
    max-width: 92ch;
    margin: var(--dc-space-1) 0 0;
    line-height: 1.5;
}

.sg-wizard-panel[hidden] {
    display: none;
}

.sg-wizard-actions {
    align-items: center;
    margin: 0;
    padding: var(--dc-space-4) var(--dc-space-5);
    border-top: 1px solid var(--dc-ink-100);
    background: var(--dc-surface-sunken);
}

.sg-form--inline {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) auto;
    align-items: end;
    gap: var(--dc-space-2);
    min-width: min(100%, 340px);
}

.sg-field {
    display: grid;
    gap: var(--dc-space-2);
    min-width: 0;
}

.sg-field--checkbox {
    grid-template-columns: auto 1fr;
    align-items: center;
    align-self: end;
    min-height: 48px;
    padding: var(--dc-space-3);
    border: 1px solid var(--dc-ink-100);
    border-radius: var(--dc-radius-sm);
    background: var(--dc-surface-sunken);
}

.sg-field--checkbox input {
    width: 18px;
    min-height: 18px;
    padding: 0;
}

.sg-field--wide {
    grid-column: 1 / -1;
}

.sg-field--compact {
    min-width: min(100%, 220px);
}

.sg-field span:first-child {
    color: var(--dc-ink-700);
    font-size: var(--dc-text-sm);
    font-weight: 700;
    line-height: 1.35;
}

.sg-label {
    display: block;
    margin-bottom: 2px;
    color: var(--dc-ink-500);
    font-size: var(--dc-text-sm);
    font-weight: 700;
}

.sg-field input,
.sg-field select,
.sg-field textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--dc-ink-200);
    border-radius: var(--dc-radius-sm);
    background: var(--dc-surface);
    color: var(--dc-ink-900);
    font: inherit;
}

.sg-field input:focus,
.sg-field select:focus,
.sg-field textarea:focus {
    border-color: var(--dc-brand-primary);
    box-shadow: 0 0 0 3px var(--dc-brand-primary-tint);
    outline: 0;
}

.sg-field input:disabled {
    background: var(--dc-surface-sunken);
    color: var(--dc-ink-700);
}

.sg-field textarea {
    min-height: 180px;
    resize: vertical;
}

.sg-check {
    display: inline-flex;
    align-items: center;
    gap: var(--dc-space-2);
    color: var(--dc-ink-700);
    font-size: var(--dc-text-sm);
    font-weight: 700;
}

.sg-check input {
    width: 16px;
    height: 16px;
}

.sg-help {
    color: var(--dc-ink-500);
    font-size: var(--dc-text-sm);
}

.sg-actions {
    display: flex;
    justify-content: flex-start;
}

.sg-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--dc-space-2);
    padding-top: var(--dc-space-2);
}

.sg-stack {
    display: grid;
    gap: var(--dc-space-3);
}

.sg-item {
    display: grid;
    gap: var(--dc-space-3);
    padding: var(--dc-space-4);
    border: 1px solid var(--dc-ink-100);
    border-radius: var(--dc-radius-md);
    background: var(--dc-surface);
}

.sg-item__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--dc-space-3);
}

.sg-person-search {
    display: grid;
    gap: var(--dc-space-3);
}

.sg-search-selection {
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--dc-ink-200);
    border-radius: var(--dc-radius-sm);
    background: var(--dc-surface-sunken);
    color: var(--dc-ink-700);
}

.sg-search-results {
    display: grid;
    gap: var(--dc-space-2);
}

.sg-search-result {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--dc-ink-200);
    border-radius: var(--dc-radius-sm);
    background: var(--dc-surface);
    color: var(--dc-ink-900);
    font: inherit;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.sg-search-result:hover,
.sg-search-result:focus {
    border-color: var(--dc-brand-primary);
    outline: 2px solid var(--dc-brand-primary-tint);
    outline-offset: 1px;
}

.sg-receipt {
    border-left: 4px solid var(--dc-success);
}

.sg-sensitive-text {
    max-width: 76ch;
    white-space: normal;
}

.sg-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--dc-space-4);
    align-items: start;
}

.sg-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.sg-page .dc-panel__body--flush {
    padding: 0;
}

.sg-filter-select {
    width: auto;
    min-width: 150px;
}

.sg-dashboard-grid,
.sg-case-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.9fr);
    gap: var(--dc-space-4);
    align-items: start;
}

.sg-critical {
    display: flex;
    align-items: center;
    gap: var(--dc-space-3);
    padding: var(--dc-space-4);
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid var(--dc-ink-100);
}

.sg-critical:last-child {
    border-bottom: 0;
}

.sg-critical:hover,
.sg-critical:focus {
    background: var(--dc-ink-50);
}

.sg-critical__strip {
    width: 4px;
    min-height: 42px;
    border-radius: var(--dc-radius-pill);
    background: var(--dc-danger);
}

.sg-critical__strip--high {
    background: var(--dc-warning);
}

.sg-critical__strip--medical {
    background: var(--dc-info);
}

.sg-critical__main {
    display: grid;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.sg-critical__title {
    color: var(--dc-ink-900);
    font-weight: 800;
}

.sg-critical__meta,
.sg-panel-empty {
    color: var(--dc-ink-500);
    font-size: var(--dc-text-sm);
}

.sg-critical__count {
    display: inline-grid;
    place-items: center;
    min-width: 34px;
    min-height: 34px;
    padding: 0 var(--dc-space-2);
    border-radius: var(--dc-radius-md);
    background: var(--dc-ink-100);
    color: var(--dc-ink-900);
    font-weight: 800;
}

.sg-queue-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dc-space-3);
}

.sg-queue-card {
    display: grid;
    gap: var(--dc-space-2);
    padding: var(--dc-space-4);
    border: 1px solid var(--dc-ink-200);
    border-radius: var(--dc-radius-md);
    background: var(--dc-surface-sunken);
    color: inherit;
    text-decoration: none;
}

.sg-queue-card:hover,
.sg-queue-card:focus {
    border-color: var(--dc-brand-primary);
}

.sg-queue-card span {
    color: var(--dc-ink-600);
    font-size: var(--dc-text-sm);
    font-weight: 700;
}

.sg-queue-card strong {
    color: var(--dc-ink-900);
    font-size: var(--dc-text-xl);
}

.sg-type {
    display: inline-flex;
    align-items: center;
    gap: var(--dc-space-1);
    padding: 3px 8px;
    border-radius: var(--dc-radius-pill);
    background: var(--dc-brand-primary-tint);
    color: var(--dc-brand-primary);
    font-size: var(--dc-text-xs);
    font-weight: 800;
}

.sg-type--medical {
    background: var(--dc-info-tint);
    color: var(--dc-info-text);
}

.sg-type--communication,
.sg-type--complaint {
    background: var(--dc-warning-tint);
    color: var(--dc-warning-text);
}

.sg-type--injury,
.sg-type--bullying,
.sg-type--safeguarding_concern {
    background: var(--dc-danger-tint);
    color: var(--dc-danger-text);
}

.dc-table tbody tr.is-critical td {
    background: linear-gradient(90deg, rgba(220, 38, 38, 0.06), transparent 55%);
}

.sg-case-overview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: var(--dc-space-4);
    padding: var(--dc-space-4);
}

.sg-case-overview__main,
.sg-case-badges,
.sg-case-layout__main,
.sg-case-layout__side {
    min-width: 0;
}

.sg-export-pack-form {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--dc-space-3);
}

.sg-case-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dc-space-2);
    margin-bottom: var(--dc-space-4);
}

.sg-case-meta--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
}

.sg-case-meta dt {
    color: var(--dc-ink-500);
    font-size: var(--dc-text-xs);
    font-weight: 800;
    text-transform: uppercase;
}

.sg-case-meta dd {
    margin: 0;
    color: var(--dc-ink-900);
    font-weight: 700;
}

.sg-case-lifecycle {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--dc-space-4);
    padding-top: var(--dc-space-4);
    border-top: 1px solid var(--dc-ink-200);
}

.sg-case-lifecycle h3 {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--dc-ink-900);
    font-size: var(--dc-text-lg);
}

.sg-case-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dc-space-2);
    padding-bottom: var(--dc-space-2);
    border-bottom: 1px solid var(--dc-ink-200);
}

.sg-case-tabs a {
    display: inline-flex;
    align-items: center;
    gap: var(--dc-space-2);
    min-height: 36px;
    padding: 0 var(--dc-space-3);
    border-radius: var(--dc-radius-md);
    color: var(--dc-ink-700);
    font-weight: 800;
    text-decoration: none;
}

.sg-case-tabs a:hover,
.sg-case-tabs a:focus {
    background: var(--dc-brand-primary-tint);
    color: var(--dc-brand-primary);
}

.sg-notes {
    position: relative;
    display: grid;
    gap: var(--dc-space-4);
    padding-left: var(--dc-space-6);
}

.sg-notes::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 9px;
    width: 2px;
    background: var(--dc-ink-200);
}

.sg-note {
    position: relative;
    background: var(--dc-surface);
}

.sg-note__dot {
    position: absolute;
    top: var(--dc-space-4);
    left: calc(-1 * var(--dc-space-6));
    width: 20px;
    height: 20px;
    border: 3px solid var(--dc-surface);
    border-radius: 50%;
    background: var(--dc-brand-primary);
    box-shadow: var(--dc-shadow-sm);
}

.sg-note__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--dc-space-2);
}

.sg-note__author {
    color: var(--dc-ink-900);
}

.sg-note__time,
.sg-note__type {
    color: var(--dc-ink-500);
    font-size: var(--dc-text-xs);
}

.sg-note__type,
.sg-note__decision {
    display: inline-flex;
    width: max-content;
    padding: 2px 7px;
    border-radius: var(--dc-radius-sm);
    background: var(--dc-ink-100);
    color: var(--dc-ink-700);
    font-size: var(--dc-text-xs);
    font-weight: 800;
}

.sg-note__decision {
    margin-top: var(--dc-space-2);
    background: var(--dc-brand-primary-tint);
    color: var(--dc-brand-primary);
}

.sg-person,
.sg-action,
.sg-attachment {
    display: flex;
    align-items: center;
    gap: var(--dc-space-3);
    padding: var(--dc-space-3) var(--dc-space-4);
    border-bottom: 1px solid var(--dc-ink-100);
}

.sg-form + .sg-panel-empty,
.sg-form + .sg-attachment {
    margin-top: var(--dc-space-3);
}

.sg-person {
    flex-wrap: wrap;
}

.sg-attachment {
    flex-wrap: wrap;
}

.sg-person:last-child,
.sg-action:last-child,
.sg-attachment:last-child {
    border-bottom: 0;
}

.sg-person__main,
.sg-action__main,
.sg-attachment__main {
    display: grid;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.sg-person__name,
.sg-action__title,
.sg-attachment__name {
    color: var(--dc-ink-900);
    font-weight: 800;
    word-break: break-word;
}

.sg-person__role,
.sg-action__meta,
.sg-attachment__meta {
    color: var(--dc-ink-500);
    font-size: var(--dc-text-xs);
}

.sg-person__tag,
.sg-action__priority {
    flex-shrink: 0;
    padding: 2px 7px;
    border-radius: var(--dc-radius-sm);
    background: var(--dc-warning-tint);
    color: var(--dc-warning-text);
    font-size: var(--dc-text-xs);
    font-weight: 800;
}

.sg-action__check,
.sg-attachment__icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: var(--dc-radius-md);
    background: var(--dc-ink-100);
    color: var(--dc-ink-600);
}

.sg-action--completed .sg-action__check {
    background: var(--dc-success-tint);
    color: var(--dc-success-text);
}

.sg-action__priority--high,
.sg-action__priority--urgent {
    background: var(--dc-danger-tint);
    color: var(--dc-danger-text);
}

.sg-attachment__icon {
    background: var(--dc-brand-primary-tint);
    color: var(--dc-brand-primary);
}

.sg-panel-empty {
    margin: 0;
    padding: var(--dc-space-4);
}

.sg-list-link {
    color: var(--dc-brand-primary);
    font-weight: 800;
    text-decoration: none;
}

.sg-list-link:hover,
.sg-list-link:focus {
    text-decoration: underline;
}

@media (max-width: 1000px) {
    .sg-dashboard-grid,
    .sg-case-layout,
    .sg-case-overview {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .sg-page {
        padding-inline: var(--dc-space-3);
    }

    .sg-wizard-steps,
    .sg-wizard-panel,
    .sg-wizard-actions {
        padding-inline: var(--dc-space-4);
    }

    .sg-wizard-steps {
        grid-template-columns: 1fr;
    }

    .sg-register-intro {
        display: grid;
    }

    .sg-register-intro .dc-btn {
        justify-self: start;
    }

    .sg-filter-select {
        width: 100%;
    }

    .sg-queue-grid,
    .sg-case-meta--compact {
        grid-template-columns: 1fr;
    }
}
