@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;700&display=swap');

:root {
    --bg: #efefef;
    --panel: rgba(250, 250, 250, 0.78);
    --panel-strong: rgba(255, 255, 255, 0.92);
    --text: #141414;
    --muted: #6d6d6d;
    --line: rgba(20, 20, 20, 0.12);
    --line-strong: rgba(20, 20, 20, 0.25);
    --accent: #1f5ba9;
    --accent-soft: #e0e8f1;
    --accent-hover-background: color-mix(in srgb, var(--accent-soft) 45%, white);
    --add-icon-color: #0078bc;
    --link-button-color: #000;
    --add-link-gap: 0.4rem;
    --add-link-font-size: 0.95rem;
    --add-icon-font-size: 1.65rem;
    --record-add-spacing: 1.15rem;
    --setup-record-padding: 0.95rem 1.1rem;
    --setup-record-height: calc(4.4rem + 2px);
    --setup-record-action-height: 2.5rem;
    --warning-accent: #b16a4c;
    --warning-background: #f3e6dd;
    --warning-text: #854326;
    --bs-warning-bg-subtle: var(--warning-background);
    --bs-warning-border-subtle: var(--warning-accent);
    --bs-warning-text-emphasis: var(--warning-text);
    --shadow: 0 24px 60px rgba(0, 0, 0, 0.08);
    --card-radius: 1.15rem;
    --card-border: 1px solid var(--line);
    --card-fill: rgba(255, 255, 255, 0.68);
    --section-title-size: 1.2rem;
    --section-title-weight: 700;
    --surface-color: var(--panel-strong);
    --surface-subtle-color: rgba(255, 255, 255, 0.48);
    --surface-shadow: 0 12px 34px rgba(0, 0, 0, 0.06);
    --heading-text: var(--text);
    --ink: var(--text);
    --muted-text: var(--muted);
    --border-color: var(--line);
    --accent-color: var(--accent);
    --chrome-header-offset: 4.8125rem;
}

html,
body {
    margin: 0;
    min-height: 100%;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.85), transparent 28%),
        linear-gradient(180deg, #f6f6f6 0%, var(--bg) 100%);
    color: var(--text);
    font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
}

body {
    position: relative;
}

.admin-shell,
.admin-auth-shell {
    font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.22), transparent 55%);
    pointer-events: none;
}

a {
    color: var(--accent);
    text-decoration: none;
}

a:hover {
    color: #173f74;
}

button,
input,
textarea,
select {
    font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    color: var(--text);
    font-weight: var(--section-title-weight);
    line-height: 1.1;
}

h1,
h2 {
    font-size: var(--section-title-size);
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #2b9a52;
}

.invalid {
    outline: 1px solid #cf2e2e;
}

.validation-message,
.auth-validation-message {
    color: #c03232;
    font-size: 0.85rem;
}

.chrome-shell {
    position: relative;
    min-height: 100vh;
}

.chrome-header {
    position: sticky;
    top: 0;
    z-index: 60;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    padding: 1.6rem 2rem 0.8rem;
    border-bottom: 1px solid rgba(20, 20, 20, 0.08);
    background: rgba(246, 246, 246, 0.94);
    box-shadow: 0 0.45rem 1.2rem rgba(20, 20, 20, 0.035);
    backdrop-filter: blur(16px);
}

.brand-lockup {
    display: inline-flex;
    align-items: center;
    color: var(--text);
}

.brand-logo {
    width: 10rem;
    height: auto;
    display: block;
    object-fit: contain;
}

.customer-brand-lockup {
    gap: 0.9rem;
    white-space: nowrap;
}

.brand-product-mark {
    padding-left: 0.9rem;
    border-left: 1px solid #cbdaf0;
    color: var(--text);
    font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
}

.chrome-actions {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 2.3rem;
    justify-self: end;
}

.customer-primary-nav {
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem;
    border: 1px solid rgba(20, 20, 20, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.62);
    box-shadow: 0 0.45rem 1.5rem rgba(20, 20, 20, 0.035);
}

.customer-primary-nav-link {
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.42rem 0.95rem;
    border-radius: 999px;
    color: rgba(20, 20, 20, 0.62);
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

.customer-primary-nav-link:hover {
    color: var(--text);
    background: rgba(20, 20, 20, 0.045);
}

.customer-primary-nav-link.active {
    color: #fff;
    background: #141414;
    box-shadow: 0 0.3rem 0.8rem rgba(20, 20, 20, 0.16);
}

.assistant-launch-button {
    position: relative;
    min-height: 2.35rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.42rem 0.78rem;
    border: 1px solid #000bc5;
    border-radius: 999px;
    color: #000;
    background: var(--accent-hover-background);
    font-size: 0.86rem;
    font-weight: 700;
    white-space: nowrap;
}

.assistant-launch-button:hover {
    border-color: #000bc5;
    background: var(--accent-soft);
}

.assistant-launch-button.is-placeholder {
    visibility: hidden;
    pointer-events: none;
}

.assistant-launch-button.has-unread {
    border-color: #000bc5;
    background: var(--accent-hover-background);
    box-shadow: 0 0.35rem 1rem rgba(31, 91, 169, 0.14);
}

.assistant-launch-button.is-working {
    background: var(--accent-hover-background);
}

.assistant-launch-status {
    width: 0.48rem;
    height: 0.48rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #155bd3;
    box-shadow: 0 0 0 0.18rem rgba(21, 91, 211, 0.12);
}

.assistant-launch-status-working {
    animation: dashboard-assistant-pulse 1.4s ease-out infinite;
}

.assistant-launch-icon {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    background-color: #3a3dff;
    -webkit-mask: url('/assets/sparkle.svg') center / contain no-repeat;
    mask: url('/assets/sparkle.svg') center / contain no-repeat;
}

.chrome-actions > form {
    display: inline-flex;
    align-items: center;
    margin: 0;
    line-height: 0;
}

.icon-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(20, 20, 20, 0.55);
    cursor: pointer;
}

.icon-action:not(:where(:has(img[src$="/refresh.svg"]))):hover {
    color: var(--text);
}

.icon-action svg {
    width: 100%;
    height: 100%;
}

.header-icon {
    width: 20px;
    height: 20px;
    display: block;
    object-fit: contain;
}

.header-icon-profile {
    transform: scale(0.88);
    transform-origin: center;
}

.icon-action-disabled {
    opacity: 0.38;
    cursor: default;
    pointer-events: none;
}

.profile-menu {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 1.75rem;
    height: 1.75rem;
    line-height: 0;
    flex: 0 0 auto;
}

.profile-menu summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.profile-menu summary::-webkit-details-marker {
    display: none;
}

.profile-menu-trigger {
    cursor: pointer;
    appearance: none;
    line-height: 1;
    margin: 0;
    flex: 1 1 auto;
}

.profile-menu-panel {
    position: absolute;
    top: calc(100% + 0.6rem);
    right: 0;
    min-width: 10.5rem;
    display: grid;
    gap: 0.35rem;
    padding: 0.6rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
    z-index: 10;
}

.profile-menu-link,
.profile-menu-button {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0.7rem 0.8rem;
    border: 0;
    border-radius: 0.6rem;
    background: transparent;
    color: var(--text);
    text-align: left;
    white-space: nowrap;
}

.profile-menu-link:hover,
.profile-menu-button:hover {
    background: rgba(20, 20, 20, 0.06);
    color: var(--text);
}

.profile-menu-button {
    cursor: pointer;
}

.admin-shell .chrome-main {
    padding-top: 0.5rem;
}

.admin-shell .chrome-main > .account-status-message {
    margin-bottom: 1.35rem;
}

.admin-header {
    display: grid;
    grid-template-columns: auto minmax(28rem, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    padding-bottom: 0;
    border-bottom: 1px solid rgba(20, 20, 20, 0.12);
}

.admin-brand,
.admin-auth-brand {
    align-items: center;
    gap: 0.75rem;
    min-width: max-content;
}

.admin-portal-mark {
    padding-left: 0.75rem;
    border-left: 1px solid rgba(20, 20, 20, 0.18);
    color: rgba(20, 20, 20, 0.58);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.admin-header-actions {
    display: flex;
    align-items: center;
    justify-self: end;
    min-width: 0;
}

.admin-header-actions form {
    margin: 0;
}

.admin-tabs {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    align-self: stretch;
    gap: 0.15rem;
    min-width: 0;
}

.admin-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.35rem;
    padding: 0.35rem 0.68rem;
    color: rgba(20, 20, 20, 0.62);
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

.admin-tab:hover {
    color: var(--text);
    background: rgba(20, 20, 20, 0.04);
}

.admin-tab.active {
    color: var(--text);
    font-weight: 700;
}

.admin-tab.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: var(--text);
}

.admin-system-menu,
.admin-operator-menu {
    position: relative;
}

.admin-system-menu {
    display: flex;
    align-self: stretch;
}

.admin-system-menu summary,
.admin-operator-menu summary {
    list-style: none;
    cursor: pointer;
}

.admin-system-menu summary::-webkit-details-marker,
.admin-operator-menu summary::-webkit-details-marker {
    display: none;
}

.admin-system-menu-trigger {
    gap: 0.45rem;
}

.admin-menu-chevron {
    width: 0.42rem;
    height: 0.42rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-0.12rem) rotate(45deg);
    transition: transform 0.16s ease;
}

.admin-system-menu[open] .admin-system-menu-trigger .admin-menu-chevron,
.admin-operator-menu[open] .admin-operator-menu-trigger > .admin-menu-chevron {
    transform: translateY(0.1rem) rotate(225deg);
}

.admin-system-menu-panel,
.admin-operator-menu-panel {
    position: absolute;
    top: calc(100% + 0.55rem);
    right: 0;
    z-index: 30;
    display: grid;
    min-width: 13rem;
    padding: 0.55rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.14);
}

.admin-system-menu-link {
    padding: 0.7rem 0.8rem;
    border-radius: 0.58rem;
    color: rgba(20, 20, 20, 0.72);
    font-size: 0.88rem;
    font-weight: 600;
    white-space: nowrap;
}

.admin-system-menu-link:hover,
.admin-system-menu-link.active {
    color: var(--text);
    background: rgba(20, 20, 20, 0.055);
}

.admin-operator-menu-trigger {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    max-width: 17rem;
    min-height: 2.65rem;
    padding: 0.3rem 0.55rem 0.3rem 0.35rem;
    border: 1px solid rgba(20, 20, 20, 0.1);
    border-radius: 0.8rem;
    background: rgba(255, 255, 255, 0.72);
    color: var(--text);
}

.admin-operator-menu-trigger:hover,
.admin-operator-menu[open] .admin-operator-menu-trigger {
    border-color: rgba(20, 20, 20, 0.2);
    background: rgba(255, 255, 255, 0.94);
}

.admin-operator-avatar {
    display: grid;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 0.58rem;
    background: #141414;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

.admin-operator-menu-panel {
    width: min(19rem, calc(100vw - 2rem));
    gap: 0.6rem;
    padding: 0.8rem;
}

.admin-operator-menu-context,
.admin-operator-menu-version {
    display: grid;
    gap: 0.2rem;
}

.admin-operator-menu-context span,
.admin-operator-menu-version span {
    color: var(--muted);
    font-size: 0.72rem;
}

.admin-operator-menu-context strong,
.admin-operator-menu-version strong {
    overflow-wrap: anywhere;
    font-size: 0.86rem;
    font-weight: 600;
}

.admin-operator-menu-version {
    padding-block: 0.65rem;
    border-block: 1px solid var(--line);
}

.admin-operator-menu-logout {
    width: 100%;
    padding: 0.68rem 0.75rem;
    border: 0;
    border-radius: 0.58rem;
    background: transparent;
    color: #9f2424;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.admin-operator-menu-logout:hover {
    background: rgba(159, 36, 36, 0.08);
}

.admin-auth-shell {
    min-height: 100vh;
}

.admin-auth-header {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.35rem 2rem;
    border-bottom: 1px solid rgba(20, 20, 20, 0.1);
    background: rgba(255, 255, 255, 0.42);
}

.admin-auth-context {
    color: rgba(20, 20, 20, 0.58);
    font-size: 0.82rem;
    font-weight: 600;
}

.admin-auth-main .auth-stage {
    min-height: calc(100vh - 5.75rem);
}

.admin-auth-eyebrow {
    margin: 0 0 0.5rem;
    color: var(--accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-step-up-stage {
    min-height: calc(100vh - 10rem);
}

.admin-page-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.admin-page-heading h1 {
    margin-bottom: 0.25rem;
    font-size: clamp(1.55rem, 2.2vw, 2rem);
}

.admin-shell h2 {
    font-size: 1.18rem;
}

.admin-shell h3 {
    font-size: 1rem;
}

.admin-overview-refreshed {
    color: rgba(20, 20, 20, 0.54);
    font-size: 0.82rem;
    white-space: nowrap;
}

.admin-overview-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.admin-overview-metric {
    display: grid;
    gap: 0.35rem;
    min-height: 9.25rem;
    padding: 1.15rem;
    border: 1px solid rgba(20, 20, 20, 0.1);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.78);
    color: var(--text);
    box-shadow: 0 0.5rem 1.5rem rgba(20, 20, 20, 0.04);
}

.admin-overview-metric:hover {
    border-color: rgba(20, 20, 20, 0.24);
    transform: translateY(-1px);
}

.admin-overview-metric.is-attention {
    border-color: var(--warning-accent);
    background: var(--warning-background);
}

.admin-overview-metric > span {
    color: rgba(20, 20, 20, 0.58);
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-overview-metric strong {
    align-self: end;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1;
}

.admin-overview-metric small {
    color: rgba(20, 20, 20, 0.62);
    line-height: 1.35;
}

.admin-overview-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(160, 58, 47, 0.28);
    border-radius: 0.9rem;
    background: rgba(255, 239, 236, 0.92);
}

.admin-overview-banner > div {
    display: grid;
    gap: 0.2rem;
}

.admin-overview-banner span {
    color: rgba(20, 20, 20, 0.65);
    font-size: 0.9rem;
}

.admin-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.admin-overview-panel {
    display: grid;
    align-content: start;
    gap: 1rem;
    min-width: 0;
}

.admin-overview-panel-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.admin-overview-panel-header h2 {
    margin-bottom: 0.25rem;
    font-size: 1.1rem;
}

.admin-overview-panel-header p {
    margin: 0;
    color: rgba(20, 20, 20, 0.58);
    font-size: 0.88rem;
}

.admin-overview-panel-header > a {
    flex: none;
    font-size: 0.86rem;
    font-weight: 700;
}

.admin-overview-queue {
    display: grid;
}

.admin-overview-queue-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.8rem 0;
    border-top: 1px solid rgba(20, 20, 20, 0.08);
    color: var(--text);
}

.admin-overview-queue-row:first-child {
    border-top: 0;
}

.admin-overview-queue-row:hover strong {
    text-decoration: underline;
}

.admin-overview-queue-row > div:first-child {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.admin-overview-queue-row > div:first-child strong,
.admin-overview-queue-row > div:first-child span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-overview-queue-row > div:first-child span,
.admin-overview-row-detail {
    color: rgba(20, 20, 20, 0.58);
    font-size: 0.78rem;
}

.admin-overview-row-detail {
    max-width: 16rem;
    overflow: hidden;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-overview-flags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
}

.admin-overview-account-state dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
    gap: 0.6rem;
    margin: 0;
}

.admin-overview-account-state dl > div {
    display: grid;
    gap: 0.25rem;
    padding: 0.8rem;
    border-radius: 0.75rem;
    background: rgba(20, 20, 20, 0.035);
}

.admin-overview-account-state dt {
    color: rgba(20, 20, 20, 0.58);
    font-size: 0.75rem;
}

.admin-overview-account-state dd {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 750;
}

.admin-fleet-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.admin-fleet-metrics > a {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(20, 20, 20, 0.09);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.76);
    color: var(--text);
}

.admin-fleet-metrics > a:hover {
    border-color: rgba(20, 20, 20, 0.24);
}

.admin-fleet-metrics span {
    color: var(--muted);
    font-size: 0.76rem;
    line-height: 1.3;
    white-space: normal;
}

.admin-fleet-metrics strong {
    font-size: 1.55rem;
}

.admin-fleet-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.9rem;
}

.admin-fleet-filter-grid label {
    display: grid;
    gap: 0.35rem;
    color: var(--text);
    font-size: 0.88rem;
}

.admin-fleet-filter-grid .admin-account-filter-search {
    grid-column: span 2;
}

.admin-fleet-table {
    min-width: 96rem;
}

.admin-fleet-connection.online {
    background: rgba(39, 140, 82, 0.12);
    color: #217347;
}

.admin-fleet-connection.stale {
    background: var(--warning-background);
    color: var(--warning-text);
}

.admin-fleet-connection.offline,
.admin-fleet-connection.neverreported {
    background: rgba(192, 50, 50, 0.11);
    color: #9f2727;
}

.admin-release-metrics {
    grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
}

.admin-fleet-metrics > div {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(20, 20, 20, 0.09);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.76);
    color: var(--text);
}

.admin-release-filter-grid {
    grid-template-columns: minmax(16rem, 2fr) repeat(4, minmax(9rem, 1fr));
}

.admin-release-target-filter-grid {
    grid-template-columns: minmax(18rem, 2fr) repeat(2, minmax(9rem, 1fr));
}

.admin-release-details {
    margin-top: 1rem;
}

.admin-release-details > summary {
    cursor: pointer;
    color: var(--text);
    font-weight: 700;
}

.admin-release-details[open] > summary {
    margin-bottom: 1rem;
}

.admin-release-table {
    min-width: 70rem;
}

.admin-release-target-table {
    min-width: 76rem;
}

.admin-release-deployment-table {
    min-width: 96rem;
}

.admin-release-context {
    border-color: rgba(31, 91, 169, 0.18);
}

.admin-release-status.draft {
    background: rgba(80, 87, 97, 0.11);
    color: #4c525b;
}

.admin-release-status.published,
.admin-release-status.ready,
.admin-release-readiness.ready {
    background: rgba(39, 140, 82, 0.12);
    color: #217347;
}

.admin-release-status.paused {
    background: var(--warning-background);
    color: var(--warning-text);
}

.admin-release-status.completed,
.admin-release-readiness.current {
    background: rgba(31, 91, 169, 0.11);
    color: #1f5ba9;
}

.admin-release-status.archived,
.admin-release-status.failed,
.admin-release-readiness.attention {
    background: rgba(192, 50, 50, 0.11);
    color: #9f2727;
}

.admin-release-targeted {
    background: rgba(31, 91, 169, 0.11);
    color: #1f5ba9;
}

.admin-release-workspace-summary {
    margin-bottom: 1rem;
}

.admin-release-lifecycle-actions,
.admin-release-target-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.admin-release-pause-field > span:last-child {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.75rem;
}

.admin-release-hash {
    display: block;
    max-width: 18rem;
    overflow: hidden;
    font-size: 0.75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-release-preflight-metrics {
    grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
}

.admin-release-preflight-metrics .ready {
    border-color: rgba(39, 140, 82, 0.25);
    background: rgba(39, 140, 82, 0.06);
}

.admin-release-preflight-metrics .attention {
    border-color: rgba(192, 50, 50, 0.22);
    background: rgba(192, 50, 50, 0.05);
}

.admin-release-preflight-list {
    display: grid;
    gap: 0.65rem;
}

.admin-release-preflight-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(20, 20, 20, 0.08);
}

.admin-release-preflight-list article:last-child {
    border-bottom: 0;
}

.admin-release-preflight-list p {
    margin: 0.25rem 0 0;
    color: var(--muted);
    font-size: 0.85rem;
}

.admin-infrastructure-tabs {
    gap: 1.15rem;
    margin-bottom: 1rem;
    padding: 0 1.25rem;
    border-top: 0;
}

.admin-infrastructure-guide {
    display: grid;
    gap: 0.7rem;
}

.admin-infrastructure-guide a {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(20, 20, 20, 0.08);
    color: var(--text);
}

.admin-infrastructure-guide a:last-child {
    border-bottom: 0;
}

.admin-infrastructure-guide span {
    color: var(--muted);
    font-size: 0.85rem;
}

.admin-infrastructure-profile-filter {
    grid-template-columns: minmax(18rem, 2fr) repeat(2, minmax(9rem, 1fr));
}

.admin-infrastructure-placement-table {
    min-width: 92rem;
}

.admin-infrastructure-database-table {
    min-width: 94rem;
}

.admin-infrastructure-storage-table {
    min-width: 88rem;
}

.admin-infrastructure-placement-table th:last-child,
.admin-infrastructure-placement-table td:last-child,
.admin-infrastructure-database-table th:last-child,
.admin-infrastructure-database-table td:last-child,
.admin-infrastructure-storage-table th:last-child,
.admin-infrastructure-storage-table td:last-child {
    position: sticky;
    right: 0;
    z-index: 1;
    background: #fff;
    box-shadow: -0.75rem 0 1rem -1rem rgba(20, 20, 20, 0.4);
}

.admin-infrastructure-storage-table td:nth-child(3) {
    max-width: 22rem;
    overflow-wrap: anywhere;
}

.admin-infrastructure-attention {
    background: rgba(192, 50, 50, 0.11);
    color: #9f2727;
}

.admin-infrastructure-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
}

.admin-infrastructure-row-actions form {
    margin: 0;
}

.admin-catalog-heading-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.admin-catalog-tabs {
    overflow-x: auto;
}

.admin-catalog-metrics {
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
}

.admin-catalog-transfer {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 1rem;
}

.admin-catalog-transfer h2,
.admin-catalog-context h2 {
    margin: 0;
}

.admin-catalog-transfer form {
    display: flex;
    align-items: end;
    gap: 0.75rem;
}

.admin-catalog-transfer label {
    display: grid;
    gap: 0.35rem;
    min-width: min(28rem, 45vw);
    font-size: 0.88rem;
}

.admin-catalog-context {
    position: sticky;
    top: calc(var(--chrome-header-offset) + 0.75rem);
    z-index: 7;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    border-color: rgba(31, 91, 169, 0.18);
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(14px);
}

.admin-catalog-context > div {
    display: grid;
    gap: 0.25rem;
}

.admin-catalog-context p {
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
}

.admin-catalog-back {
    width: max-content;
    font-size: 0.82rem;
    font-weight: 700;
}

.admin-catalog-directory-filter-grid,
.admin-catalog-propagation-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.admin-catalog-entry-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.admin-catalog-source-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.admin-catalog-setup-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.admin-catalog-industry-table,
.admin-catalog-entry-table {
    min-width: 76rem;
}

.admin-catalog-source-table {
    min-width: 94rem;
}

.admin-catalog-setup-table {
    min-width: 68rem;
}

.admin-catalog-propagation-table {
    min-width: 76rem;
}

.admin-catalog-industry-table th:last-child,
.admin-catalog-industry-table td:last-child,
.admin-catalog-entry-table th:last-child,
.admin-catalog-entry-table td:last-child,
.admin-catalog-source-table th:last-child,
.admin-catalog-source-table td:last-child,
.admin-catalog-setup-table th:last-child,
.admin-catalog-setup-table td:last-child,
.admin-catalog-propagation-table th:last-child,
.admin-catalog-propagation-table td:last-child {
    position: sticky;
    right: 0;
    z-index: 1;
    background: #fff;
    box-shadow: -0.75rem 0 1rem -1rem rgba(20, 20, 20, 0.4);
}

.admin-catalog-prompt {
    display: block;
    max-width: 32rem;
    overflow: hidden;
    color: var(--muted);
    font-size: 0.84rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-catalog-error {
    min-width: 12rem;
    max-width: 20rem;
    overflow-wrap: anywhere;
    color: #9f2727;
}

.admin-catalog-propagation-table td:first-child {
    min-width: 16rem;
}

.admin-catalog-propagation-table td:nth-child(2) {
    min-width: 14rem;
}

.admin-catalog-empty,
.admin-catalog-failed {
    background: rgba(192, 50, 50, 0.11);
    color: #9f2727;
}

.admin-catalog-populated,
.admin-catalog-propagation-table .completed {
    background: rgba(39, 140, 82, 0.12);
    color: #217347;
}

.admin-catalog-propagation-table .pending {
    background: var(--warning-background);
    color: var(--warning-text);
}

.admin-platform-metrics {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.admin-platform-tabs {
    margin-bottom: 1rem;
}

.admin-platform-summary-list {
    display: grid;
    gap: 0.7rem;
}

.admin-platform-summary-list > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(20, 20, 20, 0.08);
}

.admin-platform-summary-list > div:last-child {
    border-bottom: 0;
}

.admin-platform-summary-list span {
    color: var(--muted);
    font-size: 0.85rem;
}

.admin-platform-summary-list strong {
    max-width: 70%;
    overflow-wrap: anywhere;
    text-align: right;
}

.admin-platform-boundary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 1rem;
}

.admin-platform-boundary h2 {
    margin: 0;
}

.admin-audit-metrics {
    grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
}

.admin-audit-tabs {
    margin-bottom: 1rem;
}

.admin-audit-llm-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.admin-audit-billing-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.admin-audit-billing-intro {
    margin-bottom: 1rem;
}

.admin-audit-billing-metrics {
    grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
}

.admin-audit-account-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.admin-audit-event-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.admin-audit-llm-table {
    min-width: 72rem;
}

.admin-audit-billing-table {
    min-width: 112rem;
}

.admin-audit-recovery-table {
    min-width: 76rem;
}

.admin-audit-recovery-card {
    margin-bottom: 1rem;
}

.admin-audit-status-ok {
    background: rgba(39, 140, 82, 0.12);
    color: #217347;
}

.admin-audit-status-warning {
    background: var(--warning-background);
    color: var(--warning-text);
}

.admin-audit-status-error,
.admin-audit-accounting-mismatch {
    color: #9f2727;
}

.admin-audit-status-error {
    background: rgba(192, 50, 50, 0.11);
}

.admin-audit-account-table {
    min-width: 68rem;
}

.admin-audit-event-table {
    min-width: 88rem;
}

.admin-audit-llm-table th:last-child,
.admin-audit-llm-table td:last-child,
.admin-audit-account-table th:last-child,
.admin-audit-account-table td:last-child {
    position: sticky;
    right: 0;
    z-index: 1;
    background: #fff;
    box-shadow: -0.75rem 0 1rem -1rem rgba(20, 20, 20, 0.4);
}

.admin-audit-event-id {
    max-width: 18rem;
    overflow: hidden;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 0.76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-audit-summary {
    display: block;
    max-width: 30rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-audit-detail {
    min-width: 14rem;
    max-width: 24rem;
    overflow-wrap: anywhere;
}

.admin-audit-account-context {
    top: calc(var(--chrome-header-offset) + 0.75rem);
}

.admin-runtime-context {
    position: sticky;
    top: calc(var(--chrome-header-offset) + 0.75rem);
    z-index: 8;
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(14px);
}

.admin-runtime-context-top {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.admin-runtime-context .back-link {
    margin-bottom: 0.6rem;
}

.admin-runtime-context h1 {
    margin-bottom: 0.2rem;
}

.admin-runtime-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.75rem;
}

.admin-runtime-summary-grid article {
    display: grid;
    gap: 0.3rem;
    min-width: 0;
    padding: 1rem;
    border-radius: 0.8rem;
    background: rgba(20, 20, 20, 0.035);
}

.admin-runtime-summary-grid span,
.admin-runtime-summary-grid small {
    color: var(--muted);
    font-size: 0.78rem;
}

.admin-runtime-summary-grid strong {
    overflow: hidden;
    font-size: 1.1rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-accounts-card {
    display: grid;
    gap: 1.25rem;
}

.admin-accounts-card + .admin-accounts-card {
    margin-top: 1.75rem;
}

.admin-shell .chrome-main .admin-accounts-card ~ .admin-accounts-card {
    margin-top: 1.75rem;
}

.admin-accounts-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.admin-accounts-list {
    display: grid;
    gap: 0.9rem;
}

.admin-accounts-table-shell {
    overflow-x: auto;
    border-radius: 0.7rem;
    scrollbar-width: thin;
}

.admin-accounts-table-shell:focus-visible {
    outline: 3px solid rgba(31, 91, 169, 0.25);
    outline-offset: 3px;
}

.admin-entity-link {
    color: var(--text);
    text-decoration-color: rgba(20, 20, 20, 0.25);
    text-underline-offset: 0.18rem;
}

.admin-entity-link:hover {
    color: var(--accent);
    text-decoration-color: currentColor;
}

.admin-entity-link:focus-visible {
    border-radius: 0.2rem;
}

.admin-accounts-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 52rem;
}

.admin-accounts-table th,
.admin-accounts-table td {
    padding: 0.9rem 1rem;
    border-bottom: 1px solid rgba(20, 20, 20, 0.08);
    text-align: left;
    vertical-align: middle;
}

.admin-accounts-table th {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 500;
    letter-spacing: 0.04rem;
    text-transform: uppercase;
}

.admin-sort-button {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
}

.admin-sort-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: inherit;
    text-decoration: none;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
}

.admin-accounts-table-row {
    transition: background-color 120ms ease;
}

.admin-accounts-table-row:hover {
    background: rgba(255, 255, 255, 0.55);
}

.admin-pricing-model,
.admin-pricing-value {
    display: inline-block;
    color: var(--foreground);
}

.admin-pricing-model {
    font-family: "Fira Code", "Courier New", monospace;
    font-size: 0.92rem;
}

.admin-pricing-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

.admin-pricing-action-button {
    width: 1.9rem;
    height: 1.9rem;
}

.admin-accounts-cell-primary {
    display: grid;
    gap: 0.2rem;
}

.admin-open-button {
    min-width: 6rem;
    min-height: 2.45rem;
}

.admin-account-directory-filters {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
}

.admin-account-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.9rem;
}

.admin-account-filter-search {
    grid-column: span 2;
}

.auth-actions.admin-account-filter-actions {
    gap: 0.85rem;
    justify-content: flex-end;
    margin-top: 1rem;
}

.admin-account-filter-actions > :is(.auth-button, .secondary-button) {
    min-height: 3rem;
}

.admin-form-stack {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.admin-inline-control-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem;
    min-width: 0;
}

.admin-inline-control-form > :is(.auth-button, .secondary-button) {
    align-self: flex-end;
    min-height: 2.95rem;
}

.admin-page-scope-card {
    margin-bottom: 1rem;
}

.admin-account-directory-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--muted);
    font-size: 0.92rem;
}

.admin-account-directory-summary-bottom {
    padding-top: 0.35rem;
}

.admin-account-directory-pager,
.admin-account-attention-flags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.admin-account-directory-table {
    min-width: 86rem;
}

.admin-account-directory-table .admin-accounts-cell-primary {
    min-width: 12rem;
}

.admin-account-directory-table th:last-child,
.admin-account-directory-table td:last-child {
    position: sticky;
    right: 0;
    z-index: 1;
    background: #fff;
    box-shadow: -0.75rem 0 1rem -1rem rgba(20, 20, 20, 0.4);
}

.admin-account-directory-table tr:hover td:last-child {
    background: #fbfbfb;
}

.admin-account-state.pendingactivation,
.admin-account-state.suspended {
    background: var(--warning-background);
    color: var(--warning-text);
}

.admin-account-state.deactivated {
    background: rgba(192, 50, 50, 0.11);
    color: #9f2727;
}

.admin-account-state.active {
    background: rgba(39, 140, 82, 0.12);
    color: #217347;
}

.admin-budget-form {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.75rem;
}

.admin-feature-form {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.admin-feature-number-field {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: var(--text);
    font-size: 0.9rem;
}

.admin-llm-provider-status {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.admin-provider-status {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.admin-llm-settings-form {
    display: grid;
    gap: 0.9rem;
}

.admin-provider-settings-form {
    display: grid;
    gap: 0.9rem;
}

.admin-llm-provider-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.admin-llm-settings-form .admin-llm-provider-grid {
    grid-template-columns: minmax(0, 1fr);
}

.admin-provider-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    align-items: start;
}

.admin-llm-settings-copy {
    margin: 0;
}

.admin-provider-settings-copy,
.admin-provider-block-copy {
    margin: 0;
}

.admin-provider-block {
    display: grid;
    gap: 0.9rem;
    align-content: start;
    padding: 1rem 1.1rem;
    border: 1px solid var(--line);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.72);
}

.admin-provider-settings-form .auth-input {
    min-height: 2.45rem;
    padding: 0.5rem 0.8rem;
}

.admin-secret-input-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
}

.admin-secret-input-wrap input::-ms-reveal,
.admin-secret-input-wrap input::-ms-clear {
    display: none;
}

.admin-secret-toggle {
    width: 2.45rem;
    height: 2.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line-strong);
    border-radius: 0.55rem;
    background: rgba(255, 255, 255, 0.82);
    color: rgba(20, 20, 20, 0.68);
    cursor: pointer;
}

.admin-secret-toggle:hover {
    background: rgba(255, 255, 255, 0.95);
    color: var(--text);
}

.admin-secret-toggle:disabled,
.admin-secret-toggle:disabled:hover {
    background: rgba(240, 244, 247, 0.72);
    color: rgba(20, 20, 20, 0.34);
    cursor: not-allowed;
    opacity: 0.72;
}

.admin-secret-toggle img {
    width: 1.2rem;
    height: 1.2rem;
    display: block;
}

.admin-provider-copy {
    display: grid;
    gap: 0.35rem;
}

.admin-provider-copy h2 {
    margin: 0;
    font-size: 1rem;
}

.admin-provider-split {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.admin-provider-check {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 600;
    color: var(--text);
}

.admin-provider-check input {
    width: 1rem;
    height: 1rem;
}

.admin-account-row {
    display: grid;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--line);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.72);
}

.admin-account-row.is-focused {
    border-color: rgba(31, 91, 169, 0.45);
    box-shadow: 0 12px 28px rgba(31, 91, 169, 0.12);
}

.admin-account-context {
    position: sticky;
    top: calc(var(--chrome-header-offset) + 0.75rem);
    z-index: 8;
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(14px);
}

.admin-account-context-top {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.admin-account-context .back-link {
    margin-bottom: 0.6rem;
}

.admin-account-context h1 {
    margin-bottom: 0.2rem;
    font-size: clamp(1.35rem, 2vw, 2rem);
}

.admin-account-context-status {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.admin-account-tabs {
    display: flex;
    gap: 1.15rem;
    overflow-x: auto;
    border-top: 1px solid rgba(20, 20, 20, 0.08);
}

.surface-card.admin-section-nav {
    box-sizing: border-box;
    min-height: 3.35rem;
    padding: 0 1.25rem;
    border-top: 0;
}

.admin-section-nav .admin-account-tab {
    box-sizing: border-box;
    min-height: 3.35rem;
    padding-block: 0.65rem;
}

.admin-account-tab {
    position: relative;
    flex: none;
    padding: 0.8rem 0;
    color: rgba(20, 20, 20, 0.58);
    font-size: 0.88rem;
    font-weight: 650;
    white-space: nowrap;
}

.admin-account-tab:hover,
.admin-account-tab.active {
    color: var(--text);
}

.admin-account-tab.active::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: var(--text);
}

.admin-account-workspace-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0.75rem;
}

.admin-account-workspace-summary > a {
    display: grid;
    gap: 0.3rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(20, 20, 20, 0.08);
    border-radius: 0.8rem;
    background: rgba(20, 20, 20, 0.025);
    color: var(--text);
}

.admin-account-workspace-summary > a:hover {
    border-color: rgba(20, 20, 20, 0.22);
}

.admin-account-workspace-summary span,
.admin-account-workspace-summary small,
.admin-account-workspace-detail dt {
    color: var(--muted);
    font-size: 0.78rem;
}

.admin-account-workspace-summary strong {
    overflow: hidden;
    font-size: 1.05rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-account-workspace-detail {
    display: grid;
    justify-items: start;
    gap: 1rem;
}

.admin-account-workspace-detail dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(10rem, 1fr));
    gap: 0.75rem;
    width: 100%;
    margin: 0;
}

.admin-account-workspace-detail dl > div {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem;
    border-radius: 0.75rem;
    background: rgba(20, 20, 20, 0.035);
}

.admin-account-workspace-detail dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-weight: 650;
}

.admin-account-summary,
.admin-account-badges,
.admin-account-dates,
.admin-account-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.admin-account-meta {
    color: var(--muted);
    font-size: 0.92rem;
}

.admin-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.6rem;
    border-radius: 999px;
    background: rgba(20, 20, 20, 0.06);
    color: var(--text);
    font-size: 0.84rem;
}

.runtime-storage-counts,
.runtime-storage-filters,
.runtime-storage-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.runtime-storage-filters {
    margin: 1rem 0;
    align-items: end;
}

.runtime-storage-table {
    min-width: 78rem;
}

.runtime-storage-status.healthy {
    background: rgba(32, 122, 74, 0.1);
    color: #17623a;
}

.runtime-storage-status.warning,
.runtime-storage-status.not-reported {
    background: var(--warning-background);
    color: var(--warning-text);
}

.runtime-storage-status.critical,
.runtime-storage-status.suspended {
    background: rgba(180, 43, 43, 0.12);
    color: #982323;
}

.runtime-storage-status.quarantined {
    background: rgba(111, 64, 161, 0.12);
    color: #653795;
}

.runtime-storage-detail {
    gap: 1rem;
}

.runtime-storage-alert {
    display: grid;
    gap: 0.35rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(180, 43, 43, 0.24);
    border-radius: 0.85rem;
    background: rgba(180, 43, 43, 0.06);
}

.runtime-storage-metrics article {
    display: grid;
    gap: 0.3rem;
    min-width: 12rem;
    flex: 1 1 12rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.55);
}

.runtime-storage-metrics article span,
.runtime-storage-facts dt {
    color: var(--muted);
    font-size: 0.84rem;
}

.runtime-storage-facts {
    display: grid;
    grid-template-columns: minmax(10rem, 0.35fr) 1fr;
    gap: 0.65rem 1rem;
    margin: 0;
}

.runtime-storage-facts dt,
.runtime-storage-facts dd {
    margin: 0;
}

.admin-account-budget {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.25rem;
    border-top: 1px solid rgba(20, 20, 20, 0.08);
}

.admin-account-budget-summary,
.admin-account-budget-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: end;
}

.admin-account-budget-summary {
    color: var(--muted);
    font-size: 0.92rem;
}

.admin-budget-inline {
    display: grid;
    gap: 0.35rem;
    min-width: 9rem;
    color: var(--text);
    font-size: 0.9rem;
}

.admin-budget-input {
    min-width: 9rem;
    max-width: 11rem;
}

.admin-budget-button {
    min-width: 8rem;
    width: auto;
    justify-self: end;
}

.admin-accounts-card .admin-budget-button {
    width: auto;
}

.admin-pricing-modal {
    width: min(100%, 38rem);
}

.admin-tenant-placement-table td:last-child,
.admin-tenant-placement-table th:last-child {
    width: 4.25rem;
    text-align: right;
}

.admin-tenant-placement-edit {
    margin-left: auto;
}

.admin-tenant-placement-modal {
    width: min(100%, 38rem);
}

.admin-tenant-placement-form {
    display: grid;
    gap: 1rem;
    margin-top: 1.1rem;
}

.admin-tenant-profile-sections {
    display: grid;
    gap: 1.35rem;
}

.admin-tenant-profile-section {
    display: grid;
    gap: 0.85rem;
}

.admin-tenant-profile-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
}

.admin-tenant-profile-header h2 {
    margin: 0;
    font-size: 1.1rem;
}

.admin-tenant-profile-table td:last-child,
.admin-tenant-profile-table th:last-child {
    width: 5.5rem;
    text-align: right;
}

.admin-tenant-profile-name {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.admin-tenant-row-actions {
    justify-content: flex-end;
}

.admin-tenant-row-actions form {
    margin: 0;
}

.admin-tenant-profile-modal {
    width: min(100%, 62rem);
    max-width: calc(100vw - 3rem);
    max-height: calc(100vh - 3rem);
    overflow-y: auto;
}

.admin-tenant-profile-form {
    display: grid;
    gap: 1rem;
    margin-top: 1.1rem;
}

.admin-tenant-profile-form .automation-modal-actions {
    flex-wrap: nowrap;
    justify-content: flex-end;
}

.admin-tenant-profile-form .automation-modal-actions .auth-button,
.admin-tenant-profile-form .automation-modal-actions .secondary-button {
    flex: 0 0 auto;
    width: auto;
}

.camera-form-grid.admin-tenant-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.camera-form-grid.admin-tenant-profile-grid > label {
    min-width: 0;
}

.camera-form-grid.admin-tenant-profile-grid > .admin-tenant-profile-grid-wide {
    grid-column: 1 / -1;
}

.camera-form-grid.admin-tenant-profile-grid .auth-input {
    box-sizing: border-box;
    min-width: 0;
}

.admin-tenant-active-toggle {
    align-self: end;
    min-height: 2.8rem;
}

.automation-modal-actions .secondary-button,
.settings-modal-card .secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.admin-pricing-modal-copy {
    margin: 0.35rem 0 0;
}

.admin-pricing-modal-grid {
    margin-top: 1.1rem;
}

.admin-pricing-modal-grid .admin-budget-inline {
    min-width: 0;
}

.chrome-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    min-width: 0;
}

.assistant-companion-open .chrome-content {
    grid-template-columns: minmax(0, 1fr) clamp(23rem, 30vw, 31rem);
}

.chrome-main {
    min-width: 0;
    padding: 0 2rem 3rem;
}

.confirm-email-page {
    padding-top: 1.5rem;
}

.confirm-email-page > .account-status-message {
    margin: 1rem 0 1.25rem;
}

.auth-stage {
    min-height: calc(100vh - 7rem);
    display: grid;
    place-items: center;
    padding: 2rem 1rem 4rem;
}

.auth-card,
.message-card,
.surface-card,
.hero-panel {
    background: var(--panel);
    border: var(--card-border);
    box-shadow: var(--shadow);
    backdrop-filter: blur(14px);
}

.admin-status-positive {
    background: rgba(39, 140, 82, 0.12);
    color: #217347;
}

.admin-status-warning {
    background: var(--warning-background);
    color: var(--warning-text);
}

.admin-status-negative {
    background: rgba(192, 50, 50, 0.11);
    color: #9f2727;
}

.admin-status-information {
    background: rgba(31, 91, 169, 0.11);
    color: #1f5ba9;
}

.admin-shell .surface-card {
    box-shadow: var(--surface-shadow);
}

.admin-shell .surface-card .surface-card {
    box-shadow: none;
}

.auth-card:has(.automation-modal-backdrop, .settings-modal-backdrop),
.message-card:has(.automation-modal-backdrop, .settings-modal-backdrop),
.surface-card:has(.automation-modal-backdrop, .settings-modal-backdrop),
.hero-panel:has(.automation-modal-backdrop, .settings-modal-backdrop) {
    backdrop-filter: none;
}

.auth-card,
.message-card {
    width: min(34rem, 100%);
    border-radius: 0.4rem;
    padding: 1.45rem 1.45rem 1.25rem;
}

.auth-card-wide,
.message-card {
    width: min(42rem, 100%);
}

.auth-card-title {
    margin: 0 0 1.1rem;
    font-size: 1.1rem;
    font-weight: 500;
}

.auth-card > .account-status-message {
    margin-bottom: 1.25rem;
    position: static;
    box-shadow: none;
}

.auth-divider {
    width: 100%;
    margin: 1.35rem 0;
    border: 0;
    border-top: 1px solid var(--line);
}

.admin-session-identity {
    display: grid;
    min-width: 0;
    justify-items: start;
    line-height: 1.1;
}

.admin-session-identity strong {
    max-width: 11rem;
    overflow: hidden;
    font-size: 0.86rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-session-identity span {
    color: var(--muted);
    font-size: 0.72rem;
}

.auth-copy,
.field-hint,
.empty-state,
.hero-copy,
.list-item p,
.message-card p {
    color: var(--muted);
}

.auth-form,
.dashboard-form {
    display: grid;
    gap: 1.2rem;
}

.form-row {
    display: grid;
    gap: 0.5rem;
}

.auth-grid-row {
    grid-template-columns: 7.5rem minmax(0, 1fr);
    align-items: center;
    column-gap: 1.2rem;
}

.form-row label {
    font-size: 1rem;
    font-weight: 500;
}

.auth-input {
    width: 100%;
    border: 1px solid var(--line-strong);
    background: rgba(255, 255, 255, 0.65);
    padding: 0.65rem 0.8rem;
    min-height: 2.95rem;
    outline: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

select.auth-input {
    appearance: none;
    padding-right: 2.6rem;
    background:
        linear-gradient(45deg, transparent 50%, rgba(20, 20, 20, 0.62) 50%),
        linear-gradient(135deg, rgba(20, 20, 20, 0.62) 50%, transparent 50%),
        rgba(255, 255, 255, 0.65);
    background-position:
        calc(100% - 1.25rem) 50%,
        calc(100% - 0.9rem) 50%,
        0 0;
    background-size:
        0.38rem 0.38rem,
        0.38rem 0.38rem,
        100% 100%;
    background-repeat: no-repeat;
}

.auth-input:focus {
    border-color: rgba(31, 91, 169, 0.55);
    box-shadow: 0 0 0 0.24rem rgba(31, 91, 169, 0.12);
    background: rgba(255, 255, 255, 0.88);
}

select.auth-input:focus {
    background:
        linear-gradient(45deg, transparent 50%, rgba(20, 20, 20, 0.72) 50%),
        linear-gradient(135deg, rgba(20, 20, 20, 0.72) 50%, transparent 50%),
        rgba(255, 255, 255, 0.88);
    background-position:
        calc(100% - 1.25rem) 50%,
        calc(100% - 0.9rem) 50%,
        0 0;
    background-size:
        0.38rem 0.38rem,
        0.38rem 0.38rem,
        100% 100%;
    background-repeat: no-repeat;
}

input::placeholder,
textarea::placeholder,
.form-control::placeholder,
.auth-input::placeholder,
.automation-textarea::placeholder {
    color: #cdcdcd;
    opacity: 1;
}

.auth-actions,
.form-submit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.4rem;
}

.auth-inline-links {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.auth-inline-help {
    margin: 0.75rem 0 1rem;
}

.auth-button {
    border: 1px solid rgba(20, 20, 20, 0.28);
    background: rgba(255, 255, 255, 0.82);
    color: var(--text);
    min-width: 8.3rem;
    min-height: 3rem;
    padding: 0.6rem 1.25rem;
    border-radius: 0.55rem;
    font-weight: 500;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}

.auth-button:hover {
    background: rgba(255, 255, 255, 0.95);
}

.admin-shell .auth-button,
.admin-shell .secondary-button,
.admin-auth-shell .auth-button,
.admin-auth-shell .secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    text-align: center;
    cursor: pointer;
}

.admin-shell .auth-button,
.admin-auth-shell .auth-button {
    border-color: var(--accent);
    background: var(--accent);
    color: #fff;
    font-weight: 650;
    box-shadow: 0 8px 18px rgba(31, 91, 169, 0.16);
}

.admin-shell .auth-button:hover,
.admin-auth-shell .auth-button:hover {
    border-color: #173f74;
    background: #173f74;
    color: #fff;
}

.admin-shell :is(a, button, summary, input, select, textarea):focus-visible,
.admin-auth-shell :is(a, button, summary, input, select, textarea):focus-visible {
    outline: 3px solid rgba(31, 91, 169, 0.3);
    outline-offset: 3px;
}

.admin-shell :is(.admin-danger-action, .manage-danger-button) {
    border-color: rgba(159, 39, 39, 0.42);
    background: rgba(192, 50, 50, 0.06);
    color: #922626;
}

.admin-shell :is(.admin-danger-action, .manage-danger-button):hover {
    border-color: #922626;
    background: rgba(192, 50, 50, 0.12);
    color: #7f1e1e;
}

.admin-compatibility-heading {
    padding: 0.95rem 1rem;
    border-left: 0.28rem solid var(--accent);
    border-radius: 0.7rem;
    background: rgba(31, 91, 169, 0.045);
}

.admin-compatibility-heading .settings-copy {
    margin-bottom: 0;
}

.auth-validation {
    margin: 0;
    padding-left: 1rem;
    color: #c03232;
}

.dashboard-home {
    max-width: 74rem;
    margin: 0 auto;
    padding: 1.2rem 0 3rem;
}

.runtime-chrome-cluster {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-right: 0;
}

.header-select-wrap {
    display: inline-flex;
    align-items: center;
}

.header-select {
    min-width: 10rem;
    border: 1px solid var(--line-strong);
    background: rgba(255, 255, 255, 0.78);
    color: rgba(20, 20, 20, 0.62);
    min-height: 2.3rem;
    padding: 0.35rem 2.2rem 0.35rem 0.85rem;
    border-radius: 0.2rem;
}

.header-select-camera-wrap .header-select {
    min-width: 12rem;
}

.runtime-refresh-button {
    width: 1.75rem;
    height: 1.75rem;
}

.runtime-budget-indicator {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
    margin-inline: 0.85rem;
    padding: 0.1rem 0;
    color: rgba(20, 20, 20, 0.68);
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: 0.01rem;
}

.runtime-credit-link {
    text-decoration: none;
}

.runtime-credit-link:hover {
    color: var(--text);
}

.runtime-credit-icon {
    width: 18px;
    height: 18px;
}

.customer-section-page {
    max-width: 72rem;
    margin: 0 auto;
    padding-top: 2rem;
}

.runtime-workspace {
    padding-bottom: 3rem;
}

.site-setup-workspace {
    display: grid;
    grid-template-columns: minmax(23rem, 0.85fr) minmax(0, 1.15fr);
    gap: 1.25rem;
    align-items: start;
}

.site-setup-workspace > .assistant-workspace-heading,
.site-setup-workspace > .setup-section-nav,
.site-setup-workspace > .settings-error-message,
.site-setup-workspace > .runtime-empty-card {
    grid-column: 1 / -1;
    margin-bottom: 0;
}

.site-setup-workspace > .runtime-preview-panel.is-half {
    grid-column: 1;
    min-width: 0;
    position: sticky;
    top: calc(var(--chrome-header-offset) + 0.75rem);
}

.site-setup-workspace > .runtime-preview-panel.is-half + .runtime-automation-card {
    grid-column: 2;
    min-width: 0;
}

.site-setup-workspace > .runtime-preview-panel:not(.is-half) {
    grid-column: 1 / -1;
}

.site-setup-workspace > .runtime-preview-panel:not(.is-half) + .runtime-automation-card,
.site-setup-workspace > .runtime-automation-card:first-of-type {
    grid-column: 1 / -1;
}

.site-setup-workspace > .runtime-preview-panel.is-half .runtime-preview-frame-shell,
.site-setup-workspace > .runtime-preview-panel.is-half .runtime-preview-controls {
    width: 100%;
    min-width: 0;
}

.site-setup-workspace > .runtime-preview-panel.is-half .runtime-preview-controls {
    flex-wrap: wrap;
}

.site-setup-workspace > .runtime-preview-panel.is-half .header-select-wrap {
    flex: 1 1 9rem;
    min-width: 0;
}

.site-setup-workspace > .runtime-preview-panel.is-half .header-select {
    width: 100%;
    min-width: 0;
}

.site-setup-workspace > .runtime-preview-panel.is-half + .runtime-automation-card .automation-tabs-bar,
.site-setup-workspace > .runtime-preview-panel.is-half + .runtime-automation-card .automation-tabs {
    min-width: 0;
    flex-wrap: wrap;
}

.credits-page {
    max-width: 72rem;
    margin: 0 auto;
    padding: 0.25rem 0 3rem;
}

.credits-card {
    padding: 1.25rem;
}

.credits-overview {
    display: grid;
    gap: 1.2rem;
}

.credits-header,
.credits-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.credits-header h1,
.credits-section-header h2 {
    margin: 0;
}

.credits-top-up-button {
    width: auto;
    min-width: 7rem;
}

.credits-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.credits-metric {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: 0.45rem;
    background: rgba(255, 255, 255, 0.62);
}

.credits-metric span,
.credits-spend-row span,
.credits-top-up-row small,
.credits-invoice-label {
    color: rgba(20, 20, 20, 0.58);
    font-size: 0.85rem;
}

.credits-metric strong {
    color: var(--text);
    font-size: 1.45rem;
    font-weight: 650;
    line-height: 1.1;
}

.credits-average-spend-value {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.credits-maintenance-note {
    color: rgba(20, 20, 20, 0.56);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.2;
}

.credits-metric-balance strong {
    font-size: 1.8rem;
}

.credits-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    margin-top: 1rem;
}

.credits-spend-list,
.credits-top-up-list {
    display: grid;
    gap: 0.35rem;
    margin-top: 1rem;
}

.credits-empty-state {
    margin-top: 1rem;
}

.credits-spend-row,
.credits-top-up-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3rem;
    padding: 0.72rem 0;
    border-bottom: 1px solid var(--line);
}

.credits-spend-row:last-child,
.credits-top-up-row:last-child {
    border-bottom: 0;
}

.credits-top-up-row {
    color: var(--text);
    text-decoration: none;
}

.credits-top-up-row:hover .credits-invoice-label {
    color: var(--text);
}

.credits-top-up-row span:first-child {
    display: grid;
    gap: 0.15rem;
}

.credits-modal-card {
    display: grid;
    gap: 1rem;
}

.credits-modal-actions,
.credits-mock-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.runtime-empty-card {
    margin-top: 1rem;
}

.runtime-preview-panel {
    display: grid;
    justify-items: center;
    gap: 0.75rem;
}

.runtime-preview-controls {
    width: min(100%, 70rem);
    justify-content: flex-start;
    justify-self: center;
    transition: width 0.22s ease;
}

.runtime-preview-frame-shell {
    width: min(100%, 70rem);
    display: grid;
    grid-template-rows: 1fr;
    opacity: 1;
    transform: translateY(0) scale(1);
    transform-origin: top center;
    transition:
        width 0.22s ease,
        grid-template-rows 0.24s ease,
        opacity 0.18s ease,
        transform 0.24s ease;
}

.runtime-preview-frame {
    min-height: 0;
    border: 1px solid rgba(20, 20, 20, 0.22);
    background: #111;
    overflow: hidden;
    transition: border-color 0.18s ease;
}

.runtime-preview-panel.is-half .runtime-preview-frame-shell {
    width: min(50%, 35rem);
}

.runtime-preview-panel.is-half .runtime-preview-controls {
    width: min(50%, 35rem);
}

.runtime-preview-panel.is-hidden {
    gap: 0;
}

.runtime-preview-panel.is-hidden .runtime-preview-controls {
    width: min(100%, 70rem);
    margin-bottom: 0.5rem;
}

.runtime-preview-panel.is-hidden .runtime-preview-frame-shell {
    grid-template-rows: 0fr;
    opacity: 0;
    transform: translateY(-0.35rem) scale(0.985);
    pointer-events: none;
}

.runtime-preview-panel.is-hidden .runtime-preview-frame {
    border-color: transparent;
}

.assistant-workspace-preview {
    width: min(100%, 70rem);
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0.75rem 1rem;
    border-right: 1px solid rgba(20, 20, 20, 0.16);
    border-left: 1px solid rgba(20, 20, 20, 0.16);
    background: rgba(255, 255, 255, 0.9);
}

.assistant-workspace-preview.is-hidden {
    padding-block: 0;
}

.runtime-preview-image {
    display: block;
    width: 100%;
    height: auto;
}

.runtime-preview-stage {
    position: relative;
    width: 100%;
    height: 100%;
}

.runtime-preview-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    touch-action: none;
    pointer-events: none;
}

.runtime-preview-stage-drawing .runtime-preview-overlay {
    cursor: crosshair;
    pointer-events: auto;
}

.runtime-preview-overlay-line,
.runtime-preview-overlay-rect,
.runtime-preview-overlay-quad,
.runtime-preview-overlay-polygon,
.runtime-preview-overlay-polyline {
    fill: rgba(57, 119, 255, 0.14);
    stroke: #79a9ff;
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
    pointer-events: none;
}

.runtime-preview-overlay-polyline {
    fill: none;
    stroke-dasharray: 6 4;
}

.runtime-preview-overlay-guide-line {
    fill: none;
    stroke: rgba(121, 169, 255, 0.72);
    stroke-width: 2;
    stroke-dasharray: 8 5;
    vector-effect: non-scaling-stroke;
    pointer-events: none;
}

.runtime-preview-overlay-hit {
    fill: none;
    stroke: transparent;
    stroke-width: 18;
    pointer-events: stroke;
}

.runtime-preview-overlay-body {
    fill: rgba(57, 119, 255, 0.001);
    stroke: transparent;
    stroke-width: 16;
    vector-effect: non-scaling-stroke;
}

.runtime-preview-overlay-handle {
    fill: #f8fbff;
    stroke: #2e67da;
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
}

.runtime-preview-placeholder {
    position: relative;
    min-height: 24rem;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    color: rgba(255, 255, 255, 0.82);
    text-align: center;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 35%),
        linear-gradient(115deg, transparent 0 44%, rgba(255, 255, 255, 0.06) 44.2% 66%, transparent 66.2%),
        linear-gradient(90deg, #2f2f2f 0%, #303030 52%, #292929 100%);
}

.runtime-preview-placeholder::before,
.runtime-preview-placeholder::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.runtime-preview-placeholder::before {
    background: linear-gradient(70deg, rgba(18, 18, 18, 0.72) 0 45%, transparent 45.4%);
}

.runtime-preview-placeholder::after {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.08)),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 5px);
}

.runtime-preview-placeholder p {
    position: relative;
    z-index: 1;
    margin: 0;
}

.runtime-preview-placeholder-failed {
    color: rgba(255, 255, 255, 0.9);
}

.runtime-preview-placeholder-failed .inline-link-button {
    color: #bcd7ff;
    margin-left: 0.35rem;
}

.runtime-preview-summary {
    width: min(100%, 70rem);
    display: grid;
    gap: 0.35rem;
    color: var(--muted);
    font-size: 0.95rem;
}

.runtime-preview-summary p {
    margin: 0;
}

.runtime-preview-summary strong {
    color: var(--text);
}

.runtime-preview-summary-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 0.2rem;
}

.runtime-preview-summary-button {
    width: fit-content;
    min-width: 0;
}

.runtime-preview-toolbar {
    width: min(100%, 70rem);
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.dashboard-chat-panel {
    --dashboard-chat-height: clamp(22rem, 48svh, 34rem);
    width: min(100%, 70rem);
    height: var(--dashboard-chat-height);
    margin: 0.25rem auto 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    border: 1px solid rgba(20, 20, 20, 0.16);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    overflow: hidden;
    transition: height 0.24s ease;
}

.dashboard-chat-panel.dashboard-chat-panel-no-header {
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.dashboard-chat-panel.preview-full {
    --dashboard-chat-height: clamp(16rem, 32svh, 24rem);
}

.dashboard-chat-panel.preview-half {
    --dashboard-chat-height: clamp(22rem, 48svh, 34rem);
}

.dashboard-chat-panel.preview-hidden {
    --dashboard-chat-height: clamp(28rem, calc(100svh - 10.5rem), 54rem);
}

.assistant-workspace-chat.dashboard-chat-panel {
    margin-top: 0;
    border-radius: 0 0 10px 10px;
}

.assistant-workspace-chat.dashboard-chat-panel.preview-hidden {
    --dashboard-chat-height: clamp(34rem, calc(100dvh - var(--chrome-header-offset) - 6.5rem), 64rem);
}

.dashboard-chat-transcript {
    position: relative;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.dashboard-assistant-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1rem 0.85rem;
    border-bottom: 1px solid rgba(20, 20, 20, 0.1);
    background: rgba(255, 255, 255, 0.92);
}

.dashboard-assistant-header h2 {
    margin-top: 0.2rem;
    font-size: 1.25rem;
}

.dashboard-assistant-header p {
    margin: 0.35rem 0 0;
    color: rgba(20, 20, 20, 0.54);
    font-size: 0.8rem;
    line-height: 1.4;
}

.dashboard-assistant-close {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid rgba(20, 20, 20, 0.1);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.78);
}

.dashboard-assistant-close img {
    width: 0.8rem;
    height: 0.8rem;
}

.dashboard-assistant-context {
    min-height: 2.25rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1rem;
    border-bottom: 1px solid rgba(20, 20, 20, 0.08);
    color: rgba(20, 20, 20, 0.58);
    background: rgba(246, 248, 252, 0.92);
    font-size: 0.75rem;
    font-weight: 600;
}

.dashboard-assistant-context-dot {
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: #2f6fbf;
    box-shadow: 0 0 0 0.2rem rgba(47, 111, 191, 0.1);
}

.dashboard-chat-messages {
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    padding: 1rem;
    overflow-y: auto;
    background:
        linear-gradient(180deg, rgba(20, 20, 20, 0.035), rgba(20, 20, 20, 0)),
        rgba(255, 255, 255, 0.72);
}

.dashboard-assistant-welcome {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.85rem;
    margin: auto auto 0;
    padding: 1rem;
    max-width: 36rem;
}

.dashboard-assistant-welcome-mark {
    width: 2.65rem;
    height: 2.65rem;
    display: grid;
    place-items: center;
    border-radius: 0.8rem;
    color: #fff;
    background: linear-gradient(145deg, #1d65c1, #163f74);
    box-shadow: 0 0.55rem 1.3rem rgba(31, 91, 169, 0.2);
    font-weight: 700;
}

.dashboard-assistant-welcome h3 {
    font-size: 1rem;
}

.dashboard-assistant-welcome p {
    margin: 0.3rem 0 0;
    color: rgba(20, 20, 20, 0.52);
    font-size: 0.8rem;
    line-height: 1.45;
}

.dashboard-assistant-suggestions {
    width: min(100%, 36rem);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0 auto auto;
    padding: 0 1rem 1rem;
}

.dashboard-assistant-suggestions button {
    min-height: 3.5rem;
    padding: 0.7rem;
    border: 1px solid rgba(20, 20, 20, 0.11);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.86);
    color: rgba(20, 20, 20, 0.72);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
}

.dashboard-assistant-suggestions button:hover {
    border-color: rgba(31, 91, 169, 0.3);
    color: #174f99;
    background: #f4f8ff;
}

.dashboard-chat-notification-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.15rem;
}

.dashboard-chat-notification-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.85rem;
    padding: 0.32rem 0.72rem;
    border: 1px solid #e7b8ba;
    border-radius: 999px;
    background: #f2e3e4;
    color: #870917;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.2;
}

.dashboard-chat-notification-pill a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.14rem;
}

.dashboard-chat-empty {
    margin: auto;
    color: var(--muted);
    font-size: 0.95rem;
    text-align: center;
}

.dashboard-chat-message {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    max-width: min(84%, 44rem);
}

.dashboard-chat-message-user {
    align-self: flex-end;
    align-items: flex-end;
}

.dashboard-chat-message-assistant {
    align-self: flex-start;
    align-items: flex-start;
}

.dashboard-chat-message-time {
    padding-inline: 0.2rem;
    color: rgba(20, 20, 20, 0.48);
    font-size: 0.68rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.dashboard-chat-bubble {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    border: 1px solid rgba(20, 20, 20, 0.1);
    border-radius: 8px;
    padding: 0.65rem 0.8rem;
    color: var(--text);
    line-height: 1.45;
    font-size: 0.95rem;
    background: #fff;
}

.dashboard-chat-message-user .dashboard-chat-bubble {
    border-color: rgba(21, 91, 211, 0.22);
    background: #155bd3;
    color: #fff;
}

.dashboard-chat-bubble-pending {
    color: var(--muted);
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.dashboard-chat-bubble-failed {
    border-color: rgba(173, 63, 54, 0.22);
    background: rgba(255, 245, 243, 0.92);
}

.dashboard-assistant-progress-dot {
    width: 0.48rem;
    height: 0.48rem;
    border-radius: 50%;
    background: #2f6fbf;
    box-shadow: 0 0 0 0 rgba(47, 111, 191, 0.3);
    animation: dashboard-assistant-pulse 1.4s ease-out infinite;
}

@keyframes dashboard-assistant-pulse {
    0% { box-shadow: 0 0 0 0 rgba(47, 111, 191, 0.32); }
    70% { box-shadow: 0 0 0 0.45rem rgba(47, 111, 191, 0); }
    100% { box-shadow: 0 0 0 0 rgba(47, 111, 191, 0); }
}

.dashboard-chat-image {
    display: block;
    width: min(100%, 34rem);
    height: auto;
    border: 1px solid rgba(20, 20, 20, 0.12);
    border-radius: 8px;
    background: #fff;
}

.dashboard-chat-evidence {
    margin: 0;
}

.dashboard-chat-evidence figcaption {
    margin-top: 0.3rem;
    color: rgba(20, 20, 20, 0.48);
    font-size: 0.7rem;
}

.dashboard-assistant-confirmation strong {
    font-size: 0.78rem;
    letter-spacing: 0.01em;
}

.dashboard-assistant-confirmation p {
    margin: 0.2rem 0 0;
    color: var(--muted);
    font-size: 0.77rem;
    line-height: 1.45;
}

.dashboard-assistant-confirmation {
    width: min(100%, 44rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid rgba(189, 115, 28, 0.28);
    border-radius: 10px;
    padding: 0.85rem;
    background: rgba(255, 250, 240, 0.96);
    color: var(--text);
}

.dashboard-assistant-confirmation small {
    color: #9a5d15;
    font-size: 0.68rem;
}

.dashboard-assistant-confirmation-actions {
    display: flex;
    gap: 0.45rem;
    flex: 0 0 auto;
}

.dashboard-assistant-confirmation-actions button {
    width: auto;
    min-height: 2.2rem;
    padding: 0.4rem 0.7rem;
    font-size: 0.75rem;
}

.dashboard-assistant-confirmation-status {
    color: #2d7950;
    font-size: 0.75rem;
    font-weight: 700;
}

.dashboard-assistant-feedback {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding-inline: 0.2rem;
    color: rgba(20, 20, 20, 0.5);
    font-size: 0.68rem;
}

.dashboard-assistant-feedback button {
    border: 0;
    padding: 0.15rem 0.25rem;
    background: transparent;
    color: #155bd3;
    font-size: 0.68rem;
}

.dashboard-assistant-feedback-options {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

.dashboard-assistant-feedback button:hover,
.dashboard-assistant-feedback button.is-selected {
    border-radius: 0.35rem;
    background: rgba(21, 91, 211, 0.1);
}

.dashboard-assistant-feedback button.is-selected {
    color: #103f7e;
    font-weight: 700;
}

.dashboard-assistant-feedback button:disabled {
    cursor: wait;
    opacity: 0.65;
}

.dashboard-assistant-feedback-status {
    color: #2d7950;
    font-weight: 700;
}

.dashboard-assistant-feedback-status.is-saving {
    color: rgba(20, 20, 20, 0.52);
}

.dashboard-assistant-feedback-status.is-error {
    color: #9f2727;
}

.dashboard-assistant-feedback-note-editor {
    flex: 1 0 100%;
    display: grid;
    gap: 0.35rem;
    width: min(100%, 30rem);
    margin-top: 0.25rem;
    padding: 0.65rem;
    border: 1px solid rgba(20, 20, 20, 0.1);
    border-radius: 0.55rem;
    background: rgba(246, 248, 252, 0.9);
}

.dashboard-assistant-feedback-note-editor label {
    color: rgba(20, 20, 20, 0.7);
    font-weight: 700;
}

.dashboard-assistant-feedback-note-editor label span {
    color: rgba(20, 20, 20, 0.45);
    font-weight: 500;
}

.dashboard-assistant-feedback-note {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    border: 1px solid rgba(20, 20, 20, 0.16);
    border-radius: 0.45rem;
    padding: 0.5rem;
    color: var(--text);
    background: #fff;
    font-size: 0.78rem;
}

.dashboard-assistant-feedback-note-actions {
    display: flex;
    justify-content: flex-end;
}

.dashboard-assistant-feedback-note-actions button {
    min-height: 1.9rem;
    padding: 0.3rem 0.65rem;
    border: 1px solid rgba(21, 91, 211, 0.22);
    border-radius: 0.4rem;
    background: #fff;
}

@media (max-width: 640px) {
    .dashboard-assistant-confirmation {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-assistant-confirmation-actions button {
        flex: 1;
    }
}

.dashboard-chat-composer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.75rem;
    gap: 0.65rem;
    padding: 0.75rem;
    border-top: 1px solid rgba(20, 20, 20, 0.12);
    background: rgba(255, 255, 255, 0.96);
}

.dashboard-assistant-composer-note {
    grid-column: 1 / -1;
    margin: -0.25rem 0 0;
    padding-inline: 0.75rem;
    color: rgba(20, 20, 20, 0.4);
    font-size: 0.67rem;
}

.dashboard-chat-input {
    width: 100%;
    min-height: 2.75rem;
    max-height: 8rem;
    resize: none;
    border: 0;
    border-radius: 8px;
    padding: 0.65rem 0.75rem;
    color: var(--text);
    background: transparent;
    line-height: 1.35;
}

.dashboard-chat-input:focus {
    outline: none;
}

.dashboard-chat-send {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #155bd3;
}

.dashboard-chat-send:disabled {
    cursor: not-allowed;
    opacity: 0.38;
}

.dashboard-chat-send img {
    width: 1.875rem;
    height: 1.875rem;
    display: block;
    object-fit: contain;
}

.preview-collapse-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    background: transparent;
    color: rgba(20, 20, 20, 0.46);
}

.preview-collapse-toggle img {
    width: 1.8rem;
    height: 1.8rem;
    display: block;
    object-fit: contain;
    transition: transform 0.2s ease;
}

.preview-collapse-toggle.points-down img {
    transform: rotate(180deg);
}

.runtime-automation-card {
    margin-top: 0.4rem;
    padding: 0;
}

.automation-tabs-bar {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
}

.automation-tabs {
    display: flex;
    gap: 0.55rem;
    padding: 0;
}

.automation-tab {
    border: 1px solid var(--line);
    border-bottom: 0;
    background: rgba(20, 20, 20, 0.08);
    color: rgba(20, 20, 20, 0.82);
    min-width: 7.4rem;
    min-height: 3rem;
    padding: 0.6rem 1.45rem;
    border-top-left-radius: 0.65rem;
    border-top-right-radius: 0.65rem;
    font-size: 1.05rem;
    font-weight: 400;
}

.automation-tab.is-active {
    background: rgba(255, 255, 255, 0.94);
    color: var(--text);
    font-weight: 700;
}

.automation-auto-setup-button {
    margin-left: auto;
    align-self: flex-start;
    transform: translateY(-0.2rem);
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.55rem;
    padding: 0.48rem 1.1rem;
    border: 1px solid #000bc5;
    border-radius: 999px;
    background: var(--accent-hover-background);
    color: #000;
    font-size: 0.92rem;
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
}

.automation-auto-setup-icon {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    background-color: #3a3dff;
    -webkit-mask: url('/assets/sparkle.svg') center / contain no-repeat;
    mask: url('/assets/sparkle.svg') center / contain no-repeat;
}

.automation-auto-setup-button:disabled {
    opacity: 0.6;
}

.camera-setup-status {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 1rem 0.25rem;
    font-size: 0.95rem;
    color: #333;
}

.camera-setup-status-icon {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

.camera-setup-status + .automation-auto-setup-button {
    margin-top: 0.75rem;
}

.automation-list-shell {
    min-height: 30rem;
    border-top: 1px solid var(--line);
    padding: 1.15rem 1.2rem 1.35rem;
}

.automation-editor-panel {
    display: grid;
    gap: 1.2rem;
}

.automation-list {
    display: grid;
    gap: 0.95rem;
}

.automation-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
}

.automation-row-main {
    display: grid;
    gap: 0.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
}

.automation-row-title {
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--text);
}

.automation-row-title-meta {
    margin-left: 0.35rem;
    font-size: 0.72rem;
    font-weight: 400;
    color: rgba(20, 20, 20, 0.45);
}

.automation-row-title-disabled {
    color: rgba(20, 20, 20, 0.38);
}

.automation-row-summary {
    color: rgba(20, 20, 20, 0.38);
    font-size: 0.92rem;
}

.automation-row-actions {
    display: flex;
    align-items: center;
    gap: 0.2rem;
}

.automation-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(20, 20, 20, 0.22);
}

.automation-icon-button:not(:where(:has(img[src$="/refresh.svg"]))):hover:not(:disabled) {
    color: rgba(20, 20, 20, 0.5);
}

.automation-icon-button:disabled {
    opacity: 0.45;
}

.automation-icon-button img {
    width: 1.2rem;
    height: 1.2rem;
    display: block;
    object-fit: contain;
}

.automation-icon-button img.automation-icon-edit {
    width: 1rem;
    height: 1rem;
}

.automation-icon-button img.automation-icon-copy {
    width: 1rem;
    height: 1rem;
}

.automation-icon-rotated {
    transform: rotate(180deg);
}

.automation-add-trigger {
    margin-bottom: 1rem;
}

.automation-modal-backdrop {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 2rem 1rem;
    background: rgba(239, 239, 239, 0.72);
    z-index: 40;
}

.automation-modal-backdrop-secondary {
    z-index: 50;
    background: rgba(20, 20, 20, 0.18);
}

.automation-modal {
    width: min(100%, 46rem);
    max-height: none;
    overflow: visible;
    padding: 1.55rem;
    border: var(--card-border);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.18);
}

.automation-modal-wide {
    width: min(100%, 64rem);
}

.automation-modal-tall {
    width: min(100%, 68rem);
}

.automation-step-modal {
    width: min(100%, 45rem);
}

.automation-confirm-modal {
    width: min(100%, 28rem);
}

.conditions-documentation-modal {
    max-height: min(88vh, 52rem);
    overflow: auto;
}

.conditions-doc-content {
    display: grid;
    gap: 1.15rem;
    margin-top: 1rem;
    color: var(--text);
}

.conditions-doc-content section {
    display: grid;
    gap: 0.55rem;
}

.conditions-doc-content h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.conditions-doc-content p,
.conditions-doc-content ul,
.conditions-doc-content dl {
    margin: 0;
}

.conditions-doc-content ul {
    padding-left: 1.25rem;
}

.conditions-doc-content li + li {
    margin-top: 0.35rem;
}

.conditions-doc-content dl {
    display: grid;
    gap: 0.35rem;
}

.conditions-doc-content dt {
    font-weight: 600;
}

.conditions-doc-content dd {
    margin: 0 0 0.45rem;
    color: var(--muted);
}

.conditions-doc-content code {
    padding: 0.1rem 0.28rem;
    border-radius: 0.35rem;
    background: rgba(20, 20, 20, 0.06);
    color: var(--text);
    font-size: 0.9em;
}

.automation-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.2rem;
}

.automation-form-row {
    display: grid;
    gap: 0.45rem;
}

.automation-form-row label {
    font-size: 1rem;
    font-weight: 500;
}

.field-label-row {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.field-label-copy {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}

.automation-field-actions {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.automation-draw-button,
.automation-clear-button {
    font-size: 0.92rem;
}

.automation-draw-button.is-active {
    color: var(--brand);
    font-weight: 600;
}

.automation-clear-button:disabled {
    opacity: 0.45;
    cursor: default;
}

.field-documentation-link {
    font-size: 0.86rem;
    font-weight: 500;
}

.field-label-row-spacer {
    justify-content: flex-end;
}

.automation-form-row-wide {
    grid-column: 1 / -1;
}

.automation-form-inline-note {
    align-self: end;
}

.automation-form-inline-note span {
    min-height: 2.95rem;
    display: inline-flex;
    align-items: center;
}

.automation-inline-grid {
    grid-template-columns: minmax(0, 1fr);
}

.automation-inline-grid-body {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.automation-inline-grid-body .auth-input {
    width: min(12rem, 100%);
}

.automation-days-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.2rem;
}

.automation-check-label {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 400;
}

.automation-inline-check {
    margin-bottom: 0.4rem;
}

.automation-point-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.automation-point-grid-large {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.automation-textarea {
    min-height: 8rem;
    resize: vertical;
}

.automation-question-editor-card {
    display: grid;
    gap: 0.9rem;
}

.automation-question-table-shell {
    overflow-y: auto;
    max-height: 18rem;
    border: var(--card-border);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.82);
}

.automation-question-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: auto;
}

.automation-question-table th,
.automation-question-table td {
    padding: 0.85rem 0.95rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgba(20, 20, 20, 0.08);
}

.automation-question-col-key {
    width: 1%;
    white-space: nowrap;
}

.automation-question-col-question {
    width: 100%;
}

.automation-question-col-actions {
    width: 1%;
    white-space: nowrap;
}

.automation-question-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: rgba(247, 247, 247, 0.98);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(20, 20, 20, 0.62);
}

.automation-question-table tbody tr:last-child td {
    border-bottom: none;
}

.automation-question-key,
.automation-question-value {
    display: inline-block;
    color: var(--foreground);
    max-width: 100%;
}

.automation-question-key {
    font-family: "Fira Code", "Courier New", monospace;
    font-size: 0.92rem;
}

.automation-question-value {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.automation-question-actions {
    justify-content: flex-end;
    margin-top: 0;
}

.automation-question-modal {
    width: min(100%, 36rem);
}

.automation-question-modal-grid {
    margin-top: 1.1rem;
    grid-template-columns: 1fr;
}

.automation-question-textarea-short {
    min-height: 5.5rem;
}

.automation-question-suggestion-shell {
    display: grid;
    gap: 0.7rem;
    max-height: 16rem;
    overflow-y: auto;
    padding: 0.85rem;
    border: var(--card-border);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.82);
}

.automation-question-suggestion {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.7rem;
    width: 100%;
    padding: 0.8rem 0.9rem;
    border: 1px solid rgba(20, 20, 20, 0.08);
    border-radius: 0.8rem;
    background: rgba(250, 250, 250, 0.96);
    text-align: left;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.automation-question-suggestion input[type="checkbox"] {
    margin-top: 0.15rem;
}

.automation-question-suggestion-content {
    display: grid;
    gap: 0.3rem;
}

.automation-question-suggestion:hover,
.automation-question-suggestion:focus-visible {
    border-color: rgba(20, 20, 20, 0.2);
    background: rgba(255, 255, 255, 1);
    transform: translateY(-1px);
}

.admin-questions-grid {
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.admin-industry-grid {
    grid-template-columns: minmax(16rem, 30rem) minmax(10rem, 1fr);
    align-items: end;
}

.admin-industry-picker {
    max-width: 30rem;
}

.admin-industry-selection-count {
    justify-items: end;
}

.admin-industry-actions,
.admin-question-management-actions {
    align-items: center;
    justify-content: flex-start;
}

.admin-industry-actions .auth-button,
.admin-industry-actions .secondary-button,
.admin-question-management-actions .secondary-button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-width: 11rem;
}

.admin-source-question-button {
    min-width: 15rem;
}

.admin-catalog-import-dialog {
    margin: auto;
}

.admin-catalog-import-dialog::backdrop {
    background: rgba(16, 18, 24, 0.42);
    backdrop-filter: blur(4px);
}

.admin-catalog-import-dialog-form {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.admin-questions-stack {
    display: grid;
    gap: 1.15rem;
}

.admin-questions-stack > .empty-inline-state {
    margin-bottom: 0.15rem;
}

.admin-question-add-grid {
    grid-template-columns: minmax(16rem, 0.7fr) minmax(24rem, 1.3fr);
    align-items: end;
    gap: 1.1rem;
}

.admin-question-add-grid .form-row {
    min-width: 0;
}

.admin-question-add-grid .auth-input,
.admin-question-add-grid .automation-textarea {
    width: 100%;
}

.admin-question-add-grid .automation-question-textarea-short {
    min-height: 4.65rem;
}

.admin-question-add-actions {
    margin-top: 0.15rem;
}

.admin-question-add-actions .auth-button {
    min-width: 14rem;
}

.admin-question-master-list {
    max-height: 22rem;
}

.admin-question-filter {
    width: min(18rem, 100%);
    margin-top: 0.85rem;
    justify-items: start;
}

.admin-question-selection-meta {
    margin: 0 0 0.85rem;
}

.admin-questions-modal {
    width: min(100%, 32rem);
}

.admin-questions-modal .automation-question-modal-grid {
    grid-template-columns: 1fr;
}

.admin-questions-modal .auth-input {
    width: 100%;
}

.settings-modal-card.admin-source-questions-modal {
    width: min(100%, 116rem);
    max-height: min(44rem, calc(100vh - 3rem));
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 1rem;
    overflow: hidden;
    padding-right: 2.8rem;
}

.admin-source-questions-modal .settings-modal-close {
    top: 0.55rem;
    right: 0.55rem;
}

.admin-source-question-subdialog-backdrop {
    z-index: 1260;
    background: rgba(16, 18, 24, 0.24);
    backdrop-filter: none;
}

.admin-source-question-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
}

.admin-source-question-toolbar p {
    margin-top: 0.35rem;
}

.admin-source-question-add-button {
    min-width: 7rem;
}

.admin-source-question-search {
    max-width: 42rem;
}

.admin-source-question-list {
    display: grid;
    gap: 0.6rem;
    min-height: 0;
    overflow-y: auto;
    padding-right: 0.15rem;
}

.admin-source-question-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: center;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--line);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.7);
}

.admin-source-question-copy {
    min-width: 0;
    display: grid;
    gap: 0.25rem;
}

.admin-source-question-setup-count {
    color: var(--muted);
    font-size: 0.78rem;
}

.admin-source-question-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.admin-source-question-editor-modal .automation-question-textarea-short {
    width: 100%;
    min-height: 6rem;
}

.admin-setup-question-section {
    display: grid;
    gap: 0.65rem;
}

.admin-setup-question-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.admin-setup-question-header label {
    margin: 0;
}

.admin-setup-question-add-button {
    width: 2.25rem;
    height: 2.25rem;
}

.admin-setup-question-empty {
    padding: 0.85rem;
}

.admin-source-question-always-add-row {
    margin-top: 0.2rem;
}

.admin-source-question-setup-match-row {
    gap: 0.45rem;
}

.admin-source-question-match-toggle {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(4rem, 1fr));
    width: fit-content;
    border: 1px solid var(--line);
    border-radius: 0.45rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.72);
}

.admin-source-question-match-option {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 2.2rem;
    margin: 0;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
}

.admin-source-question-match-option + .admin-source-question-match-option {
    border-left: 1px solid var(--line);
}

.admin-source-question-match-option input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.admin-source-question-match-option span {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    padding: 0 1rem;
}

.admin-source-question-match-option input:checked + span {
    color: #ffffff;
    background: var(--accent);
}

.admin-source-question-match-option input:focus-visible + span {
    outline: 2px solid rgba(26, 115, 232, 0.35);
    outline-offset: -2px;
}

.admin-source-question-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--text);
    font-weight: 600;
}

.admin-source-question-checkbox input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    margin: 0;
}

.admin-setup-question-list {
    display: grid;
    gap: 0.55rem;
    max-height: 11rem;
    overflow-y: auto;
}

.admin-setup-question-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--line);
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.72);
}

.admin-setup-question-subdialog-backdrop {
    z-index: 1280;
    background: rgba(16, 18, 24, 0.22);
    backdrop-filter: none;
}

.admin-setup-question-modal {
    min-height: min(42rem, calc(100vh - 3rem));
}

.admin-setup-send-message-modal {
    width: min(100%, 45rem);
    max-height: min(46rem, calc(100vh - 3rem));
    overflow-y: auto;
}

.admin-setup-question-suggestions {
    display: grid;
    gap: 0.5rem;
    min-height: 9rem;
    max-height: 13rem;
    overflow-y: auto;
    padding: 0.15rem;
}

.admin-setup-question-suggestion {
    display: grid;
    gap: 0.2rem;
    width: 100%;
    text-align: left;
    border: 1px solid var(--line);
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.78);
    padding: 0.65rem 0.75rem;
    cursor: pointer;
}

.admin-setup-question-suggestion:hover,
.admin-setup-question-suggestion:focus-visible {
    border-color: rgba(26, 115, 232, 0.4);
    background: rgba(255, 255, 255, 0.96);
}

.automation-modal-actions {
    margin-top: 1.2rem;
    align-items: center;
    flex-wrap: wrap;
}

.automation-modal-actions .automation-preview-toggle {
    margin-right: auto;
}

.automation-modal-actions .auth-button,
.automation-modal-actions .secondary-button {
    min-width: 10rem;
}

.automation-unsaved-actions {
    flex-wrap: nowrap;
    justify-content: flex-end;
}

.automation-unsaved-actions .auth-button,
.automation-unsaved-actions .secondary-button {
    min-width: 7.25rem;
    padding-inline: 1.1rem;
}

.automation-notification-copy {
    white-space: pre-line;
}

.automation-inline-status {
    margin: 0.2rem 0 0;
    font-size: 0.8rem;
    color: rgba(20, 20, 20, 0.62);
}

.automation-preview-overlay {
    position: fixed;
    top: 5.5rem;
    right: 1.5rem;
    z-index: 70;
    width: min(32rem, calc(100vw - 2rem));
    padding: 1rem;
    border: var(--card-border);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 28px 64px rgba(20, 20, 20, 0.22);
    display: grid;
    gap: 0.9rem;
}

.automation-preview-overlay.is-expanded {
    top: 4.8rem;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    width: auto;
}

.automation-preview-overlay-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.automation-preview-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.automation-preview-overlay-header h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
}

.automation-preview-overlay-header p {
    margin: 0.2rem 0 0;
    color: var(--muted);
    font-size: 0.95rem;
}

.automation-preview-close {
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 1.15rem;
    line-height: 1;
    padding: 0.1rem;
}

.automation-preview-icon-button {
    border: 0;
    background: transparent;
    color: var(--muted);
    width: 1.4rem;
    height: 1.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.automation-preview-maximize-icon {
    position: relative;
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    border: 1.5px solid var(--muted);
    border-radius: 0.1rem;
}

.automation-preview-maximize-icon::after {
    content: "";
    position: absolute;
    top: -0.16rem;
    right: -0.16rem;
    width: 0.38rem;
    height: 0.38rem;
    border-top: 1.5px solid var(--muted);
    border-right: 1.5px solid var(--muted);
}

.automation-preview-maximize-icon.is-expanded::after {
    top: 0.12rem;
    right: 0.12rem;
}

.automation-preview-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.22rem;
    border: 1px solid rgba(20, 20, 20, 0.14);
    border-radius: 999px;
    background: rgba(20, 20, 20, 0.04);
}

.automation-preview-toggle-button {
    border: 0;
    background: transparent;
    color: var(--muted);
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    font-size: 0.95rem;
}

.automation-preview-toggle-button.is-active {
    background: rgba(255, 255, 255, 0.95);
    color: var(--text);
    box-shadow: 0 6px 14px rgba(20, 20, 20, 0.08);
}

.automation-preview-frame {
    min-height: 16rem;
    border: 1px solid rgba(20, 20, 20, 0.18);
    border-radius: 0.75rem;
    background: #111;
    overflow: hidden;
}

.automation-preview-image {
    display: block;
    width: 100%;
    height: auto;
}

.automation-preview-summary {
    display: grid;
    gap: 0.35rem;
}

.automation-preview-summary p {
    margin: 0;
    color: var(--muted);
    font-size: 0.95rem;
}

.automation-preview-summary strong {
    color: var(--text);
}

.automation-preview-actions {
    display: flex;
    justify-content: flex-end;
}

.automation-trigger-picker {
    display: grid;
    gap: 0.9rem;
    border: var(--card-border);
    background: rgba(255, 255, 255, 0.6);
    border-radius: 0.85rem;
    padding: 0.9rem;
}

.automation-trigger-picker-warning {
    border-color: var(--warning-accent);
    background: var(--warning-background);
}

.automation-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.automation-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid #173f74;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--text);
}

.automation-trigger-add-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.automation-trigger-add-row .auth-input {
    max-width: 18rem;
}

.automation-nested-card {
    border: var(--card-border);
    background: rgba(255, 255, 255, 0.6);
    border-radius: 0.95rem;
    padding: 1rem;
}

.settings-page {
    max-width: 72rem;
    margin: 0 auto;
    padding: 2rem 0 3rem;
}

.setup-workspace-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}

.setup-workspace-heading h1,
.setup-workspace-heading .manage-workspace-title {
    margin-top: 0.25rem;
    margin-bottom: 0.5rem;
    font-size: clamp(1.85rem, 3vw, 2.75rem);
    font-weight: 500;
    letter-spacing: -0.045em;
    line-height: 1.2;
}

.setup-workspace-heading p {
    max-width: 46rem;
    margin: 0.45rem 0 0;
    color: rgba(20, 20, 20, 0.58);
    line-height: 1.5;
}

.setup-section-nav {
    width: fit-content;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin-bottom: 1.25rem;
    padding: 0.28rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    border: 1px solid rgba(20, 20, 20, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.58);
    scrollbar-width: thin;
}

.setup-section-nav-link {
    min-height: 2.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.95rem;
    border-radius: 999px;
    color: rgba(20, 20, 20, 0.62);
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

.setup-section-nav-link:hover {
    color: var(--text);
    background: rgba(20, 20, 20, 0.045);
}

.setup-section-nav-link.active {
    color: #173f74;
    background: rgba(31, 91, 169, 0.12);
}

.setup-section-nav-link:focus-visible {
    outline: 2px solid rgba(31, 91, 169, 0.6);
    outline-offset: 2px;
}

.manage-shell {
    max-width: 72rem;
    margin: 0 auto;
    padding: 2rem 0 3rem;
}

.manage-content-card {
    padding: 1.6rem;
}

.manage-page-shell {
    display: grid;
    gap: 1.25rem;
}

.manage-page-shell > .section-heading {
    margin-bottom: 0;
}

.manage-page-shell > .section-heading h1 {
    font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.manage-form {
    max-width: 34rem;
}

.manage-submit-row {
    justify-content: flex-start;
}

.account-status-message {
    position: sticky;
    top: calc(var(--chrome-header-offset) + max(0.75rem, env(safe-area-inset-top)));
    z-index: 35;
    padding: 0.9rem 1rem;
    border-radius: 0.85rem;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 0.75rem 2rem rgba(15, 23, 42, 0.08);
}

.account-status-success {
    color: #1f6a33;
    border-color: rgba(31, 106, 51, 0.18);
    background: rgba(219, 241, 225, 0.92);
}

.account-status-error {
    color: #9e1f1f;
    border-color: rgba(158, 31, 31, 0.18);
    background: rgba(251, 227, 227, 0.92);
}

.manage-summary-list {
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(20, 20, 20, 0.09);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.5);
}

.manage-summary-row {
    display: grid;
    grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 0.9rem 1rem;
}

.manage-summary-row dt {
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 600;
}

.manage-summary-row dd {
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 0;
    overflow-wrap: anywhere;
    font-weight: 600;
}

.manage-account-row {
    grid-template-columns: minmax(6.5rem, 9rem) minmax(0, 1fr);
    gap: 0.7rem;
}

.manage-account-row + .manage-account-row {
    border-top: 1px solid rgba(20, 20, 20, 0.09);
}

.manage-account-row dd {
    display: block;
}

.manage-account-value-line,
.manage-account-value {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.manage-account-value-line {
    justify-content: space-between;
    min-height: 2.25rem;
}

.manage-account-value {
    min-width: 0;
    flex-wrap: wrap;
}

.manage-not-provided {
    color: var(--muted);
    font-style: italic;
    font-weight: 400;
}

.manage-edit-button {
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.manage-edit-button:hover img {
    opacity: 0.65;
}

.manage-edit-button:focus-visible {
    outline: 2px solid #141414;
    outline-offset: 2px;
}

.manage-edit-button img {
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
}

.manage-inline-editor {
    display: grid;
    gap: 0.75rem;
    max-width: 38rem;
    margin-top: 0.85rem;
    font-weight: 400;
}

.manage-inline-editor[hidden] {
    display: none;
}

.manage-inline-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.manage-inline-actions > button {
    box-sizing: border-box;
    width: 8.3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1rem;
}

.manage-confirmation-badge {
    width: fit-content;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: rgba(13, 177, 75, 0.12);
    color: #0b7a35;
    font-size: 0.88rem;
    font-weight: 500;
}

.manage-confirmation-badge-unverified {
    background: rgba(158, 31, 31, 0.1);
    color: #9e1f1f;
}

.manage-callout {
    padding: 1rem 1.1rem;
    border-radius: 0.95rem;
    border: var(--card-border);
}

.manage-callout-danger {
    background: rgba(251, 227, 227, 0.9);
    color: #8f1f1f;
}

.manage-related-panel,
.manage-data-panel,
.manage-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(20, 20, 20, 0.09);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.5);
}

.manage-related-panel h3,
.manage-data-panel h3,
.manage-danger-zone h3 {
    margin: 0;
    font-size: 1rem;
}

.manage-related-panel p,
.manage-data-panel p,
.manage-danger-zone p {
    margin: 0.3rem 0 0;
    color: var(--muted);
    line-height: 1.45;
}

.manage-related-panel > a,
.manage-danger-zone > a,
.manage-data-panel > form {
    flex: 0 0 auto;
}

.manage-data-panel {
    align-items: flex-start;
}

.manage-danger-zone {
    margin-top: 0.5rem;
    border-color: rgba(143, 31, 31, 0.22);
    background: rgba(255, 240, 240, 0.58);
}

.manage-danger-zone .eyebrow {
    margin: 0 0 0.35rem;
    color: #8f1f1f;
}

.manage-login-list {
    flex: 1 1 24rem;
    min-width: min(100%, 20rem);
    display: grid;
    gap: 0.65rem;
}

.manage-login-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0.85rem;
    border-radius: 0.8rem;
    background: rgba(20, 20, 20, 0.035);
}

.manage-empty-copy {
    flex: 1 1 20rem;
    padding: 0.75rem 0.85rem;
    border-radius: 0.8rem;
    background: rgba(20, 20, 20, 0.035);
}

.manage-provider-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
}

.manage-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    color: var(--accent);
    font-size: 0.9rem;
    font-weight: 600;
}

.manage-back-link .back-link-icon {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url('/assets/back.svg') center / contain no-repeat;
    mask: url('/assets/back.svg') center / contain no-repeat;
}

.assistant-workspace-heading,
.today-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}

.assistant-workspace-heading h1,
.today-heading h1 {
    margin-top: 0.25rem;
    font-size: clamp(1.85rem, 3vw, 2.75rem);
    letter-spacing: -0.045em;
}

.assistant-workspace-heading p,
.today-heading p {
    max-width: 46rem;
    margin: 0.45rem 0 0;
    color: rgba(20, 20, 20, 0.58);
    line-height: 1.5;
}

.assistant-workspace-heading > a {
    flex: 0 0 auto;
    font-size: 0.9rem;
    font-weight: 700;
}

.dashboard-chat-new-reply {
    position: absolute;
    right: 50%;
    bottom: 0.75rem;
    z-index: 2;
    width: auto;
    min-height: 2.15rem;
    padding: 0.4rem 0.8rem;
    border: 1px solid rgba(21, 91, 211, 0.28);
    border-radius: 999px;
    color: #174f99;
    background: rgba(238, 245, 255, 0.98);
    box-shadow: 0 0.45rem 1.2rem rgba(31, 91, 169, 0.17);
    font-size: 0.75rem;
    font-weight: 700;
    transform: translateX(50%);
}

.assistant-workspace-header {
    width: min(100%, 70rem);
    box-sizing: border-box;
    align-items: center;
    margin: 0 auto;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(20, 20, 20, 0.16);
    border-radius: 10px 10px 0 0;
    background: rgba(255, 255, 255, 0.94);
}

.assistant-workspace-header .assistant-workspace-title {
    flex: 0 0 auto;
}

.assistant-workspace-header h1 {
    margin-top: 0.15rem;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    letter-spacing: -0.035em;
}

.assistant-workspace-context-controls {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.assistant-workspace-context-controls .header-select {
    min-width: 8.5rem;
    max-width: 13rem;
}

.assistant-workspace-context-controls .header-select-camera-wrap .header-select {
    min-width: 9.5rem;
}

.runtime-refresh-button:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.preview-size-control {
    min-height: 2.3rem;
    display: inline-flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(20, 20, 20, 0.16);
    border-radius: 0.45rem;
    background: rgba(246, 248, 252, 0.88);
}

.preview-size-control > span {
    display: inline-flex;
    align-items: center;
    padding: 0 0.65rem;
    color: rgba(20, 20, 20, 0.52);
    font-size: 0.72rem;
    font-weight: 700;
}

.preview-size-button {
    min-width: 3.15rem;
    padding: 0.35rem 0.55rem;
    border: 0;
    border-left: 1px solid rgba(20, 20, 20, 0.1);
    background: transparent;
    color: rgba(20, 20, 20, 0.62);
    font-size: 0.72rem;
    font-weight: 700;
}

.preview-size-button:hover {
    color: var(--text);
    background: rgba(31, 91, 169, 0.07);
}

.preview-size-button.is-active {
    color: #fff;
    background: #174f99;
}

.today-page {
    padding-bottom: 3rem;
}

.today-eyebrow,
.dashboard-assistant-eyebrow {
    color: rgba(20, 20, 20, 0.5);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.today-refresh-button,
.today-ask-button,
.critique-page button:not(.critique-primary):not(.auth-button):not(:where(.menu-row button, .staffing-row button, .camera-add-trigger, .inline-link-button, .btn-link, .report-sort-button, .assessment-photo-button, .assessment-email-button, .assessment-email-person, .worker-selection-link, .telegram-help-trigger, .critique-business-location-dismiss)) {
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid rgba(20, 20, 20, 0.13);
    border-radius: 0.7rem;
    background: rgba(255, 255, 255, 0.7);
    color: rgba(20, 20, 20, 0.72);
    font-size: 0.85rem;
    font-weight: 700;
}

.today-ask-button:hover,
.critique-page button:not(.critique-primary):not(.auth-button):not([data-guide-step]):not([data-guide-play]):not([data-guide-next]):not(:where(.menu-row button, .staffing-row button, .camera-add-trigger, .inline-link-button, .btn-link, .dish-link, .report-sort-button, .menu-bulk-actions button, .photo-button, .assessment-photo-button, .assessment-email-button, .assessment-email-person, .worker-selection-link, .telegram-help-trigger, .critique-business-location-dismiss, :has(img[src$="/refresh.svg"]))):hover:not(:disabled) {
    border-color: rgba(20, 20, 20, 0.25);
    background: rgba(255, 255, 255, 0.94);
    color: var(--text);
}

.critique-page :is(.menu-row, .staffing-row) button.camera-delete-button {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.today-refresh-button:disabled,
.critique-page button:not(.critique-primary):not(.auth-button):disabled {
    opacity: 0.55;
}

.today-refresh-button img {
    width: 1rem;
    height: 1rem;
}

.today-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.today-metric-card {
    min-height: 10.5rem;
    display: grid;
    align-content: space-between;
    gap: 0.55rem;
    padding: 1.15rem;
    border: 1px solid rgba(20, 20, 20, 0.1);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 0.55rem 1.8rem rgba(20, 20, 20, 0.035);
}

.today-metric-card.is-attention {
    border-color: rgba(180, 73, 58, 0.3);
    background: rgba(255, 245, 241, 0.84);
}

.today-metric-card.has-changes {
    border-color: rgba(31, 91, 169, 0.26);
    background: rgba(241, 247, 255, 0.86);
}

.today-metric-card > span {
    color: rgba(20, 20, 20, 0.56);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.today-metric-card strong {
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 500;
    letter-spacing: -0.055em;
    line-height: 1;
}

.today-metric-card strong small {
    color: rgba(20, 20, 20, 0.36);
    font-size: 0.46em;
    letter-spacing: -0.02em;
}

.today-metric-card p {
    margin: 0;
    color: rgba(20, 20, 20, 0.54);
    font-size: 0.82rem;
    line-height: 1.4;
}

.today-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 1rem;
}

.today-priority-card,
.today-sites-card,
.today-activity-card,
.today-onboarding-card,
.today-state-card {
    padding: 1.25rem;
}

.today-activity-card {
    margin-top: 1rem;
}

.today-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.today-section-heading h2 {
    margin-top: 0.25rem;
    font-size: 1.2rem;
}

.today-section-heading p {
    margin: 0.4rem 0 0;
    color: rgba(20, 20, 20, 0.52);
    font-size: 0.84rem;
    line-height: 1.4;
}

.today-section-heading > a,
.today-priority-item button,
.today-activity-row button,
.today-data-gap button {
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 700;
    white-space: nowrap;
}

.today-priority-list,
.today-site-list,
.today-activity-list {
    display: grid;
}

.today-priority-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.9rem 0;
    border-top: 1px solid rgba(20, 20, 20, 0.09);
}

.today-priority-item:first-child {
    border-top: 0;
}

.today-priority-item strong,
.today-positive-state strong,
.today-data-gap strong,
.today-empty-activity strong,
.today-site-name strong,
.today-activity-row strong {
    display: block;
    font-size: 0.9rem;
}

.today-priority-item p,
.today-positive-state p,
.today-data-gap p,
.today-empty-activity p,
.today-activity-row p {
    margin: 0.25rem 0 0;
    color: rgba(20, 20, 20, 0.52);
    font-size: 0.8rem;
    line-height: 1.4;
}

.today-status-indicator {
    width: 0.62rem;
    height: 0.62rem;
    border-radius: 50%;
    background: #919191;
    box-shadow: 0 0 0 0.28rem rgba(145, 145, 145, 0.1);
}

.today-status-indicator.is-online {
    background: #2f9657;
    box-shadow: 0 0 0 0.28rem rgba(47, 150, 87, 0.11);
}

.today-status-indicator.is-offline {
    background: #c45a4a;
    box-shadow: 0 0 0 0.28rem rgba(196, 90, 74, 0.11);
}

.today-positive-state {
    min-height: 7rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid rgba(47, 150, 87, 0.18);
    border-radius: 0.85rem;
    background: rgba(239, 250, 243, 0.72);
}

.today-positive-state > span {
    width: 2.15rem;
    height: 2.15rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #257b47;
    background: rgba(47, 150, 87, 0.13);
    font-weight: 700;
}

.today-positive-state.is-setup {
    border-color: var(--warning-accent);
    background: var(--warning-background);
}

.today-positive-state.is-setup > span {
    color: var(--warning-text);
    background: var(--warning-background);
}

.today-positive-state a {
    display: inline-block;
    margin-top: 0.4rem;
    font-size: 0.82rem;
    font-weight: 700;
}

.today-data-gap {
    margin-top: 0.8rem;
    padding: 0.9rem 1rem;
    border-left: 3px solid var(--warning-accent);
    border-radius: 0.35rem;
    background: var(--warning-background);
}

.today-data-gap button {
    margin-top: 0.55rem;
}

.today-site-row {
    display: grid;
    grid-template-columns: auto minmax(7rem, 1fr) minmax(15rem, 1.4fr);
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem 0;
    border-top: 1px solid rgba(20, 20, 20, 0.09);
}

.today-site-row:first-child {
    border-top: 0;
}

.today-site-name {
    min-width: 0;
}

.today-site-name strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.today-site-name span {
    display: block;
    margin-top: 0.2rem;
    color: rgba(20, 20, 20, 0.5);
    font-size: 0.74rem;
}

.today-site-row dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
    margin: 0;
}

.today-site-row dl div {
    min-width: 0;
}

.today-site-row dt {
    color: rgba(20, 20, 20, 0.46);
    font-size: 0.68rem;
    font-weight: 500;
}

.today-site-row dd {
    margin: 0.15rem 0 0;
    font-size: 0.84rem;
    font-weight: 700;
}

.today-activity-row {
    display: grid;
    grid-template-columns: 3.2rem auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.8rem;
    padding: 0.85rem 0;
    border-top: 1px solid rgba(20, 20, 20, 0.09);
}

.today-activity-row:first-child {
    border-top: 0;
}

.today-activity-row time {
    color: rgba(20, 20, 20, 0.52);
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
}

.today-activity-marker {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: #a0a0a0;
}

.today-activity-marker.has-changes {
    background: #2f6fbf;
    box-shadow: 0 0 0 0.25rem rgba(47, 111, 191, 0.1);
}

.today-empty-activity {
    padding: 1.5rem;
    border: 1px dashed rgba(20, 20, 20, 0.15);
    border-radius: 0.8rem;
    text-align: center;
}

.today-generated-at {
    margin: 0.7rem 0 0;
    color: rgba(20, 20, 20, 0.4);
    font-size: 0.72rem;
    text-align: right;
}

.today-onboarding-card {
    min-height: 16rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 1.3rem;
    margin-top: 1rem;
}

.today-onboarding-mark {
    width: 4rem;
    height: 4rem;
    display: grid;
    place-items: center;
    border-radius: 1.1rem;
    color: #174f99;
    background: #e8f1ff;
    font-size: 1.7rem;
    font-weight: 700;
}

.today-onboarding-card h2,
.today-state-card h2 {
    margin-top: 0.35rem;
    font-size: 1.25rem;
}

.today-onboarding-card p,
.today-state-card p {
    max-width: 46rem;
    margin: 0.6rem 0 0;
    color: rgba(20, 20, 20, 0.57);
    line-height: 1.5;
}

.today-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1rem;
}

.today-link-button,
.today-inline-action {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.today-state-card {
    display: grid;
    justify-items: start;
    gap: 0.7rem;
}

.dashboard-assistant-backdrop {
    display: none;
}

body.assistant-companion-modal-open {
    overflow: hidden;
}

.dashboard-assistant-drawer {
    position: sticky;
    top: var(--chrome-header-offset);
    z-index: 40;
    width: 100%;
    height: calc(100dvh - var(--chrome-header-offset));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-self: start;
    overflow: hidden;
    padding: 0;
    background: #f7f8fa;
    border-left: 1px solid rgba(20, 20, 20, 0.12);
    box-shadow: -0.75rem 0 2rem rgba(20, 20, 20, 0.08);
}

.dashboard-assistant-companion-header {
    min-height: 4.35rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 0.85rem 0.65rem 1rem;
    border-bottom: 1px solid rgba(20, 20, 20, 0.1);
    background: rgba(255, 255, 255, 0.94);
}

.dashboard-assistant-companion-header h2 {
    margin-top: 0.18rem;
    font-size: 1.1rem;
}

.dashboard-assistant-companion-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.dashboard-assistant-open-workspace {
    width: auto;
    min-height: 2rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--accent);
    font-size: 0.72rem;
    font-weight: 700;
}

.dashboard-assistant-open-icon {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url('/assets/open.svg') center / contain no-repeat;
    mask: url('/assets/open.svg') center / contain no-repeat;
}

.dashboard-assistant-drawer-panel.dashboard-chat-panel {
    width: 100%;
    height: auto;
    min-height: 0;
    align-self: stretch;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #f7f8fa;
}

.admin-operator-actions {
    display: grid;
    grid-template-columns: repeat(2, 12rem);
    gap: 0.65rem;
    align-items: end;
    width: max-content;
}

.admin-operator-action {
    display: grid;
    align-content: end;
    gap: 0.35rem;
    min-width: 0;
    margin: 0;
}

.admin-operator-action-confirm {
    display: inline-flex;
    gap: 0.3rem;
    align-items: center;
    min-height: 1.25rem;
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.25;
    color: var(--muted);
    white-space: nowrap;
}

.admin-operator-actions .secondary-button {
    width: 100%;
    white-space: nowrap;
}

.manage-danger-link,
.manage-danger-button {
    color: #8f1f1f;
    border-color: rgba(143, 31, 31, 0.28);
}

.manage-danger-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.manage-danger-button {
    background: rgba(255, 240, 240, 0.92);
}

.settings-error-message {
    position: sticky;
    top: calc(var(--chrome-header-offset) + max(0.75rem, env(safe-area-inset-top)));
    z-index: 35;
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(192, 50, 50, 0.18);
    border-radius: 0.85rem;
    background: rgba(255, 240, 240, 0.96);
    box-shadow: 0 0.75rem 2rem rgba(15, 23, 42, 0.08);
}

.automation-modal .settings-error-message,
.settings-modal-card .settings-error-message {
    position: static;
    box-shadow: none;
}

.back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    margin: 0.2rem 0 1.4rem;
    color: var(--text);
    font-size: 1.05rem;
    font-weight: 500;
}

.back-link-icon {
    width: 1.35rem;
    height: 1.35rem;
    display: block;
    object-fit: contain;
}

.settings-card {
    padding: 1.6rem;
}

.settings-card + .settings-card {
    margin-top: 1.25rem;
}

.camera-settings-card {
    margin-top: 1.25rem;
}

.user-settings-card {
    margin-top: 1.25rem;
}

.settings-title {
    font-size: var(--section-title-size);
    font-weight: var(--section-title-weight);
}

.settings-card {
    scroll-margin-top: 5.5rem;
}

.settings-copy {
    margin: 0.35rem 0 0;
    color: var(--muted);
}

.connected-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.settings-header-actions {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.connected-device-footer-actions {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.settings-device-primary-actions,
.settings-advanced-actions-panel {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.settings-advanced-actions {
    margin-left: auto;
}

.settings-advanced-actions summary {
    width: fit-content;
    margin-left: auto;
    padding: 0.62rem 0.8rem;
    border-radius: 0.7rem;
    color: var(--muted);
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 600;
}

.settings-advanced-actions summary:hover {
    color: var(--text);
    background: rgba(20, 20, 20, 0.045);
}

.settings-advanced-actions[open] {
    flex: 1 0 100%;
    padding-top: 0.75rem;
    border-top: 1px solid var(--line);
}

.settings-advanced-actions-panel {
    justify-content: flex-end;
    margin-top: 0.75rem;
}

.settings-toast {
    position: fixed;
    top: 5.1rem;
    right: 2rem;
    z-index: 1200;
    margin: 0;
    width: fit-content;
    max-width: min(28rem, calc(100vw - 2rem));
    padding: 0.8rem 1rem;
    border-radius: 0.95rem;
    border: 1px solid rgba(28, 55, 84, 0.12);
    box-shadow: var(--shadow);
    font-size: 0.96rem;
    font-weight: 600;
}

.settings-toast-positive {
    background: #eff9f0;
    color: #225a2d;
}

.settings-toast-negative {
    background: #fff1f1;
    color: #7b2424;
}

.settings-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1250;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 1.5rem;
    background: rgba(16, 18, 24, 0.42);
    backdrop-filter: blur(4px);
}

.settings-modal-card {
    position: relative;
    width: min(100%, 34rem);
    max-width: calc(100vw - 3rem);
    padding: 1.4rem 1.4rem 1.2rem;
    border: 1px solid rgba(20, 20, 20, 0.08);
    border-radius: 1rem;
    background: #fffdf8;
    box-shadow: 0 28px 54px rgba(15, 23, 42, 0.2);
}

.settings-modal-card-wide {
    width: min(100%, 54rem);
    max-height: min(44rem, calc(100vh - 3rem));
    overflow-y: auto;
    overscroll-behavior: contain;
}

.settings-download-agent-modal {
    width: min(100%, 52rem);
    max-height: calc(100dvh - 2rem);
    padding: 1.2rem 1.25rem 1.25rem;
}

.settings-download-agent-modal .runtime-installers {
    gap: 0.75rem;
}

.settings-download-agent-modal .runtime-installers-header {
    padding-right: 2.25rem;
}

.settings-download-agent-modal .settings-copy {
    line-height: 1.3;
}

.settings-download-agent-modal .download-agent-instructions {
    gap: 0.45rem;
    line-height: 1.35;
}

.settings-download-agent-modal .runtime-installer-card {
    padding: 0.85rem 1rem;
}

.settings-modal-card h2 {
    margin: 0 0 0.55rem;
    font-size: 1.2rem;
}

.settings-modal-card p {
    margin: 0;
    color: var(--muted);
}

.settings-modal-close {
    position: absolute;
    top: 0.7rem;
    right: 0.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(20, 20, 20, 0.55);
    cursor: pointer;
    font-size: 1.25rem;
    line-height: 1;
    text-decoration: none;
}

.settings-modal-close:hover {
    color: rgba(20, 20, 20, 0.9);
}

.settings-modal-close img {
    display: block;
    width: 1.05rem;
    height: 1.05rem;
}

.camera-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.15rem;
}

.active-token-banner,
.connected-device-row,
.empty-inline-state,
.camera-form-card,
.camera-row {
    border: var(--card-border);
    background: var(--card-fill);
    border-radius: 0.95rem;
}

.active-token-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    margin-bottom: 1rem;
}

.token-label {
    display: block;
    color: var(--muted);
    font-size: 0.82rem;
    margin-bottom: 0.25rem;
}

.token-code {
    font-size: 1.7rem;
    letter-spacing: 0.14rem;
}

.token-meta {
    display: grid;
    gap: 0.4rem;
    justify-items: end;
    color: var(--muted);
    text-align: right;
}

.token-meta code {
    display: inline-block;
    padding: 0.45rem 0.65rem;
    border-radius: 0.55rem;
    background: rgba(20, 20, 20, 0.06);
    color: var(--text);
}

.token-revoke-button {
    justify-self: end;
}

.token-command-list {
    display: grid;
    gap: 0.45rem;
    justify-items: end;
}

.token-command-group {
    display: grid;
    gap: 0.35rem;
    justify-items: end;
}

.token-command-group > span {
    font-size: 0.78rem;
}

.location-install-modal > h2 { padding-right: 2rem; }
.location-install-token {
    display: grid;
    gap: 0.4rem;
    margin-block: 1.75rem 2rem;
    text-align: center;
    overflow-wrap: anywhere;
}
.location-install-modal .token-command-list,
.location-install-modal .token-command-group {
    justify-items: start;
    text-align: left;
    min-width: 0;
    overflow-wrap: anywhere;
}
.location-install-modal .token-command-list { gap: 1.25rem; }
.location-install-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.connected-device-list {
    display: grid;
    gap: 0.9rem;
}

.runtime-installers {
    display: grid;
    gap: 1rem;
    margin-top: 1.25rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--line);
}

.runtime-installers-popup {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.download-agent-instructions {
    display: grid;
    gap: 0.65rem;
    color: var(--text);
    line-height: 1.5;
}

.download-agent-instructions p,
.download-agent-instructions ul {
    margin: 0;
}

.download-agent-instructions ul {
    padding-left: 1.25rem;
    color: var(--muted);
}

.runtime-installer-list {
    display: grid;
    gap: 0.85rem;
}

.runtime-installer-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: var(--card-border);
    background: var(--card-fill);
    border-radius: 0.95rem;
}

.runtime-installer-copy {
    display: grid;
    gap: 0.2rem;
}

.runtime-installer-copy strong {
    font-size: 1rem;
    font-weight: 500;
}

.runtime-installer-copy p {
    margin: 0;
    color: var(--muted);
}

.runtime-installer-type {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 500;
    letter-spacing: 0.04rem;
    text-transform: uppercase;
}

.runtime-installer-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 8rem;
    text-decoration: none;
}

.runtime-installer-unavailable {
    color: var(--muted);
    font-size: 0.94rem;
    font-weight: 500;
}

.camera-add-trigger {
    display: inline-flex;
    align-items: center;
    gap: var(--add-link-gap);
    margin-bottom: 1.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--link-button-color);
    font-size: var(--add-link-font-size);
    font-style: normal;
    font-weight: 700;
}

.settings-card:has(> .settings-record-add) > .settings-record-header {
    margin-bottom: 0;
}

.settings-card > button.settings-record-add {
    display: flex;
    width: fit-content;
    margin-block: var(--record-add-spacing);
}

.camera-add-plus {
    color: var(--add-icon-color);
    font-size: var(--add-icon-font-size);
    line-height: 1;
    font-style: normal;
    transform: translateY(-0.14em);
}

.settings-runtime-picker {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.settings-runtime-picker label {
    font-weight: 500;
}

.settings-runtime-select {
    max-width: 18rem;
}

.camera-form-card {
    padding: 1rem 1.1rem;
    margin-bottom: 1rem;
}

.camera-form-card-inline {
    margin-bottom: 0;
}

.camera-form-grid {
    display: grid;
    grid-template-columns: minmax(14rem, 0.9fr) minmax(22rem, 1.6fr);
    gap: 1rem;
}

.business-settings-fields {
    display: grid;
    gap: 1rem;
}

.business-settings-card {
    display: grid;
    gap: 1rem;
}

.business-settings-card > .camera-header {
    margin-bottom: 0;
}

.setup-subsection-card {
    display: grid;
    gap: 1rem;
    padding: 1.15rem;
    border: var(--card-border);
    border-radius: 0.95rem;
    background: var(--card-fill);
}

.setup-subsection-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.setup-subsection-heading h3 {
    margin: 0;
    font-size: 1.05rem;
}

.setup-subsection-heading p {
    max-width: 44rem;
    margin: 0.3rem 0 0;
    color: var(--muted);
    line-height: 1.45;
}

.business-settings-note {
    max-width: 68rem;
}

.business-save-actions .auth-button:disabled {
    color: var(--muted);
}

.business-trading-rule-added {
    animation: business-trading-rule-highlight 0.9s ease-out;
}

@keyframes business-trading-rule-highlight {
    0%, 15% {
        background-color: #e3f0ff;
    }

    100% {
        background-color: var(--card-fill);
    }
}

@media (prefers-reduced-motion: reduce) {
    .business-trading-rule-added {
        animation: none;
    }
}

.business-settings-grid {
    display: grid;
    grid-template-columns: minmax(18rem, 0.95fr) minmax(24rem, 1.45fr);
    gap: 1.35rem;
    align-items: start;
}

.business-hours-context-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
    align-items: start;
}

.business-hours-context-grid > .form-row {
    min-width: 0;
    align-content: start;
}

.business-hours-context-grid .auth-input {
    box-sizing: border-box;
    min-width: 0;
    height: 2.95rem;
}

.business-settings-column {
    display: grid;
    gap: 1.1rem;
    align-content: start;
}

.business-holiday-check {
    min-height: 2.5rem;
    align-items: center;
}

.business-uniform-field {
    grid-column: 1 / -1;
    align-self: start;
}

.business-uniform-textarea {
    min-height: 6.25rem;
}

.user-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(16rem, 1fr));
    gap: 1rem;
}

.user-form-groups {
    grid-column: 1 / -1;
}

.user-form-chat-permissions {
    grid-column: 1 / -1;
}

.group-form-grid {
    display: grid;
    grid-template-columns: minmax(14rem, 0.8fr) minmax(22rem, 1.5fr);
    gap: 1rem;
    align-items: start;
}

.group-form-name {
    align-self: start;
    align-content: start;
}

.group-form-name .auth-input {
    height: 2.95rem;
}

.group-form-chat-permissions {
    grid-column: auto;
}

.group-list {
    display: grid;
    gap: 0.85rem;
}

.group-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 0.8fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 1.1rem;
    border: var(--card-border);
    border-radius: 0.95rem;
    background: var(--card-fill);
}

.group-name,
.group-permission-summary {
    min-width: 0;
}

.group-name {
    font-size: 1.05rem;
    font-weight: 500;
}

.group-permission-summary {
    color: var(--muted);
}

.group-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    gap: 0.1rem;
}

.group-row-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text);
    cursor: pointer;
}

.group-row-action img {
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    object-fit: contain;
}

.user-group-options,
.chat-permission-inline-options {
    margin-top: 0.25rem;
}

.user-form-permissions {
    grid-column: 1 / -1;
}

.permission-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.permission-checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 400;
    cursor: pointer;
}

.camera-form-actions {
    display: flex;
    gap: 0.85rem;
    justify-content: flex-end;
    margin-top: 1rem;
}

.runtime-target-accounts-header {
    margin-bottom: 0.75rem;
}

.runtime-target-accounts-card {
    display: grid;
    gap: 0.85rem;
}

.runtime-target-search {
    margin: 0;
}

.runtime-target-account-list {
    gap: 0.65rem;
}

.runtime-target-account-row {
    grid-template-columns: minmax(0, 1fr);
    padding: 0.8rem 0.95rem;
}

.runtime-target-account-label {
    width: 100%;
    min-width: 0;
}

.runtime-target-account-label > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.runtime-target-account-meta {
    color: var(--muted);
}

.runtime-target-actions {
    margin-top: 0.15rem;
}

.runtime-target-save-button {
    width: auto;
    min-width: 11.5rem;
}

.runtime-rollout-card {
    gap: 0.85rem;
}

.runtime-rollout-card-active {
    border-color: rgba(20, 20, 20, 0.16);
}

.runtime-rollout-detail-link {
    min-height: 2.4rem;
    white-space: nowrap;
}

.runtime-rollout-compact-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    color: var(--muted);
    font-size: 0.95rem;
}

.runtime-rollout-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
}

.runtime-rollout-pagination-nested {
    margin-top: 0.2rem;
}

.runtime-rollout-pagination-info {
    margin-right: auto;
    color: var(--muted);
    font-size: 0.95rem;
}

.runtime-rollout-page-link {
    width: auto;
    min-width: 6rem;
    min-height: 2.35rem;
    padding: 0.55rem 0.85rem;
    white-space: nowrap;
}

.camera-list {
    display: grid;
    gap: 0.85rem;
}

.user-form-critique-permissions { grid-column: 1 / -1; }

.user-list {
    display: grid;
    gap: 0.85rem;
}

.critique-quality-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 1.1rem 1.5rem;
    margin-top: 1.1rem;
}

.critique-quality-grid > .form-row {
    align-content: start;
}

.critique-quality-input-group {
    display: grid;
    grid-template-rows: auto minmax(1.125rem, auto);
    justify-items: start;
    align-content: start;
    gap: 0.2rem;
}

.critique-quality-input-group .auth-input {
    width: 5.5rem;
    min-width: 0;
}

.critique-quality-default {
    color: #999;
    font-size: 0.75rem;
    font-style: italic;
    white-space: nowrap;
}

.settings-modal-card.person-editor-modal {
    width: min(58rem, calc(100vw - 2rem));
    max-width: calc(100vw - 2rem);
    max-height: calc(100dvh - 2rem);
    box-sizing: border-box;
    overflow: hidden;
    background: var(--surface, #fff);
}

.person-editor-modal[open] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.user-form-location-settings {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 1rem;
}

.settings-modal-card.location-editor-modal {
    width: min(34rem, calc(100vw - 2rem));
}

.person-editor-modal::backdrop {
    background: rgba(15, 23, 42, 0.4);
}

.person-editor-body {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding: .35rem .9rem .35rem .35rem;
}

.person-editor-fields {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.person-editor-modal .person-editor-actions {
    flex-shrink: 0;
    justify-content: flex-end;
    margin-top: 0;
}

.person-editor-actions .auth-button,
.person-editor-actions .secondary-button {
    width: auto;
    min-height: 2.75rem;
    margin: 0;
    padding: .65rem 1.1rem;
}

.person-editor-modal .settings-error-message {
    color: #a12d2d;
    flex-shrink: 0;
}

.user-location-group {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.user-location-group + .user-location-group { margin-top: 0.75rem; }

.user-location-heading {
    margin: 0;
    padding-inline: 1.1rem;
    font-size: 0.95rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.chat-permission-list {
    display: grid;
    gap: 0.85rem;
}

.chat-permission-row {
    display: grid;
    grid-template-columns: minmax(16rem, 1.1fr) minmax(16rem, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 1.1rem;
    border: var(--card-border);
    background: var(--card-fill);
    border-radius: 0.95rem;
}

.chat-permission-copy {
    min-width: 0;
}

.chat-permission-copy strong {
    display: block;
    font-size: 1.05rem;
    font-weight: 500;
}

.chat-permission-copy p {
    margin: 0.28rem 0 0;
    color: var(--muted);
}

.chat-permission-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    min-width: 0;
}

.chat-permission-chip,
.chat-permission-empty {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: 0.28rem 0.6rem;
    border-radius: 999px;
    font-size: 0.88rem;
    line-height: 1.2;
}

.chat-permission-chip {
    border: 1px solid rgba(28, 55, 84, 0.16);
    background: rgba(28, 55, 84, 0.06);
    color: var(--text);
}

.chat-permission-chip-user {
    background: rgba(21, 120, 92, 0.08);
}

.chat-permission-empty {
    color: var(--muted);
    background: rgba(20, 20, 20, 0.04);
}

.chat-permission-add-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--accent);
    cursor: pointer;
}

.chat-permission-add-button:hover {
    color: var(--accent-strong);
}

.chat-permission-done-button {
    min-width: 4.5rem;
}

.automation-recipient-target-list {
    margin-bottom: 0.55rem;
}

.automation-recipient-target-picker {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
}

.automation-recipient-target-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    margin-left: 0.35rem;
    border: 0;
    border-radius: 999px;
    background: rgba(28, 55, 84, 0.12);
    color: var(--muted);
    cursor: pointer;
    font-size: 0.75rem;
    line-height: 1;
}

.automation-recipient-target-remove:hover {
    color: var(--accent-strong);
}

.chat-permission-picker {
    display: grid;
    gap: 1rem;
}

.chat-permission-picker-section {
    display: grid;
    gap: 0.65rem;
}

.chat-permission-picker-section h3 {
    margin: 0;
    color: var(--muted);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04rem;
    text-transform: uppercase;
}

.chat-permission-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 0.55rem 0.85rem;
}

.chat-permission-option {
    min-height: 2rem;
}

.camera-row {
    display: grid;
    grid-template-columns: minmax(14rem, 0.85fr) minmax(0, 1.85fr) minmax(4rem, auto) auto;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 1.1rem;
}

.user-row,
.user-row-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.65fr) minmax(0, 0.8fr) 9rem 2.75rem;
    gap: 1rem;
    align-items: center;
    padding: var(--setup-record-padding);
}

.user-row-header {
    padding-top: 0;
    padding-bottom: 0;
    border-inline: 1px solid transparent;
    color: var(--muted);
    font-size: 0.85rem;
    font-weight: 600;
}

.user-row-no-groups { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 9rem 2.75rem; }

.user-status-heading { text-align: left; }
.user-field-label { display: none; }

.user-row {
    border: var(--card-border);
    background: var(--card-fill);
    border-radius: 0.95rem;
}

.clickable-row {
    cursor: pointer;
    transition: border-color 120ms ease, background-color 120ms ease, transform 120ms ease;
}

.clickable-row:hover {
    background: #fcfdff;
    border-color: rgba(28, 55, 84, 0.18);
}

.user-settings-card .user-row:hover {
    background: var(--card-fill);
}

.user-settings-card .user-row {
    min-height: var(--setup-record-height);
}

.camera-name,
.camera-url,
.camera-aspect-ratio {
    min-width: 0;
}

.user-name,
.user-username,
.user-groups,
.user-location-access {
    min-width: 0;
}

.camera-name {
    font-size: 1.05rem;
    font-weight: 500;
}

.user-name {
    font-size: 1.05rem;
    font-weight: 500;
}

.camera-url {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.camera-aspect-ratio {
    justify-self: end;
    white-space: nowrap;
    padding-right: 0.35rem;
}

.camera-row-actions {
    display: flex;
    justify-content: flex-end;
}

.user-username,
.user-groups,
.user-location-access {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-action {
    display: flex;
    justify-content: flex-start;
}

.invite-popup-anchor {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.inline-link-button,
.btn-link {
    border: 0;
    background: transparent;
    color: var(--link-button-color);
    padding: 0;
    font-style: normal;
    font-weight: 700;
}

.inline-link-button:hover,
.btn-link:hover {
    color: var(--link-button-color);
}

.inline-link-button:has(.camera-add-plus) {
    display: inline-flex;
    align-items: center;
    gap: var(--add-link-gap);
}

.inline-link-button .camera-add-plus {
    font-size: 1.3em;
    transform: none;
}

.telegram-function-add-button {
    color: var(--add-icon-color);
}

.user-status-label {
    color: #007c50;
}

.invite-tooltip-popup {
    position: absolute;
    top: calc(100% + 0.65rem);
    left: 0;
    min-width: 13rem;
    display: grid;
    gap: 0.45rem;
    padding: 0.9rem 0.95rem;
    border: var(--card-border);
    background: var(--card-fill);
    border-radius: 0.95rem;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(16px);
    z-index: 5;
}

.invite-tooltip-popup::before {
    content: "";
    position: absolute;
    top: -0.45rem;
    left: 1.2rem;
    width: 0.9rem;
    height: 0.9rem;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.8);
    transform: rotate(45deg);
}

.invite-tooltip-header {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 500;
}

.invite-tooltip-code {
    font-size: 1.1rem;
    letter-spacing: 0.14rem;
}

.invite-tooltip-meta {
    color: var(--muted);
    font-size: 0.82rem;
}

.invite-copy-button {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    margin-top: 0.15rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--accent);
}

.invite-copy-button:hover {
    color: #173f74;
}

.invite-copy-button img {
    width: 0.95rem;
    height: 0.95rem;
    display: block;
    object-fit: contain;
}

.help-tooltip {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    outline: none;
}

.help-tooltip-icon {
    width: 1rem;
    height: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgb(128, 128, 128);
    border-radius: 999px;
    color: rgb(128, 128, 128);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
}

.help-tooltip-bubble {
    position: absolute;
    top: calc(100% + 0.55rem);
    right: 0;
    width: min(18rem, 80vw);
    display: none;
    padding: 0.8rem 0.9rem;
    border: var(--card-border);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.45;
    z-index: 80;
}

.help-tooltip:hover .help-tooltip-bubble,
.help-tooltip:focus-within .help-tooltip-bubble,
.help-tooltip:focus .help-tooltip-bubble {
    display: block;
}

.camera-delete-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    background: transparent;
    color: var(--text);
    cursor: pointer;
}

.camera-delete-button:hover {
    color: #000;
}

.camera-delete-button:disabled {
    cursor: not-allowed;
    opacity: 0.22;
}

.camera-delete-button:disabled:hover {
    color: var(--text);
}

.camera-delete-button img {
    display: block;
    width: 1.35rem;
    height: 1.35rem;
    object-fit: contain;
}

.connected-device-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1.25fr) minmax(6rem, 0.65fr) minmax(9rem, 0.85fr) minmax(14rem, 1.3fr) auto;
    gap: 1rem;
    align-items: center;
    padding: var(--setup-record-padding);
    min-height: var(--setup-record-height);
}

.connected-device-row .connected-device-actions .secondary-button {
    height: var(--setup-record-action-height);
    min-height: var(--setup-record-action-height);
    padding-block: 0.4rem;
}

.connected-device-row > * {
    min-width: 0;
}

.dashboard-confirm-dialog {
    width: min(30rem, calc(100vw - 2rem));
    max-height: calc(100dvh - 2rem);
    margin: auto;
    padding: 1.5rem;
    overflow: auto;
    border: var(--card-border);
    border-radius: var(--card-radius);
    background: #fff;
    color: var(--text);
    box-shadow: var(--surface-shadow);
}
.dashboard-confirm-dialog::backdrop { background: rgba(0, 0, 0, 0.45); }
.dashboard-confirm-dialog h2 { margin: 0 0 0.75rem; font-size: 1.25rem; }
.dashboard-confirm-dialog p { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.dashboard-confirm-option { display: flex; align-items: center; gap: 0.625rem; margin-top: 1rem; cursor: pointer; }
.dashboard-confirm-option input { width: 1.125rem; height: 1.125rem; margin: 0; accent-color: var(--accent); }
.dashboard-confirm-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.dashboard-confirm-actions button { width: auto; min-width: 6rem; margin: 0; padding: 0.625rem 1rem; }
.dashboard-confirm-actions button:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.connected-device-row.location-only-row {
    grid-template-columns: minmax(12rem, 0.75fr) minmax(min-content, 1.5fr) auto;
}

.location-only-row .connected-device-actions { grid-column: 3; }
.location-enrollment-details {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}
.location-enrollment-token {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 1.5rem;
    min-width: 0;
    overflow-wrap: anywhere;
}
.location-enrollment-token .token-code {
    flex: 0 0 auto;
    white-space: nowrap;
    overflow-wrap: normal;
}
.location-enrollment-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.75rem;
    font-size: 1rem;
}
.location-token-expiry { font-size: inherit; color: var(--muted, #666); }
.location-instructions-link {
    justify-self: start;
    max-width: 100%;
    text-align: left;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}
.location-edit-actions .secondary-button { min-width: 4.5rem; }
.connected-device-actions .secondary-button {
    box-sizing: border-box;
    height: 2.8rem;
    min-height: 2.8rem;
    padding: 0.55rem 1rem;
    line-height: 1.5;
    white-space: nowrap;
}
.connected-device-actions .device-name-edit-action { width: 6rem; }

@media (max-width: 900px) {
    .connected-device-row.location-only-row { grid-template-columns: minmax(0, 1fr); }
    .location-only-row .connected-device-actions { grid-column: 1; justify-self: start; }
}

@media (max-width: 480px) {
    .location-enrollment-token .token-code {
        font-size: clamp(0.95rem, calc(6vw - 0.25rem), 1.2rem);
        letter-spacing: 0.06rem;
    }
}

.device-runtime-summary {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.connected-device-actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-self: end;
}

.device-refresh-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: rgba(20, 20, 20, 0.36);
}

.device-refresh-button:disabled {
    opacity: 0.45;
    cursor: wait;
}

.device-refresh-button img {
    width: 1.45rem;
    height: 1.45rem;
}

.device-identity {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.device-name {
    font-size: 1rem;
    font-weight: 500;
}

.device-name-input {
    max-width: 18rem;
    min-height: 2.5rem;
}

.device-edit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(20, 20, 20, 0.35);
    cursor: pointer;
}

.device-edit-button:hover {
    color: rgba(20, 20, 20, 0.62);
}

.device-edit-button img {
    width: 1rem;
    height: 1rem;
    display: block;
    object-fit: contain;
}

.status-dot {
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 999px;
    box-shadow: 0 0 0 0.18rem rgba(0, 0, 0, 0.06);
}

.status-online {
    background: #0db14b;
}

.status-intermittent {
    background: #d1a100;
}

.status-offline {
    background: #d43b3b;
}

.device-status-text,
.device-last-seen {
    white-space: nowrap;
}

.device-last-seen.device-update-status {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
}

.secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line-strong);
    background: rgba(255, 255, 255, 0.82);
    color: var(--text);
    min-height: 2.8rem;
    padding: 0.55rem 1rem;
    border-radius: 0.55rem;
    font-weight: 600;
    text-align: center;
}

.secondary-button:disabled {
    opacity: 0.5;
}

.empty-inline-state {
    padding: 1rem 1.1rem;
    color: var(--muted);
}

.active-token-banner,
.settings-card > .empty-inline-state {
    margin-bottom: 0.9rem;
}

.hero-panel {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    border-radius: 1.25rem;
    padding: 1.5rem 1.7rem;
    margin-bottom: 1.5rem;
}

.eyebrow {
    margin: 0 0 0.45rem;
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.18rem;
    text-transform: uppercase;
}

.hero-panel h1,
.highlight-card h3 {
    font-weight: 500;
}

.hero-panel h1 {
    font-size: clamp(1.5rem, 2.4vw, 2.4rem);
}

.hero-chip {
    min-width: 14rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    padding: 0.9rem 1rem;
    background: var(--panel-strong);
}

.hero-chip-label {
    display: block;
    color: var(--muted);
    font-size: 0.82rem;
    margin-bottom: 0.25rem;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.surface-card {
    border-radius: var(--card-radius);
    padding: 1.35rem;
}

.surface-card-wide {
    grid-column: 1 / -1;
}

.section-heading {
    margin-bottom: 1rem;
}

.highlight-card {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(31, 91, 169, 0.08), rgba(255, 255, 255, 0.8));
    border: 1px solid rgba(31, 91, 169, 0.15);
}

.highlight-card h3 {
    margin: 0.15rem 0 0.35rem;
    font-size: clamp(1.5rem, 2vw, 2rem);
    letter-spacing: 0.16rem;
}

.highlight-meta {
    color: var(--muted);
}

.highlight-meta code {
    display: inline-block;
    margin-top: 0.25rem;
    padding: 0.45rem 0.6rem;
    border-radius: 0.55rem;
    background: rgba(20, 20, 20, 0.06);
    color: var(--text);
}

.item-list {
    display: grid;
    gap: 0.8rem;
}

.list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.62);
}

.list-item strong {
    display: block;
    margin-bottom: 0.2rem;
}

.list-item p {
    margin: 0;
}

.list-meta {
    display: grid;
    justify-items: end;
    gap: 0.2rem;
    text-align: right;
}

.list-meta span {
    font-weight: 500;
}

.list-meta small,
.field-hint {
    font-size: 0.82rem;
}

.blazor-error-boundary {
    background: #b32121;
    color: white;
    padding: 1rem 1rem 1rem 3.2rem;
}

.blazor-error-boundary::after {
    content: "An error has occurred.";
}

#blazor-error-ui {
    display: none;
    background: var(--warning-background);
    bottom: 0;
    box-shadow: var(--shadow);
    box-sizing: border-box;
    color: var(--warning-text);
    left: 0;
    padding: 0.75rem 1.5rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 1rem;
    top: 0.5rem;
}

@media (max-width: 1360px) {
    .assistant-companion-open .chrome-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .dashboard-assistant-backdrop {
        position: fixed;
        inset: var(--chrome-header-offset) 0 0;
        z-index: 80;
        display: block;
        border: 0;
        background: rgba(14, 18, 24, 0.38);
        backdrop-filter: blur(2px);
    }

    .dashboard-assistant-drawer {
        position: fixed;
        top: var(--chrome-header-offset);
        right: 0;
        bottom: 0;
        z-index: 81;
        width: min(34rem, 100vw);
        height: calc(100dvh - var(--chrome-header-offset));
        box-shadow: -1.25rem 0 4rem rgba(20, 20, 20, 0.18);
    }
}

@media (max-width: 1100px) {
    :root {
        --chrome-header-offset: 8.6rem;
    }

    .chrome-header {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.8rem 1rem;
    }

    .admin-header {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.35rem 1rem;
    }

    .admin-brand {
        grid-column: 1;
        grid-row: 1;
    }

    .admin-header-actions {
        grid-column: 2;
        grid-row: 1;
    }

    .admin-tabs {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .customer-primary-nav {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: stretch;
        justify-content: center;
    }

    .today-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .site-setup-workspace {
        grid-template-columns: 1fr;
    }

    .site-setup-workspace > .runtime-preview-panel,
    .site-setup-workspace > .runtime-preview-panel.is-half,
    .site-setup-workspace > .runtime-preview-panel.is-half + .runtime-automation-card,
    .site-setup-workspace > .runtime-preview-panel:not(.is-half) + .runtime-automation-card {
        grid-column: 1;
    }

    .site-setup-workspace > .runtime-preview-panel.is-half {
        position: static;
    }
}

@media (max-width: 820px) {
    .chrome-header,
    .chrome-main {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .hero-panel,
    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .hero-panel {
        align-items: start;
    }

    .hero-chip {
        min-width: 0;
        width: 100%;
    }

    .surface-card-wide {
        grid-column: auto;
    }

    .connected-header,
    .active-token-banner,
    .connected-device-row,
    .runtime-installer-card {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .settings-header-actions,
    .connected-device-footer-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .camera-header,
    .camera-form-grid,
    .group-form-grid,
    .business-settings-grid,
    .business-hours-context-grid,
    .camera-row,
.chat-permission-row,
    .group-row,
    .user-form-grid,
    .user-form-location-settings,
    .user-row {
        grid-template-columns: 1fr;
    }

    .user-row-header { display: none; }
    .user-field-label { display: block; margin-bottom: .25rem; color: var(--muted); font-size: .85rem; font-weight: 600; }
    .user-row .user-action { flex-direction: column; align-items: flex-start; }
    .user-row .user-location-access { white-space: normal; overflow: visible; overflow-wrap: anywhere; }

    .token-meta {
        justify-items: start;
        text-align: left;
    }

    .token-command-list,
    .token-command-group {
        justify-items: start;
    }

    .camera-form-actions {
        justify-content: flex-start;
    }

    .admin-account-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-account-filter-search {
        grid-column: 1 / -1;
    }

    .admin-account-directory-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-overview-metrics,
    .admin-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-overview-account-state dl {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-account-workspace-summary,
    .admin-account-workspace-detail dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-fleet-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-catalog-transfer {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-catalog-transfer form {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-catalog-transfer label {
        min-width: 0;
    }

    .admin-platform-boundary {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-release-preflight-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-runtime-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-industry-selection-count {
        justify-items: start;
    }

    .camera-url,
    .group-permission-summary,
    .user-username,
    .user-groups,
    .device-status-text,
    .device-last-seen {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    .invite-tooltip-popup {
        left: auto;
        right: 0;
    }

    .runtime-chrome-cluster,
    .automation-trigger-add-row,
    .settings-runtime-picker {
        flex-wrap: wrap;
    }

    .today-content-grid {
        grid-template-columns: 1fr;
    }

    .today-site-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .today-site-row dl {
        grid-column: 2;
    }

    .today-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .credits-metric-grid,
    .credits-grid {
        grid-template-columns: 1fr;
    }

    .runtime-preview-panel.is-half .runtime-preview-frame-shell,
    .runtime-preview-panel.is-half .runtime-preview-controls,
    .runtime-preview-frame-shell {
        width: 100%;
    }

    .dashboard-chat-message {
        max-width: 92%;
    }

    .automation-modal-grid,
    .automation-point-grid,
    .automation-point-grid-large {
        grid-template-columns: 1fr;
    }

    .automation-preview-overlay {
        top: auto;
        right: 1rem;
        bottom: 1rem;
        left: 1rem;
        width: auto;
    }

    .automation-preview-overlay.is-expanded {
        top: 4.8rem;
        bottom: 1rem;
    }
}

@media (max-width: 640px) {
    :root {
        --chrome-header-offset: 7.9rem;
    }

    .chrome-header {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 1rem 1rem 0.7rem;
    }

    .admin-header {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 0.8rem 1rem 0;
    }

    .admin-header .admin-brand {
        justify-content: flex-start;
    }

    .admin-header .brand-logo,
    .admin-auth-header .brand-logo {
        width: 8rem;
    }

    .admin-portal-mark {
        padding-left: 0.55rem;
        font-size: 0.62rem;
    }

    .admin-tabs {
        width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
    }

    .admin-tab {
        min-height: 2.8rem;
        padding-inline: 0.58rem;
        font-size: 0.84rem;
    }

    .admin-system-menu-panel {
        position: fixed;
        top: 7.2rem;
        right: 1rem;
    }

    .admin-session-identity {
        display: none;
    }

    .admin-operator-menu-trigger {
        padding-right: 0.4rem;
    }

    .admin-auth-header {
        padding: 1rem;
    }

    .admin-auth-context {
        display: none;
    }

    .customer-primary-nav {
        justify-self: stretch;
    }

    .chrome-header:not(.admin-header) .brand-lockup {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        justify-content: flex-start;
    }

    .chrome-header:not(.admin-header) .brand-logo {
        width: 8rem;
    }

    .customer-brand-lockup {
        gap: 0.6rem;
    }

    .brand-product-mark {
        padding-left: 0.6rem;
        font-size: 1rem;
    }

    .runtime-credit-link {
        margin-inline: 0.25rem;
    }

    .runtime-credit-link > span {
        display: none;
    }

    .chrome-header:not(.admin-header) .chrome-actions {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        justify-content: flex-end;
        gap: 0.5rem;
    }

    .customer-primary-nav {
        grid-row: 2;
        justify-content: flex-start;
        overflow-x: auto;
    }

    .assistant-launch-button > span:not(.assistant-launch-status):not(.assistant-launch-icon) {
        display: none;
    }

    .assistant-launch-button {
        width: 2.35rem;
        padding: 0;
        justify-content: center;
    }

    .assistant-launch-button > .assistant-launch-status {
        position: absolute;
        display: block;
        top: 0.18rem;
        right: 0.18rem;
        margin: 0;
    }

    .assistant-workspace-header {
        align-items: stretch;
    }

    .assistant-workspace-context-controls {
        width: 100%;
        justify-content: flex-start;
    }

    .assistant-workspace-context-controls .header-select-wrap {
        flex: 1 1 9rem;
    }

    .assistant-workspace-context-controls .header-select {
        width: 100%;
        max-width: none;
    }

    .customer-section-page {
        padding-inline: 0.2rem;
    }

    .settings-page,
    .manage-shell {
        padding-top: 1rem;
    }

    .setup-workspace-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .setup-section-nav {
        width: 100%;
    }

    .setup-subsection-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .setup-subsection-heading > .secondary-button {
        align-self: flex-start;
    }

    .settings-device-primary-actions,
    .settings-advanced-actions {
        width: 100%;
    }

    .settings-advanced-actions {
        margin-left: 0;
    }

    .settings-advanced-actions summary {
        margin-left: 0;
    }

    .settings-advanced-actions-panel {
        justify-content: flex-start;
    }

    .manage-content-card {
        padding: 1.15rem;
    }

    .manage-summary-row {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .manage-related-panel,
    .manage-data-panel,
    .manage-danger-zone {
        align-items: stretch;
        flex-direction: column;
    }

    .manage-related-panel > a,
    .manage-danger-zone > a {
        align-self: flex-start;
    }

    .manage-data-panel > form,
    .manage-provider-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .today-heading,
    .assistant-workspace-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .today-metric-grid {
        grid-template-columns: 1fr;
    }

    .today-metric-card {
        min-height: 8.75rem;
    }

    .today-onboarding-card {
        grid-template-columns: 1fr;
    }

    .today-site-row dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .today-activity-row {
        grid-template-columns: 2.8rem auto minmax(0, 1fr);
    }

    .today-activity-row button {
        grid-column: 3;
        justify-self: start;
    }

    .dashboard-assistant-suggestions {
        grid-template-columns: 1fr;
    }

    .dashboard-assistant-drawer {
        width: 100vw;
    }

    .auth-card,
    .message-card,
    .surface-card,
    .hero-panel {
        border-radius: 0.9rem;
    }

    .auth-grid-row,
    .form-row {
        grid-template-columns: 1fr;
    }

    .auth-actions,
    .form-submit-row,
    .list-item,
    .highlight-card {
        flex-direction: column;
        align-items: stretch;
    }

    .list-meta {
        justify-items: start;
        text-align: left;
    }

    .auth-button {
        width: 100%;
    }

    .admin-account-filter-grid {
        grid-template-columns: 1fr;
    }

    .admin-account-filter-search {
        grid-column: auto;
    }

    .admin-page-heading,
    .admin-overview-banner,
    .admin-overview-panel-header {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-overview-metrics,
    .admin-overview-grid,
    .admin-overview-account-state dl {
        grid-template-columns: 1fr;
    }

    .admin-overview-queue-row {
        grid-template-columns: 1fr;
    }

    .admin-overview-flags {
        justify-content: flex-start;
    }

    .admin-overview-row-detail {
        max-width: none;
        text-align: left;
    }

    .admin-account-context {
        position: static;
    }

    .admin-account-context-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-account-context-status {
        justify-content: flex-start;
    }

    .admin-account-workspace-summary,
    .admin-account-workspace-detail dl {
        grid-template-columns: 1fr;
    }

    .admin-fleet-metrics,
    .admin-fleet-filter-grid,
    .admin-runtime-summary-grid {
        grid-template-columns: 1fr;
    }

    .admin-release-metrics,
    .admin-release-preflight-metrics {
        grid-template-columns: 1fr;
    }

    .admin-fleet-filter-grid .admin-account-filter-search {
        grid-column: auto;
    }

    .admin-release-lifecycle-actions {
        justify-content: flex-start;
    }

    .admin-infrastructure-row-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-catalog-heading-actions {
        justify-content: flex-start;
    }

    .admin-catalog-context {
        position: static;
        align-items: stretch;
        flex-direction: column;
    }

    .admin-platform-summary-list > div {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-platform-summary-list strong {
        max-width: none;
        text-align: left;
    }

    .admin-runtime-context {
        position: static;
    }

    .admin-runtime-context-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .runtime-chrome-cluster {
        width: 100%;
        justify-content: flex-start;
    }

    .credits-header,
    .credits-modal-actions,
    .credits-mock-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .header-select,
    .header-select-camera-wrap .header-select,
    .settings-runtime-select,
    .automation-trigger-add-row .auth-input {
        min-width: 0;
        width: 100%;
        max-width: none;
    }

    .automation-tabs-bar {
        flex-wrap: wrap;
    }

    .automation-tabs {
        flex-wrap: wrap;
    }

    .automation-auto-setup-button {
        margin-left: 0;
        transform: none;
    }
}

.findings-page {
    display: grid;
    gap: 1.25rem;
}

.findings-page > .today-heading {
    margin-bottom: 0;
}

.finding-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.finding-metric-card {
    min-height: 145px;
    padding: 1.2rem;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(247, 249, 252, 0.92));
    box-shadow: 0 10px 30px rgba(20, 32, 51, 0.06);
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.finding-metric-card > span {
    color: var(--muted-text);
    font-size: 0.78rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.finding-metric-card strong {
    color: var(--ink);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
}

.finding-metric-card p {
    margin: auto 0 0;
    color: var(--muted-text);
    font-size: 0.9rem;
}

.finding-metric-card.is-open {
    border-top: 4px solid #dc5a4a;
}

.finding-metric-card.is-acknowledged {
    border-top: 4px solid #d49a2f;
}

.finding-metric-card.is-resolved {
    border-top: 4px solid #3b9d78;
}

.finding-toolbar,
.finding-filter,
.critique-tabs,
.finding-section-heading,
.finding-action-row,
.finding-feedback-actions,
.outcome-checkbox-row {
    display: flex;
    align-items: center;
}

.finding-toolbar {
    justify-content: space-between;
    gap: 1rem;
}

.finding-filter,
.critique-tabs {
    padding: 0.25rem;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.78);
}

.critique-tabs {
    width: fit-content;
}

.finding-filter button,
.critique-tabs a {
    min-height: 38px;
    padding: 0.45rem 0.9rem;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--muted-text);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.finding-filter button.active,
.critique-tabs a[aria-current="page"] {
    background: var(--ink);
    color: #fff;
    box-shadow: 0 5px 14px rgba(22, 35, 55, 0.16);
}

.finding-empty-state {
    min-height: 220px;
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    text-align: left;
}

.finding-empty-state > span {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(59, 157, 120, 0.13);
    color: #24845f;
    display: grid;
    place-items: center;
    font-size: 1.45rem;
    font-weight: 800;
}

.finding-empty-state h2,
.finding-empty-state p {
    margin: 0;
}

.finding-empty-state p {
    max-width: 650px;
    margin-top: 0.35rem;
    color: var(--muted-text);
}

.finding-workspace {
    display: grid;
    grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.75fr);
    gap: 1rem;
    align-items: start;
}

.finding-list {
    padding: 0.55rem;
    display: grid;
    gap: 0.35rem;
    max-height: 780px;
    overflow: auto;
}

.finding-list-item {
    width: 100%;
    padding: 1rem;
    border: 1px solid transparent;
    border-radius: 13px;
    background: transparent;
    color: var(--ink);
    text-align: left;
    font: inherit;
    cursor: pointer;
    display: grid;
    gap: 0.35rem;
}

.finding-list-item:hover {
    background: rgba(237, 243, 248, 0.72);
}

.finding-list-item.selected {
    border-color: rgba(54, 100, 138, 0.28);
    background: rgba(225, 237, 246, 0.78);
    box-shadow: inset 3px 0 0 var(--accent);
}

.finding-list-item > strong {
    font-size: 0.98rem;
}

.finding-list-item > span:not(.finding-severity),
.finding-list-item > small {
    color: var(--muted-text);
}

.finding-severity {
    width: fit-content;
    padding: 0.22rem 0.5rem;
    border-radius: 999px;
    background: rgba(83, 105, 126, 0.12);
    color: #4a6175;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.finding-severity.warning {
    background: var(--warning-background);
    color: var(--warning-text);
}

.finding-severity.critical {
    background: rgba(207, 74, 67, 0.13);
    color: #ac3934;
}

.finding-severity.information {
    background: rgba(47, 117, 164, 0.12);
    color: #286a97;
}

.finding-detail {
    padding: clamp(1.1rem, 2vw, 1.65rem);
    display: grid;
    gap: 1.4rem;
}

.finding-detail > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.finding-detail > header h2 {
    margin: 0.55rem 0 0.35rem;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.finding-detail > header p {
    max-width: 760px;
    margin: 0;
    color: var(--muted-text);
}

.finding-status {
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    background: rgba(202, 77, 67, 0.12);
    color: #a53630;
    font-size: 0.75rem;
    font-weight: 800;
}

.finding-status.acknowledged {
    background: var(--warning-background);
    color: var(--warning-text);
}

.finding-status.resolved {
    background: rgba(59, 157, 120, 0.13);
    color: #237c5a;
}

.finding-detail-facts {
    margin: 0;
    padding: 1rem;
    border-radius: 14px;
    background: rgba(242, 246, 249, 0.75);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.finding-detail-facts div {
    min-width: 0;
}

.finding-detail-facts dt {
    color: var(--muted-text);
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.finding-detail-facts dd {
    margin: 0.25rem 0 0;
    color: var(--ink);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.finding-evidence-section,
.finding-actions-section {
    padding-top: 1.2rem;
    border-top: 1px solid var(--border-color);
}

.finding-section-heading {
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.finding-section-heading h3 {
    margin: 0.12rem 0 0;
}

.finding-section-heading > span {
    color: var(--muted-text);
    font-size: 0.82rem;
}

.finding-evidence-list {
    display: grid;
    gap: 0.55rem;
}

.finding-evidence-list article {
    padding: 0.8rem;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
    align-items: center;
}

.finding-evidence-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: rgba(55, 105, 145, 0.1);
    color: var(--accent);
    display: grid;
    place-items: center;
}

.finding-evidence-list strong,
.finding-evidence-list p {
    margin: 0;
}

.finding-evidence-list p {
    margin-top: 0.15rem;
    color: var(--muted-text);
    font-size: 0.8rem;
}

.finding-evidence-list a,
.finding-evidence-list button,
.today-priority-item a {
    border: 0;
    background: transparent;
    color: var(--accent);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.finding-action-message,
.finding-inline-warning {
    margin: 0;
    padding: 0.75rem 0.9rem;
    border-radius: 11px;
    background: rgba(48, 110, 151, 0.09);
    color: #275f85;
}

.finding-actions-section {
    display: grid;
    gap: 1rem;
}

.finding-actions-section > .auth-button {
    width: fit-content;
}

.finding-action-row {
    gap: 0.7rem;
    align-items: end;
}

.finding-action-row label,
.finding-resolution-form,
.outcome-form-grid label,
.outcome-description-field {
    display: grid;
    gap: 0.35rem;
}

.finding-action-row label {
    min-width: min(100%, 320px);
}

.finding-action-row label > span,
.finding-resolution-form label,
.outcome-form-grid label > span,
.outcome-description-field > span {
    color: var(--muted-text);
    font-size: 0.78rem;
    font-weight: 750;
}

.finding-action-row select,
.finding-resolution-form textarea,
.outcome-form-grid input,
.outcome-form-grid select,
.outcome-description-field textarea {
    width: 100%;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

.finding-action-row select,
.outcome-form-grid input,
.outcome-form-grid select {
    min-height: 42px;
    padding: 0.55rem 0.65rem;
}

.finding-resolution-form {
    max-width: 760px;
}

.finding-resolution-form textarea,
.outcome-description-field textarea {
    min-height: 90px;
    padding: 0.65rem;
    resize: vertical;
}

.finding-resolution-form button {
    width: fit-content;
}

.finding-resolution-summary {
    padding: 0.85rem;
    border-radius: 12px;
    background: rgba(59, 157, 120, 0.09);
}

.finding-resolution-summary p {
    margin: 0.35rem 0 0;
}

.finding-feedback-actions {
    flex-wrap: wrap;
    gap: 0.45rem;
}

.finding-feedback-actions > span {
    margin-right: 0.35rem;
    font-weight: 700;
}

.finding-feedback-actions button {
    padding: 0.45rem 0.65rem;
    border: 1px solid var(--border-color);
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    cursor: pointer;
}

.finding-feedback-actions button.selected {
    border-color: var(--accent);
    background: rgba(48, 110, 151, 0.1);
    color: var(--accent);
}

.outcome-settings-card {
    overflow: hidden;
}

.outcome-settings-card > summary {
    padding: 1.1rem 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    cursor: pointer;
}

.outcome-settings-card > summary::marker {
    color: var(--accent);
}

.outcome-settings-card > summary > span {
    display: grid;
    gap: 0.15rem;
}

.outcome-settings-card > summary strong {
    font-size: 1.15rem;
}

.outcome-settings-card > summary small {
    color: var(--muted-text);
}

.outcome-settings-content {
    padding: 0 1.25rem 1.25rem;
    display: grid;
    gap: 1.2rem;
}

.outcome-settings-content > p {
    max-width: 850px;
    margin: 0;
    color: var(--muted-text);
}

.outcome-definition-list {
    display: grid;
    gap: 0.5rem;
}

.outcome-definition-list article {
    padding: 0.8rem;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 0.8rem;
}

.outcome-definition-list article > div {
    display: grid;
    gap: 0.25rem;
}

.outcome-definition-list p {
    margin: 0;
    color: var(--muted-text);
    font-size: 0.8rem;
}

.outcome-enabled-state {
    color: var(--muted-text);
    font-size: 0.75rem;
    font-weight: 800;
}

.outcome-enabled-state.enabled {
    color: #247d5a;
}

.outcome-definition-form,
.outcome-digest-form {
    padding: 1rem;
    border-radius: 14px;
    background: rgba(243, 247, 250, 0.78);
    display: grid;
    gap: 0.9rem;
}

.outcome-definition-form h3,
.outcome-digest-form h3,
.outcome-digest-form p {
    margin: 0;
}

.outcome-digest-form p {
    color: var(--muted-text);
}

.outcome-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.outcome-checkbox-row {
    flex-wrap: wrap;
    gap: 1rem;
}

.outcome-checkbox-row label,
.outcome-digest-enabled {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--muted-text);
    font-size: 0.86rem;
}

.today-status-indicator.is-finding {
    background: #dc5a4a;
    box-shadow: 0 0 0 4px rgba(220, 90, 74, 0.12);
}

.today-finding-priority-list {
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border-color);
}

@media (max-width: 980px) {
    .finding-workspace {
        grid-template-columns: 1fr;
    }

    .finding-list {
        max-height: 360px;
    }

    .outcome-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .finding-metric-grid,
    .finding-detail-facts,
    .outcome-form-grid {
        grid-template-columns: 1fr;
    }

    .finding-toolbar,
    .finding-detail > header,
    .finding-action-row {
        align-items: stretch;
        flex-direction: column;
    }

    .finding-filter,
    .critique-tabs {
        width: 100%;
    }

    .finding-filter button,
    .critique-tabs a {
        flex: 1;
    }

    .finding-evidence-list article,
    .outcome-definition-list article {
        grid-template-columns: auto 1fr;
    }

    .finding-evidence-list article > :last-child,
    .outcome-definition-list article > :last-child {
        grid-column: 2;
        justify-self: start;
    }
}

/* Weekly value and outcome proof */
.value-page {
    padding-bottom: 4rem;
}

.value-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.value-metric-card {
    min-height: 156px;
    padding: 1.2rem;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    background: var(--surface-color);
    box-shadow: var(--surface-shadow);
}

.value-metric-card > span,
.value-impact-primary > span {
    color: var(--muted-text);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.value-metric-card > strong {
    display: block;
    margin: 0.5rem 0 0.4rem;
    color: var(--heading-text);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1;
}

.value-metric-card strong small {
    color: var(--muted-text);
    font-size: 0.95rem;
    font-weight: 600;
}

.value-metric-card p,
.value-impact-primary p,
.value-scorecard-copy p,
.value-scorecard-copy small,
.value-method-card p,
.value-assumptions-card p {
    color: var(--muted-text);
    margin: 0;
}

.value-metric-card.is-attention {
    border-color: var(--warning-accent);
    background: var(--warning-background);
}

.value-scorecard-section,
.value-impact-card,
.value-cost-card,
.value-method-card,
.value-assumptions-card,
.value-empty-card {
    margin-bottom: 1.25rem;
    padding: 1.4rem;
}

.value-scorecard-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.value-scorecard {
    display: grid;
    grid-template-columns: 155px minmax(220px, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--border-color);
    border-left: 5px solid #8b95a1;
    border-radius: 14px;
    background: var(--surface-subtle-color, #fafafa);
}

.value-scorecard.is-passing {
    border-left-color: #2c9360;
}

.value-scorecard.is-exception {
    border-left-color: #dc5a4a;
}

.value-scorecard.is-missing {
    border-left-color: #d68727;
}

.value-scorecard-status {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.86rem;
}

.value-scorecard-status > span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: rgba(94, 105, 117, 0.12);
    font-weight: 800;
}

.is-passing .value-scorecard-status > span {
    color: #24764e;
    background: rgba(44, 147, 96, 0.12);
}

.is-exception .value-scorecard-status > span {
    color: #b43d30;
    background: rgba(220, 90, 74, 0.12);
}

.is-missing .value-scorecard-status > span {
    color: #9b5c11;
    background: rgba(214, 135, 39, 0.14);
}

.value-scorecard-copy h3 {
    margin: 0 0 0.18rem;
    color: var(--heading-text);
    font-size: 1rem;
}

.value-scorecard-copy small {
    display: block;
    margin-top: 0.35rem;
    line-height: 1.4;
}

.value-scorecard dl {
    display: flex;
    gap: 1rem;
    margin: 0;
}

.value-scorecard dl div,
.value-fact-list div {
    display: grid;
    gap: 0.15rem;
}

.value-scorecard dt,
.value-fact-list dt {
    color: var(--muted-text);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.value-scorecard dd,
.value-fact-list dd {
    margin: 0;
    color: var(--heading-text);
    font-weight: 700;
}

.value-scorecard > a {
    white-space: nowrap;
    font-weight: 700;
}

.value-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.value-impact-primary {
    padding: 1rem;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(50, 116, 89, 0.08), rgba(50, 116, 89, 0.02));
}

.value-impact-primary strong {
    display: block;
    margin: 0.35rem 0;
    color: var(--heading-text);
    font-size: 2rem;
}

.value-fact-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.8rem;
    margin: 1rem 0 0;
}

.value-method-card summary,
.value-assumptions-card summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.value-method-card summary span,
.value-assumptions-card summary span {
    display: grid;
    gap: 0.2rem;
}

.value-method-card > div,
.value-assumptions-card form {
    display: grid;
    gap: 0.8rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}

.value-action-message {
    margin-left: 0.75rem;
    color: var(--muted-text);
    font-size: 0.86rem;
}

.value-empty-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.value-empty-card > span {
    display: grid;
    flex: 0 0 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    background: var(--accent-color);
    color: #fff;
    font-weight: 800;
}

@media (max-width: 980px) {
    .value-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .value-scorecard {
        grid-template-columns: 145px 1fr;
    }

    .value-scorecard dl,
    .value-scorecard > a {
        grid-column: 2;
    }
}

@media (max-width: 700px) {
    .customer-section-page {
        padding-top: 1rem;
    }

    .value-metric-grid,
    .value-detail-grid,
    .value-fact-list,
    .value-scorecard {
        grid-template-columns: 1fr;
    }

    .value-scorecard dl,
    .value-scorecard > a {
        grid-column: 1;
    }

    .value-scorecard dl {
        justify-content: space-between;
    }

    .value-method-card summary,
    .value-assumptions-card summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.35rem;
    }
}
.person-telegram-connections { display: grid; gap: .4rem; }
.person-telegram-connection { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; font-size: .9rem; }
.person-telegram-name { font-weight: 600; min-width: 4.5rem; }
.person-telegram-connection .inline-link-button,
.person-telegram-connection .inline-link-button:hover { color: var(--add-icon-color); }
.telegram-invite-modal { width: min(30rem, calc(100vw - 2rem)); padding: 1.5rem; background: #fdfdfd; box-shadow: 0 28px 54px rgba(23, 23, 23, .2); filter: grayscale(1); }
.telegram-invite-modal h2 { margin: 0 0 .5rem; }
.telegram-invite-modal .auth-button { display: inline-flex; margin: .75rem 0; background: #141414; color: white; border-color: #141414; text-decoration: none; }
.telegram-invite-modal::backdrop { background: rgba(18, 18, 18, .42); backdrop-filter: blur(4px); }
.telegram-invite-modal .telegram-manual-instructions { font-size: .9rem; margin: 1rem 0 .5rem; }
.telegram-invite-modal code { color: inherit; }
.telegram-invite-actions { justify-content: flex-end; margin-top: 1.25rem; }

.admin-product-tabs {
    max-width: 100%;
    margin-bottom: 1.5rem;
}

@media (max-width: 380px) {
    .chrome-header:not(.admin-header) {
        column-gap: 0.5rem;
    }

    .chrome-header:not(.admin-header) .customer-brand-lockup .brand-logo {
        width: 6.5rem;
    }

    .customer-brand-lockup {
        gap: 0.4rem;
    }

    .brand-product-mark {
        padding-left: 0.4rem;
        font-size: 0.85rem;
    }
}

.settings-card .automatic-reference-setting { align-items: flex-start; gap: .65rem; }
.settings-card .automatic-reference-setting input { flex: 0 0 auto; margin-top: .3rem; }
