/* Visual contracts shared by data-heavy pages; business layout stays declarative. */
:root{--ui-list-filter-gap:16px;--ui-section-gap:16px;--ui-metric-padding:16px;--ui-empty-padding:24px;--ui-status-radius:999px}
html[data-ui-theme] body[data-ui-scope="application"] .maale-list-filters--spaced{margin-block-end:var(--ui-list-filter-gap)}
html[data-ui-theme] body[data-ui-scope="application"] .ui-metric-card{box-sizing:border-box;padding:var(--ui-metric-padding);border:1px solid var(--ui-border);border-radius:var(--ui-card-radius,var(--ui-radius));background:var(--ui-surface)}
html[data-ui-theme] body[data-ui-scope="application"] .ui-empty-state{padding:var(--ui-empty-padding);text-align:center;color:var(--ui-muted);font-size:var(--ui-font-size)}
.ui-section{min-width:0;margin-block:var(--ui-section-gap)}
.ui-section__header{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-gap);margin-block-end:var(--ui-gap)}
.ui-section__header>h2{margin:0;color:var(--ui-heading);font-size:var(--ui-font-size)}
.ui-status{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--ui-status-radius);background:var(--ui-surface-subtle);color:var(--ui-muted);font-size:12px;line-height:18px}
.ui-status[data-tone=success]{color:var(--ui-action-success)}.ui-status[data-tone=danger]{color:var(--ui-action-danger)}.ui-status[data-tone=warning]{color:var(--ui-action-warning)}

html[data-ui-theme] body[data-ui-scope="application"] table.maale-list-table>tbody>tr>td.ui-empty-state{padding:var(--ui-empty-padding);color:var(--ui-muted);text-align:center}

:root{--ui-feed-item-padding:16px;--ui-metric-value-font-size:20px}
.ui-feed{min-width:0;list-style:none;padding:0}
html[data-ui-theme] body[data-ui-scope="application"] .ui-feed-item{padding:var(--ui-feed-item-padding);border-color:var(--ui-border);border-radius:var(--ui-radius)}
html[data-ui-theme] body[data-ui-scope="application"] .ui-metric-card>:is(strong,.project-value){display:block;font-size:var(--ui-metric-value-font-size);font-weight:600}

/* Shared statistics cards and circular ratios. */
.ui-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-section-gap);margin-block:var(--ui-section-gap)}
.ui-metric-card--accent,.ui-metric-card--progress{--metric-color:var(--app-accent);position:relative;overflow:hidden;min-width:0}
.ui-metric-card[data-tone=success]{--metric-color:var(--ui-action-success,#39856d)}.ui-metric-card[data-tone=danger]{--metric-color:var(--ui-action-danger,#c25e68)}.ui-metric-card[data-tone=warning]{--metric-color:var(--ui-action-warning,#c38b42)}.ui-metric-card[data-tone=info]{--metric-color:var(--ui-link,#497797)}
.ui-metric-card--accent{min-height:132px;display:grid;align-content:center;gap:5px;padding-inline-start:24px!important;box-shadow:0 5px 20px color-mix(in srgb,var(--ui-text) 3%,transparent)}
.ui-metric-card--accent::before{content:"";position:absolute;inset-block:18px;inset-inline-start:0;width:4px;border-radius:5px;background:var(--metric-color)}
.ui-metric-card__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:var(--metric-color);background:color-mix(in srgb,var(--metric-color) 10%,var(--ui-surface));flex-shrink:0}.ui-metric-card__icon svg{width:22px;height:22px}
.ui-metric-card--accent>.ui-metric-card__icon{position:absolute;inset-inline-end:20px;top:24px}
.ui-metric-card__label,.ui-metric-card small{color:var(--ui-muted);font-size:12px}
html[data-ui-theme] body[data-ui-scope=application] .ui-metric-card--accent>.ui-metric-card__value{font-size:calc(var(--ui-metric-value-font-size) * 1.8);font-weight:700;line-height:1.3;color:var(--ui-text)}
.ui-metric-card--progress header{display:flex;align-items:center;gap:10px}.ui-metric-card--progress h3{font-size:13px;margin:0;font-weight:500}.ui-progress__percent{margin-inline-start:auto;color:var(--metric-color);font-size:13px;font-weight:600}
.ui-progress{position:relative;width:192px;height:192px;margin:12px auto 0}.ui-progress>svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.ui-progress circle{fill:none;stroke-width:4}.ui-progress__track{stroke:color-mix(in srgb,var(--metric-color) 10%,var(--ui-surface))}.ui-progress__fill{stroke:var(--metric-color);stroke-linecap:round;stroke-dasharray:339.292;stroke-dashoffset:var(--ui-progress-offset);animation:ui-progress-fill var(--ui-metric-animation-duration,2200ms) cubic-bezier(.2,.65,.3,1) both}.ui-progress__numbers{position:absolute;inset:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}.ui-progress__numbers strong{font-size:28px;line-height:1.2}.ui-progress__numbers>span{font-size:10px;color:var(--ui-muted);border-block-start:1px solid var(--ui-border);min-width:64px;padding-top:5px}.ui-progress__numbers b{font-size:18px;font-weight:500;color:var(--ui-muted)}.ui-progress__numbers small{font-size:10px}
.ui-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block:8px;color:var(--ui-muted);font-size:12px}.ui-dashboard-heading h3{margin:0;font-size:14px;color:var(--ui-text)}
@keyframes ui-progress-fill{from{stroke-dashoffset:339.292}}
@media(prefers-reduced-motion:reduce){.ui-progress__fill{animation:none}}

:root{--ui-metric-animation-duration:2200ms}
.ui-metric-grid--six{grid-template-columns:repeat(6,minmax(0,1fr))}
.ui-metric-grid--six .ui-metric-card--accent{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-content:center;align-items:center;padding:16px!important;min-height:120px;column-gap:8px;row-gap:4px;text-align:right}
.ui-metric-grid--six .ui-metric-card--accent>.ui-metric-card__icon{position:static;grid-column:2;grid-row:1/3;justify-self:end;width:38px;height:42px;border-radius:10px}.ui-metric-grid--six .ui-metric-card__icon svg{width:26px;height:26px}
.ui-metric-grid--six .ui-metric-card__label{grid-column:1;grid-row:1;justify-self:start;font-size:11px;white-space:nowrap}
.ui-metric-grid--six .ui-metric-card small{grid-column:1/-1;grid-row:3;font-size:10px}
html[data-ui-theme] body[data-ui-scope=application] .ui-metric-grid--six .ui-metric-card--accent>.ui-metric-card__value{grid-column:1;grid-row:2;justify-self:start;font-size:calc(var(--ui-metric-value-font-size) * 1.6)}
.ui-metric-card__value,.ui-progress__numbers strong{font-variant-numeric:tabular-nums}

@media print{.ui-progress__fill{animation:none}}

/* Optional destinations preserve the shared statistic card and ring design. */
.ui-metric-link{display:block;color:inherit;text-decoration:none;transition:border-color .18s,box-shadow .18s}
.ui-metric-link:hover,.ui-metric-link:focus-visible{border-color:var(--metric-color)!important;box-shadow:0 4px 16px color-mix(in srgb,var(--metric-color) 10%,transparent);outline-offset:3px}

/* Shared compact channel choices within settings lists. */
.ui-choice-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.ui-choice-row .ui-field-check{margin:0;white-space:nowrap}.ui-choice-row input[type=checkbox]{width:15px;height:15px;min-height:0;accent-color:var(--app-accent)}
.message-rules-table td:has([data-timing]){min-width:230px}.message-rules-table td:has([data-timing])>.ui-field{display:inline-flex;vertical-align:top;max-width:245px;margin:2px 0 2px 8px}.message-rules-table [data-delay]{max-width:90px}

.message-rules-table td:has([data-timing])>.ui-field:first-child{display:flex;flex-direction:column;align-items:stretch;max-width:none;margin:0 0 4px}.message-rules-table [data-timing]{width:100%;font-weight:400}.message-rules-table td:has([data-timing])>.ui-field>span{font-size:11px;line-height:1.5}

.ui-number-setting{max-width:128px;min-width:84px}

.message-rules-table:has([data-audience]){table-layout:fixed;min-width:900px}.message-rules-table:has([data-audience]) th:first-child{width:17%}.message-rules-table:has([data-audience]) th:nth-child(2){width:31%}.message-rules-table:has([data-audience]) th:nth-child(3),.message-rules-table:has([data-audience]) th:nth-child(4){width:22%}.message-rules-table:has([data-audience]) th:last-child{width:8%}.message-rules-table .ui-choice-row{flex-wrap:nowrap;gap:6px}.message-rules-table .ui-choice-row .ui-field-check{font-size:10.5px;gap:4px;line-height:16px}.message-rules-table:has([data-audience]) td:nth-child(2){line-height:16px}

.message-rules-table td:has([data-timing])>.ui-field:first-child{display:inline-flex;width:calc(100% - 90px);max-width:calc(100% - 90px);margin:0 0 0 8px;vertical-align:top}.message-rules-table td:has([data-timing])>.ui-field:nth-child(2){display:inline-flex;flex-direction:column;align-items:stretch;width:76px;max-width:76px;margin:0;vertical-align:top}.message-rules-table [data-timing]{font-size:var(--ui-font-size-sm,12px)}
