/* ============================================================================
   Amvionlie CMS
   GridPulse Public Layout
   File: addons/gridpulse/assets/css/public.css
   Version: v0.0034 Alpha
   Updated: 2026-06-13
   Author: K-Tek Digital, Engineering Team
   Purpose: Provides structure-only GridPulse owner dashboard layout rules.
============================================================================ */
.amv-gridpulse-owner-dashboard {
    display: grid;
    gap: 1.25rem;
    max-width: min(100%, 1200px);
    margin-inline: auto;
}

.amv-gridpulse-section {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.amv-gridpulse-section > :first-child {
    margin-top: 0;
}

.amv-gridpulse-section > :last-child {
    margin-bottom: 0;
}

.amv-gridpulse-titlebar {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-end;
    justify-content: space-between;
    min-width: 0;
}

.amv-gridpulse-titlebar > h1 {
    flex: 0 0 auto;
    margin: 0;
    width: auto;
    min-width: 0;
}

.amv-gridpulse-titlebar__menu {
    display: flex;
    flex: 1 1 auto;
    justify-content: flex-end;
    min-width: 0;
    margin-left: auto;
}

.amv-gridpulse-titlebar__menu .amv-gridpulse-dashboard-menu,
.amv-gridpulse-titlebar__menu .amv-gridpulse-public-menu {
    min-width: 0;
}

.amv-gridpulse-section-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
}

.amv-gridpulse-metrics,
.amv-gridpulse-key-values {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
}

.amv-gridpulse-metrics {
    list-style: none;
}

.amv-gridpulse-metrics li,
.amv-gridpulse-key-values div {
    min-width: 0;
}

.amv-gridpulse-key-values dt {
    font-weight: 700;
}

.amv-gridpulse-key-values dd {
    margin: .2rem 0 0;
}

.amv-gridpulse-widget-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
    min-width: 0;
}

.amv-gridpulse-widget {
    --amv-gridpulse-widget-accent: var(--amv-theme-accent-color, var(--amv-link));
    display: grid;
    gap: .85rem;
    align-content: start;
    min-width: 0;
    min-height: 13.75rem;
    overflow: hidden;
    position: relative;
    padding: 1.1rem;
    border: 1px solid var(--amv-theme-block-body-border, var(--color-border));
    border-radius: max(var(--amv-theme-border-radius, .5rem), .625rem);
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--amv-gridpulse-widget-accent) 14%, transparent), transparent 18rem),
        linear-gradient(180deg, var(--amv-theme-block-wrapper-background, var(--amv-panel)), var(--amv-theme-block-body-background, var(--amv-panel-2)));
    color: var(--amv-theme-block-body-font, var(--color-text));
    box-shadow:
        0 1rem 2.2rem color-mix(in srgb, var(--amv-theme-background-color, var(--amv-bg)) 55%, transparent),
        inset 0 .125rem 0 color-mix(in srgb, var(--amv-theme-block-body-font, var(--color-text)) 8%, transparent);
}

.amv-gridpulse-widget::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .3125rem;
    background: var(--amv-gridpulse-widget-accent);
}

.amv-gridpulse-widget:nth-child(2n) {
    --amv-gridpulse-widget-accent: var(--amv-theme-primary-color, var(--color-primary));
}

.amv-gridpulse-widget:nth-child(3n) {
    --amv-gridpulse-widget-accent: var(--amv-theme-form-field-focus, var(--amv-theme-accent-color, var(--amv-link)));
}

.amv-gridpulse-widget:nth-child(4n) {
    --amv-gridpulse-widget-accent: var(--amv-theme-block-head-border, var(--amv-theme-accent-color, var(--amv-link)));
}

.amv-gridpulse-widget-head {
    display: flex;
    gap: .65rem;
    align-items: start;
    justify-content: space-between;
    min-width: 0;
}

.amv-gridpulse-widget-head h3 {
    margin: 0;
    padding-right: 4.75rem;
    font: 700 1.12rem/1.18 var(--font-ui, Arial, sans-serif);
    overflow-wrap: anywhere;
}

.amv-gridpulse-widget-remove {
    position: absolute;
    top: .65rem;
    right: .65rem;
    flex: 0 0 auto;
    min-height: 2rem;
    padding: .4rem .7rem;
    border-radius: 999px;
    font-size: .75rem;
    line-height: 1;
}

.amv-gridpulse-widget-value {
    color: var(--amv-theme-block-head-font, var(--color-heading));
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.amv-gridpulse-widget p {
    margin: 0;
    color: var(--amv-theme-article-body-font, var(--color-muted));
}

.amv-gridpulse-widget-list {
    display: grid;
    gap: .35rem;
    margin: 0;
    padding: .65rem;
    border-radius: .75rem;
    background: color-mix(in srgb, var(--amv-theme-background-color, var(--amv-bg)) 28%, transparent);
    list-style-position: inside;
}

.amv-gridpulse-presence-widget {
    grid-column: span 2;
    min-height: 26rem;
    border-color: color-mix(in srgb, var(--amv-theme-block-body-font, var(--color-text)) 60%, transparent);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--amv-theme-background-color, var(--amv-bg)) 68%, #000), color-mix(in srgb, var(--amv-theme-background-color, var(--amv-bg)) 86%, #000));
}

.amv-gridpulse-presence-widget .amv-gridpulse-widget-head h3,
.amv-gridpulse-presence-widget .amv-gridpulse-widget-value {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.amv-gridpulse-presence-dashboard {
    display: grid;
    gap: .85rem;
    min-width: 0;
}

.amv-gridpulse-presence-title {
    padding-right: 4.75rem;
    color: var(--amv-theme-accent-color, var(--amv-link));
    font: 400 clamp(1.35rem, 2.8vw, 1.5rem)/1.1 var(--font-ui, Arial, sans-serif);
}

.amv-gridpulse-presence-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .85rem;
    align-items: center;
    color: var(--amv-theme-block-body-font, var(--color-text));
    font: 400 .9rem/1 var(--font-ui, Arial, sans-serif);
}

.amv-gridpulse-presence-tabs span,
.amv-gridpulse-presence-tabs a {
    padding: .35rem .45rem;
    border-radius: .35rem;
    color: inherit;
    text-decoration: none;
}

.amv-gridpulse-presence-tabs .is-active {
    border: 1px solid color-mix(in srgb, #9de3ff 78%, var(--amv-theme-block-body-font, var(--color-text)));
    box-shadow: 0 0 0 .12rem color-mix(in srgb, #9de3ff 24%, transparent);
}

.amv-gridpulse-presence-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(8.5rem, .48fr);
    gap: 1rem;
    align-items: start;
    min-width: 0;
}

.amv-gridpulse-presence-chart {
    display: grid;
    gap: .5rem;
    min-width: 0;
}

.amv-gridpulse-presence-chart svg {
    display: block;
    width: 100%;
    min-height: 12rem;
}

.amv-gridpulse-presence-grid line {
    stroke: color-mix(in srgb, var(--amv-theme-block-body-font, var(--color-text)) 18%, transparent);
    stroke-dasharray: 3 5;
}

.amv-gridpulse-presence-axis line,
.amv-gridpulse-presence-axis text {
    fill: color-mix(in srgb, #9de3ff 70%, var(--amv-theme-block-body-font, var(--color-text)));
    font: 100 .72rem/1 var(--font-ui, Arial, sans-serif);
}

.amv-gridpulse-presence-area {
    fill: color-mix(in srgb, #65c944 24%, transparent);
}

.amv-gridpulse-presence-line {
    fill: none;
    stroke: #87df5d;
    stroke-width: 2.2;
    stroke-linejoin: round;
    stroke-linecap: round;
    filter: drop-shadow(0 0 .18rem color-mix(in srgb, #87df5d 48%, transparent));
}

.amv-gridpulse-presence-recommendation {
    color: #e0c30d;
    font: 400 1rem/1.15 var(--font-ui, Arial, sans-serif);
}

.amv-gridpulse-presence-stats {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1.05rem .75rem;
    margin: .35rem 0 0;
    color: var(--amv-theme-accent-color, var(--amv-link));
    font: 500 clamp(1rem, 2.6vw, 1rem)/1.1 var(--font-ui, Arial, sans-serif);
}

.amv-gridpulse-presence-stats dt,
.amv-gridpulse-presence-stats dd {
    margin: 0;
    font-weight: 400;
}

.amv-gridpulse-presence-stats dd {
    text-align: right;
}

.amv-gridpulse-presence-stats .is-high {
    color: #19e350;
}

.amv-gridpulse-presence-stats .is-low {
    color: #ff3d3d;
}

.amv-gridpulse-presence-stats .is-peak {
    color: color-mix(in srgb, var(--amv-theme-form-field-focus, #2d6f65) 78%, var(--amv-theme-block-body-font, var(--color-text)));
}

.amv-gridpulse-presence-total {
    color: var(--amv-theme-block-body-font, var(--color-text));
    font-weight: 400;
}

.amv-gridpulse-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
    align-items: end;
    width: 100%;
    min-width: 0;
}

.amv-gridpulse-form > h3,
.amv-gridpulse-form > p {
    grid-column: 1 / -1;
}

.amv-gridpulse-form .amv-gridpulse-field-wide {
    grid-column: span 4;
}

.amv-gridpulse-form-actions {
    display: flex;
    align-items: end;
    min-width: 0;
}

.amv-gridpulse-form.amv-control-field-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.amv-gridpulse-form .amv-control-field-grid__full {
    grid-column: 1 / -1;
}

.amv-gridpulse-role-permissions-form {
    display: grid;
    gap: 1rem;
}

.amv-gridpulse-role-permission-groups {
    display: block;
}

.amv-gridpulse-role-permission-group {
    display: grid;
    gap: .7rem;
    min-width: 0;
    padding: .8rem;
    border: 1px solid var(--amv-control-border, var(--color-border));
    border-radius: var(--amv-control-radius, var(--amv-theme-border-radius, .5rem));
}

.amv-gridpulse-role-permission-group h4 {
    margin: 0;
    color: var(--color-heading, var(--color-text));
}

.amv-gridpulse-role-permission-list {
    display: grid;
    gap: .45rem;
}

.amv-gridpulse-role-permission-list label {
    display: flex;
    align-items: flex-start;
    gap: .45rem;
    min-width: 0;
    line-height: 1.25;
}

.amv-gridpulse-role-permission-list input {
    flex: 0 0 auto;
    margin-top: .15rem;
}

.amv-gridpulse-role-permission-list span {
    min-width: 0;
}

.amv-gridpulse-field-label {
    display: block;
    font-weight: 700;
    margin-bottom: .35rem;
}

.amv-gridpulse-combo-field {
    display: grid;
    gap: .35rem;
    min-width: 0;
}

.amv-gridpulse-inline-controls {
    display: grid;
    grid-template-columns: minmax(5rem, .45fr) minmax(7rem, .55fr);
    gap: .5rem;
    min-width: 0;
}

.amv-gridpulse-management-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    margin-block: .75rem;
}

.amv-gridpulse-management-actions__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
}

.amv-gridpulse-table-name {
    display: inline-block;
    font-weight: 700;
    min-width: max-content;
    white-space: nowrap;
}

.amv-gridpulse-managed-group-description {
    display: block;
    max-width: min(22rem, 25vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.amv-gridpulse-online-indicator {
    display: inline-flex;
    gap: .45rem;
    align-items: center;
    color: var(--color-muted);
    white-space: nowrap;
}

.amv-gridpulse-online-indicator > span[aria-hidden="true"] {
    display: inline-block;
    width: .7rem;
    height: .7rem;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 0 0 2px color-mix(in srgb, currentColor 16%, transparent);
}

.amv-gridpulse-online-indicator.is-online {
    color: var(--color-success, var(--success, var(--color-primary)));
}

.amv-gridpulse-online-indicator__label {
    color: var(--amv-theme-block-body-font, var(--color-text));
}

.amv-gridpulse-image-thumb {
    position: relative;
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
}

.amv-gridpulse-image-thumb > img,
.amv-gridpulse-image-preview {
    width: 4rem;
    height: 4rem;
    object-fit: cover;
    border-radius: var(--amv-theme-border-radius, .5rem);
}

.amv-gridpulse-image-thumb span {
    position: absolute;
    z-index: 20;
    left: calc(100% + .75rem);
    top: 0;
    display: none;
    max-height: 25rem;
    padding: .35rem;
    border: 1px solid var(--amv-theme-block-body-border, var(--color-border));
    border-radius: var(--amv-theme-border-radius, .5rem);
    background: var(--amv-theme-block-body-background, var(--amv-panel-2));
}

.amv-gridpulse-image-thumb:hover span,
.amv-gridpulse-image-thumb:focus span {
    display: block;
}

.amv-gridpulse-image-thumb span img {
    display: block;
    max-width: min(25rem, 70vw);
    max-height: 25rem;
    object-fit: contain;
}

.amv-gridpulse-template-preview {
    display: grid;
    gap: .85rem;
}

.amv-gridpulse-check-list {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .85rem;
    min-width: 0;
}

.amv-gridpulse-check-list.amv-gridpulse-field-wide {
    grid-column: 1 / -1;
}

.amv-gridpulse-check-list label {
    align-items: center;
    display: inline-flex;
    gap: .35rem;
}

.amv-gridpulse-wizard-form {
    max-width: 100%;
}

.amv-gridpulse-list-controls {
    display: flex;
    flex-wrap: nowrap;
    gap: .75rem;
    justify-content: space-between;
    align-items: center;
}

.amv-gridpulse-list-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 7rem));
    gap: .75rem;
    align-items: center;
    justify-content: flex-end;
    margin: 0 0 0 auto;
    min-width: 0;
    width: auto;
}

.amv-gridpulse-managed-group-filters {
    grid-template-columns: repeat(3, minmax(0, 7rem));
}

.amv-gridpulse-template-filters {
    grid-template-columns: repeat(3, minmax(0, 7rem));
}

.amv-gridpulse-device-filters {
    grid-template-columns: repeat(3, minmax(0, 7rem));
}

.amv-gridpulse-list-filter-group {
    width: 100%;
}

.amv-gridpulse-list-filter-count {
    width: 100%;
}

.amv-gridpulse-list-filter-search {
    grid-column: span 2;
    width: 100%;
}

.amv-gridpulse-delivery-filters {
    grid-template-columns: minmax(0, 14.75rem) 1fr minmax(0, 7rem) minmax(0, 7rem) minmax(0, 7rem);
    justify-content: stretch;
    width: 100%;
}

.amv-gridpulse-delivery-filter-view {
    grid-column: 1;
}

.amv-gridpulse-delivery-filters .amv-gridpulse-list-filter-count {
    grid-column: 3;
}

.amv-gridpulse-delivery-filters .amv-gridpulse-list-filter-search {
    grid-column: 4 / span 2;
}

.amv-gridpulse-delivery-filters--queue .amv-gridpulse-delivery-filter-event {
    grid-column: 4 / span 2;
}

.amv-gridpulse-list-filters label {
    margin: 0;
}

.amv-gridpulse-calendar {
    display: grid;
    gap: 1rem;
}

.amv-gridpulse-calendar-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .75rem;
}

.amv-gridpulse-calendar-filters label {
    display: grid;
    gap: .25rem;
    min-width: 12rem;
}

.amv-gridpulse-calendar-filters span {
    font-weight: 700;
}

.amv-gridpulse-calendar-reset {
    display: inline-flex;
    align-items: center;
}

.amv-gridpulse-calendar-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .5rem;
}

.amv-gridpulse-calendar-title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 7px 9px;
    border: 1px solid var(--amv-theme-button-border, var(--color-border));
    border-radius: var(--amv-theme-border-radius, .5rem);
    background: var(--amv-theme-button-background, var(--amv-panel));
    color: var(--amv-theme-button-font, var(--amv-link));
    text-decoration: none;
    font-weight: 700;
}

.amv-gridpulse-calendar-title {
    min-width: 14rem;
}

.amv-gridpulse-calendar-grid-wrap {
    overflow-x: auto;
}

.amv-gridpulse-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(7.5rem, 1fr));
    min-width: 52.5rem;
    overflow: hidden;
    border: 1px solid var(--amv-theme-block-body-border, var(--color-border));
    border-radius: var(--amv-theme-border-radius, .5rem);
}

.amv-gridpulse-calendar-weekday {
    padding: .65rem;
    border-bottom: 1px solid var(--amv-theme-block-head-border, var(--color-border));
    background: var(--amv-theme-block-head-background, var(--amv-panel));
    color: var(--amv-theme-block-head-font, var(--color-heading));
    font-weight: 700;
}

.amv-gridpulse-calendar-day {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-height: 8rem;
    padding: .35rem;
    border-right: 1px solid var(--amv-theme-block-body-border, var(--color-border));
    border-bottom: 1px solid var(--amv-theme-block-body-border, var(--color-border));
    background: var(--amv-theme-block-body-background, var(--amv-panel-2));
    color: var(--amv-theme-block-body-font, var(--color-text));
}

.amv-gridpulse-calendar-day--empty {
    opacity: .45;
}

.amv-generated-template .amv-gridpulse-calendar-day__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-width: 1.75rem;
    min-height: 1.75rem;
    text-align: left;
	max-width: 25%;
}

.amv-gridpulse-calendar-day__number {
    font-weight: 700;
}

.amv-gridpulse-calendar-day__events,
.amv-gridpulse-calendar-day-list {
    display: grid;
    gap: .35rem;
}

.amv-gridpulse-calendar-chip {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    padding: 0 10px;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    background: transparent;
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
    appearance: none;
    cursor: pointer;
}

.amv-gridpulse-calendar-more {
    padding: 0 10px;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    font-size: .85rem;
    opacity: .78;
    cursor: pointer;
}

.amv-gridpulse-calendar-day-event {
    padding: .75rem;
    border: 1px solid var(--amv-theme-block-body-border, var(--color-border));
    border-radius: var(--amv-theme-border-radius, .5rem);
    background: var(--amv-theme-block-body-background, var(--amv-panel-2));
}

.amv-gridpulse-calendar-day-event h4 {
    margin-top: 0;
}

.amv-gridpulse-calendar-day-event__message {
    margin: .5rem 0 1rem;
    white-space: pre-wrap;
}

.amv-gridpulse-calendar-day-event__edit,
.amv-gridpulse-calendar-day-event__delete {
    margin-top: .75rem;
}

.amv-gridpulse-calendar-template-sync {
    align-items: center;
    display: inline-flex;
    gap: .4rem;
}

.amv-gridpulse-calendar-agenda {
    display: grid;
    gap: .75rem;
}

.amv-gridpulse-calendar-agenda-day {
    display: grid;
    gap: .5rem;
    padding: .75rem 0;
    border-bottom: 1px solid var(--amv-theme-block-body-border, var(--color-border));
}

.amv-gridpulse-calendar-agenda-day__date {
    justify-self: start;
    font-weight: 700;
    text-align: left;
}

.amv-gridpulse-directory {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.amv-gridpulse-directory-page__title {
    font-size: 1.5rem;
    line-height: 1.25;
}

.amv-gridpulse-directory-layout {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 3fr) minmax(13rem, 1fr);
    align-items: start;
}

.amv-gridpulse-directory-column {
    min-width: 0;
}

.amv-gridpulse-directory-filter {
    margin: 0 0 1rem;
}

.amv-gridpulse-directory-filter label {
    display: grid;
    gap: .4rem;
}

.amv-gridpulse-directory-filter select {
    width: min(100%, 20rem);
    max-width: 33%;
}

.amv-gridpulse-directory-group + .amv-gridpulse-directory-group {
    margin-top: 1.25rem;
}

.amv-gridpulse-directory-list {
    display: grid;
    gap: .7rem;
}

.amv-gridpulse-directory-row {
    display: grid;
    grid-template-columns: minmax(10rem, .85fr) minmax(0, 1.15fr);
    gap: 1rem;
    align-items: start;
    min-width: 0;
    padding-bottom: .7rem;
    border-bottom: 1px solid var(--amv-theme-block-body-border, var(--color-border));
}

.amv-gridpulse-directory-card,
.amv-gridpulse-directory-row {
    display: grid;
    min-width: 0;
}

.amv-gridpulse-directory-card {
    gap: .65rem;
}

.amv-gridpulse-directory-card h3,
.amv-gridpulse-directory-card h3 a,
.amv-gridpulse-directory-row__name h3,
.amv-gridpulse-directory-row__name h3 a {
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.amv-gridpulse-directory-card h3,
.amv-gridpulse-directory-row__name h3,
.amv-gridpulse-directory-row__name p,
.amv-gridpulse-directory-row__tagline,
.amv-gridpulse-directory-actions {
    margin: 0;
}

.amv-gridpulse-directory-card p,
.amv-gridpulse-directory-row__tagline,
.amv-gridpulse-directory-row__name p,
.amv-control-table td,
.amv-gridpulse-key-values dd {
    overflow-wrap: anywhere;
}

.amv-gridpulse-directory-row__name p,
.amv-gridpulse-directory-row__tagline,
.amv-gridpulse-directory-actions,
.amv-gridpulse-business-card,
.amv-gridpulse-public-notice {
    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1.45;
}

.amv-gridpulse-directory-row__summary,
.amv-gridpulse-business-card,
.amv-gridpulse-public-notices,
.amv-gridpulse-public-notice {
    display: grid;
    gap: .45rem;
}

.amv-gridpulse-directory-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .75rem;
}

.amv-gridpulse-business-card h2 {
    margin: 0;
    font-family: Arial, sans-serif;
    font-size: 1.35rem;
    line-height: 1.25;
}

.amv-gridpulse-business-card p,
.amv-gridpulse-public-notice p {
    margin: 0;
}

.amv-gridpulse-business-card__owner,
.amv-gridpulse-business-card__meta,
.amv-gridpulse-public-notice__date {
    opacity: .78;
}

.amv-gridpulse-business-card__tagline {
    font-weight: 700;
}

.amv-gridpulse-public-notice {
    padding-block: .65rem;
    border-bottom: 1px solid var(--amv-theme-block-body-border, var(--color-border));
}

.amv-gridpulse-public-notice h3 {
    margin: 0;
    font-family: Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.25;
}

.amv-gridpulse-directory-card > :first-child {
    margin-top: 0;
}

.amv-gridpulse-directory-card > :last-child {
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .amv-gridpulse-metrics,
    .amv-gridpulse-key-values,
    .amv-gridpulse-widget-grid,
    .amv-gridpulse-form,
    .amv-gridpulse-directory-layout,
    .amv-gridpulse-directory {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .amv-gridpulse-directory-row {
        grid-template-columns: minmax(10rem, .85fr) minmax(0, 1.15fr);
    }

    .amv-gridpulse-presence-widget {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .amv-gridpulse-titlebar {
        align-items: flex-start;
    }

    .amv-gridpulse-titlebar__menu {
        justify-content: flex-start;
        width: 100%;
        margin-left: 0;
    }

    .amv-gridpulse-metrics,
    .amv-gridpulse-key-values,
    .amv-gridpulse-widget-grid,
    .amv-gridpulse-form,
    .amv-gridpulse-directory-layout,
    .amv-gridpulse-directory,
    .amv-gridpulse-directory-row {
        grid-template-columns: 1fr;
    }

    .amv-gridpulse-form .amv-gridpulse-field-wide {
        grid-column: auto;
    }

    .amv-gridpulse-list-controls {
        flex-wrap: wrap;
    }

    .amv-gridpulse-list-filters {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .amv-gridpulse-list-filter-search {
        grid-column: auto;
    }

    .amv-gridpulse-delivery-filter-view,
    .amv-gridpulse-delivery-filters--queue .amv-gridpulse-delivery-filter-event,
    .amv-gridpulse-delivery-filters .amv-gridpulse-list-filter-count,
    .amv-gridpulse-delivery-filters .amv-gridpulse-list-filter-search {
        grid-column: auto;
    }

    .amv-gridpulse-presence-layout {
        grid-template-columns: 1fr;
    }

    .amv-gridpulse-presence-stats {
        grid-template-columns: minmax(0, 1fr) auto;
    }

}
