
	/* Hide scrollbars cross browser and enable momentum scroll for touch devices */
	[data-select-viewport] {
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
		-webkit-overflow-scrolling: touch !important;
	}

	[data-combobox-viewport] {
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
		-webkit-overflow-scrolling: touch !important;
	}

	[data-combobox-viewport]::-webkit-scrollbar {
		display: none !important;
	}
	[data-select-viewport]::-webkit-scrollbar {
		display: none !important;
	}

	.title.svelte-orbh7l {
		font-size: var(--font-size-lg);
		text-transform: capitalize;
		line-height: 1;
		color: var(--color-text-primary);
		flex-wrap: nowrap;
		white-space: nowrap;
		margin-block-end: 0;
	}

	.description.svelte-1klktcd {
		font-size: var(--font-size-sm);
		font-weight: var(--font-weight-normal);
		color: var(--color-text-secondary);
	}

	.card.svelte-bwmbmo {
		border: var(--border-default);
		border-radius: var(--border-radius);
		/* background: var(--color-bg-paper); */
		overflow: hidden;
		min-height: 0;
	}
	.card-header.svelte-bwmbmo {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: var(--spacing-md) var(--spacing-md) 0 var(--spacing-md);
		flex: 0;
		position: sticky;
		top: 0;

		z-index: 1;
		width: 100%;
		/* Mobile */
		@media (max-width: 768px) {
			flex-direction: column;
			align-items: flex-start;
		}
	}
	.card-header-content.svelte-bwmbmo {
		display: flex;
		gap: var(--spacing-sm);
	}

	.card-content-with-title.svelte-bwmbmo {
		padding: 0 var(--spacing-md) var(--spacing-md) var(--spacing-md);
		overflow-y: auto;
	}

	.card-content-no-title.svelte-bwmbmo {
		padding: var(--spacing-md);
	}
	.card-link.svelte-bwmbmo:hover {
		background: var(--color-bg-hover);
		cursor: pointer;
	}

	.card-link.svelte-bwmbmo {
		text-decoration: none;
		color: currentColor;
	}

	.card-link-active.svelte-bwmbmo {
		background: var(--color-bg-secondary);
	}

	.card-footer.svelte-bwmbmo {
		padding: 0 var(--spacing-md) var(--spacing-md) var(--spacing-md);
		display: flex;
		gap: var(--spacing-sm);
		justify-content: flex-start;
		align-items: center;
	}

	.disabled.svelte-bwmbmo {
		opacity: var(--opacity-disabled);
		cursor: not-allowed;
		pointer-events: none;
	}

	/*
	 * Default: content-sized (`max-content`), capped at the parent lane
	 * (`max-width: 100%`). Wrap only when the parent is actually too narrow.
	 * fullWidth: stretch to 100% of the parent. Early wrap = constrain the
	 * parent, not this component.
	 */
	.message-block-wrapper.svelte-1nexc7j {
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
		box-sizing: border-box;
		width: max-content;
		max-width: 100%;
		/* Center / row flex parents must not flex-shrink us below the sentence. */
		flex-shrink: 0;
		/* Column flex parents (stretch) must not widen us to the full lane. */
		align-self: center;
		height: auto;
	}

	.message-block-wrapper[data-full-width="true"].svelte-1nexc7j {
		width: 100%;
		align-self: stretch;
		flex-shrink: 1;
	}

	.message-block.svelte-1nexc7j {
		border-radius: var(--border-radius);
		border: var(--border-width) solid;
		box-sizing: border-box;
		width: max-content;
		max-width: 100%;
		padding: var(--spacing-md);
		/* First-line icon alignment (single-line ≈ centered; multi-line stays top). */
		align-items: flex-start;
	}

	.message-block[data-full-width="true"].svelte-1nexc7j {
		width: 100%;
	}

	.message-block[data-borderless="true"].svelte-1nexc7j {
		border-color: transparent;
	}

	.message-block[data-has-action="true"].svelte-1nexc7j {
		container-type: inline-size;
		container-name: message-block;
	}

	.message-block-wrapper[data-size="compact"].svelte-1nexc7j .message-block:where(.svelte-1nexc7j) {
		padding: var(--spacing-sm);
	}

	.icon-column.svelte-1nexc7j {
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		/* Same metrics as `.message-text` so `1lh` pins to the first line. */
		line-height: var(--line-height-prose);
		height: 1lh;
	}

	.message-block-wrapper[data-size="compact"].svelte-1nexc7j .icon-column:where(.svelte-1nexc7j) {
		line-height: var(--line-height);
	}

	.icon-column.svelte-1nexc7j svg {
		display: block;
		width: 1.125em;
		height: 1.125em;
	}

	.icon-column[data-loading="true"].svelte-1nexc7j svg {
		animation: svelte-1nexc7j-message-block-spin 0.8s linear infinite;
	}

	@keyframes svelte-1nexc7j-message-block-spin {
		to {
			transform: rotate(360deg);
		}
	}

	.content-column.svelte-1nexc7j {
		flex: 0 1 auto;
		min-width: 0;
	}

	.message-block[data-full-width="true"].svelte-1nexc7j .content-column:where(.svelte-1nexc7j) {
		flex: 1 1 auto;
	}

	.message-row.svelte-1nexc7j {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: var(--spacing-sm) var(--spacing-md);
		min-width: 0;
	}

	.message-text.svelte-1nexc7j {
		flex: 0 1 auto;
		/* Wrap only when the block is capped by max-width: 100% / fullWidth. */
		overflow-wrap: break-word;
		text-align: left;
		line-height: var(--line-height-prose);
	}

	.message-row[data-has-action="true"].svelte-1nexc7j .message-text:where(.svelte-1nexc7j) {
		flex: 1 1 12rem;
		min-width: 0;
	}

	.message-block-wrapper[data-size="compact"].svelte-1nexc7j .message-text:where(.svelte-1nexc7j) {
		line-height: var(--line-height);
	}

	.action-row.svelte-1nexc7j {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		gap: var(--spacing-sm);
		flex: 0 0 auto;
		margin-inline-start: auto;
		min-width: 0;
	}

	.action-row.svelte-1nexc7j .button,
	.action-row.svelte-1nexc7j a,
	.action-row.svelte-1nexc7j button {
		flex: 0 0 auto;
	}

	/*
	 * Narrow block (phone / drawer): stack action under the message so copy
	 * gets the full width instead of a squeezed side column.
	 */
	@container message-block (max-width: 32rem) {
		.message-row[data-has-action="true"].svelte-1nexc7j {
			flex-direction: column;
			align-items: stretch;
		}

		.message-row[data-has-action="true"].svelte-1nexc7j .message-text:where(.svelte-1nexc7j) {
			flex: 1 1 auto;
		}

		.message-row[data-has-action="true"].svelte-1nexc7j .action-row:where(.svelte-1nexc7j) {
			width: 100%;
			margin-inline-start: 0;
			justify-content: flex-end;
		}
	}

	[data-severity="error"].svelte-1nexc7j {
		background-color: var(--color-bg-error);
		border-color: var(--color-text-error);
		color: var(--color-text-error);
	}

	[data-severity="warning"].svelte-1nexc7j {
		border-color: var(--color-text-warning);
		background-color: var(--color-bg-warning);
		color: var(--color-text-warning);
	}

	[data-severity="success"].svelte-1nexc7j {
		border-color: var(--color-text-success);
		background-color: var(--color-bg-success);
		color: var(--color-text-success);
	}

	[data-severity="info"].svelte-1nexc7j {
		border-color: var(--color-text-info);
		background-color: var(--color-bg-info);
		color: var(--color-text-info);
	}

	[data-severity="default"].svelte-1nexc7j {
		border-color: var(--color-border);
		color: var(--color-text-secondary);
	}

	.progress-backdrop.svelte-1ws54z4 {
		position: fixed;
		inset: 0;
		min-height: 100dvh;
		overflow-y: auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		z-index: var(--z-index-progress);
		background-color: var(--color-bg-primary);
		padding: var(--spacing-lg);
		padding-top: 4vh;
	}

	.progress-logo-box.svelte-1ws54z4 {
		flex-shrink: 0;
		/* Balanced bounds: wide logos capped at 180px, tall at 120px, square at 120×120 */
		width: 180px;
		height: 120px;
		max-height: 120px;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		transition:
			opacity 0.2s,
			max-height 0.2s;
	}

	/* Hide logo when viewport shrinks (mobile keyboard open) so children get priority */
	@media (pointer: coarse) and (max-height: 450px) {
		.progress-logo-box.svelte-1ws54z4 {
			opacity: 0;
			max-height: 0;
		}
	}

	.progress-logo.svelte-1ws54z4 {
		max-width: 100%;
		max-height: 100%;
		width: auto;
		height: auto;
		object-fit: contain;
	}

	.progress-content.svelte-1ws54z4 {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		display: flex;
		flex-direction: column;
		align-items: stretch;
		/* Definite width so MessageBlocks / Cards can size to content up to this lane. */
		width: min(100%, var(--blank-page-max-width, 32rem));
		padding: 0 var(--spacing-lg);
		box-sizing: border-box;
	}

    .center.svelte-1jdl2lm {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        padding: var(--spacing-lg);
        margin: 0 auto;
        width: 100%;
    }

    .loading.svelte-mt4s36 {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--spacing-md);
    }

    .message.svelte-mt4s36 {
        margin: 0;
        text-align: center;
        color: var(--color-text-secondary);
        font-size: var(--font-size-md);
    }

    .lds-ring.svelte-mt4s36 {
        color: var(--color-text-secondary);
    }
    .lds-ring.svelte-mt4s36,
    .lds-ring.svelte-mt4s36 div:where(.svelte-mt4s36) {
        box-sizing: border-box;
    }
    .lds-ring.svelte-mt4s36 {
        display: inline-block;
        position: relative;
        width: 56px;
        height: 56px;
    }
    .lds-ring.svelte-mt4s36 div:where(.svelte-mt4s36) {
        box-sizing: border-box;
        display: block;
        position: absolute;
        width: 45px;
        height: 45px;
        margin: 6px;
        border: 6px solid currentColor;
        border-radius: 50%;
        animation: svelte-mt4s36-lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
        border-color: currentColor transparent transparent transparent;
    }
    .lds-ring.svelte-mt4s36 div:where(.svelte-mt4s36):nth-child(1) {
        animation-delay: -0.45s;
    }
    .lds-ring.svelte-mt4s36 div:where(.svelte-mt4s36):nth-child(2) {
        animation-delay: -0.3s;
    }
    .lds-ring.svelte-mt4s36 div:where(.svelte-mt4s36):nth-child(3) {
        animation-delay: -0.15s;
    }
    @keyframes svelte-mt4s36-lds-ring {
        0% {
            transform: rotate(0deg);
        }
        100% {
            transform: rotate(360deg);
        }
    }

    button.svelte-105jg0d {
        all: unset;
        box-sizing: border-box;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        gap: var(--gap-button);
        border-radius: var(--border-radius);
        border: var(--border-width) solid;
        font-size: var(--font-size-button);
        font-weight: var(--font-weight-bold);
        line-height: var(--line-height-button);
        cursor: pointer;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
        max-width: 100%;
        text-decoration: none;

        & svg {
            flex-shrink: 0;
            display: block;
            width: var(--icon-size-button);
            height: var(--icon-size-button);
        }
        &:hover {
            opacity: var(--opacity-hover);
        }
        &:disabled {
            opacity: var(--opacity-disabled);
            cursor: not-allowed;
            pointer-events: none;
        }
    }

    /* Variant styles - shape, borders, padding */
    [data-variant="default"].svelte-105jg0d {
        height: var(--height-button);
        min-height: var(--height-button);
        padding: var(--padding-button);
        border: var(--border-width) solid;
        transition: var(--transition-hover);

        &:focus {
            outline: none;
        }
        &:active {
            opacity: var(--opacity-hover);
        }
    }

    [data-variant="transparent"].svelte-105jg0d {
        height: var(--height-button);
        min-height: var(--height-button);
        padding: var(--padding-button);
        border: var(--border-width) solid transparent;
        background-color: transparent;
        transition: var(--transition-hover);

        &:focus {
            outline: none;
        }
        &:active {
            opacity: var(--opacity-hover);
        }
    }

    [data-variant="text"].svelte-105jg0d {
        height: auto;
        padding: 0;
        border: none;
        background-color: transparent;
    }

    /*
	 * Stretch across a column stack (v-stack). Do not use `flex: 1` — in a
	 * column that grows/shrinks height, and with `overflow: hidden` flex min
	 * size can collapse below `--height-button` (e.g. accordion content).
	 */
    [data-full-width="true"].svelte-105jg0d {
        width: 100%;
        flex-shrink: 0;
        align-self: stretch;
    }

    [data-severity="error"].svelte-105jg0d {
        background-color: var(--color-bg-error);
        border-color: var(--color-text-error);
        color: var(--color-text-error);
    }

    [data-severity="warning"].svelte-105jg0d {
        border-color: var(--color-text-warning);
        background-color: var(--color-bg-warning);
        color: var(--color-text-warning);
    }

    [data-severity="success"].svelte-105jg0d {
        border-color: var(--color-text-success);
        background-color: var(--color-bg-success);
        color: var(--color-text-success);
    }

    [data-severity="info"].svelte-105jg0d {
        border-color: var(--color-text-info);
        background-color: var(--color-bg-info);
        color: var(--color-text-info);
    }

    [data-severity="default"].svelte-105jg0d {
        color: var(--color-text-secondary);
    }

    [data-variant="default"][data-severity="default"].svelte-105jg0d {
        border-color: var(--color-border);
    }

    [data-variant="primary"].svelte-105jg0d {
        height: var(--height-button);
        min-height: var(--height-button);
        padding: var(--padding-button);
        border: var(--border-width) solid var(--color-primary);
        background-color: var(--color-primary);
        color: var(--color-white);
        transition: var(--transition-hover);

        &:focus {
            outline: none;
        }
        &:active {
            opacity: var(--opacity-hover);
        }
    }

    .actions.svelte-6nyrnr {
        display: flex;
        flex-wrap: wrap;
        gap: var(--spacing-sm);
        justify-content: flex-end;
        align-items: center;
    }

    .actions > * {
        flex: 0 0 auto;
    }

    .form-field.svelte-pwso6t {
        min-width: 0;
    }

    .field-label-tooltip.svelte-pwso6t {
        cursor: pointer;
        /* Shrink-wrap so the tooltip anchors to the label text, not the field lane. */
        width: max-content;
        max-width: 100%;
    }

    .form-field-label.svelte-pwso6t {
        color: var(--color-text-secondary);
        text-transform: capitalize;
    }

    .form-field[data-view="card"].svelte-pwso6t > .form-field-label:where(.svelte-pwso6t) {
        font-size: var(--font-size-xs);
    }

    .required.svelte-pwso6t {
        font-size: var(--root-font-size);
    }

    .form-field-label-actions.svelte-pwso6t:empty {
        display: none;
    }

    .form-field-label-actions.svelte-pwso6t:not(:empty) {
        margin-inline-start: auto;
        display: flex;
        align-items: center;
    }

	.help-link.svelte-1khxabk {
		all: unset;
		box-sizing: border-box;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: var(--gap-button);
		color: var(--color-text-secondary);
		flex-shrink: 0;
		line-height: 1;
		cursor: pointer;
		font-family: var(--font-family);
		font-weight: var(--font-weight-bold);
	}

	.help-link.svelte-1khxabk:hover {
		color: var(--color-text-secondary);
		opacity: var(--opacity-hover);
	}

	.help-link.svelte-1khxabk svg {
		flex-shrink: 0;
		display: block;
	}

	.help-link[data-variant="icon"].svelte-1khxabk {
		min-width: var(--height-button);
		min-height: var(--height-button);
	}

	.help-link[data-size="compact"].svelte-1khxabk {
		font-size: var(--font-size-sm);
	}

	.help-link[data-size="compact"].svelte-1khxabk svg {
		width: 1rem;
		height: 1rem;
	}

	.help-link[data-size="default"].svelte-1khxabk {
		font-size: var(--font-size-button);
	}

	.help-link[data-size="default"].svelte-1khxabk svg {
		width: var(--icon-size-button);
		height: var(--icon-size-button);
	}

	.help-link[data-variant="default"][data-size="default"].svelte-1khxabk {
		/* Match text-button footers: readable control, not icon-only chrome. */
		padding: 0;
	}

	.help-link-text.svelte-1khxabk {
		white-space: nowrap;
	}

	.error.svelte-kvm0sp {
		color: var(--color-error);
		font-size: var(--font-size-xs);
	}

	textarea.svelte-1qrxj9z {
		all: unset;
		box-sizing: border-box;
		display: block;
		font-family: var(--font-family);
		font-size: var(--font-size-md);
		width: 100%;
		resize: vertical;
		&[data-view="form"] {
			/* `all: unset` + `field-sizing: content` ignore the HTML `rows`
			   attribute; keep content sizing but floor height to `rows`. */
			field-sizing: content;
			min-height: calc(var(--rows) * 1lh + (var(--height-field) - 1lh));
			border: var(--border-default);
			border-radius: var(--border-radius);
			/* `--padding-field` is horizontal-only; text inputs get vertical inset
			   from `height` + browser centering. Match that inset here. */
			padding: var(--padding-field);
			padding-block: calc((var(--height-field) - 1lh) / 2);
			line-height: var(--line-height);
		}
		/* Match TextField cell: fill the td (TableCell zeroes padding for > textarea). */
		&[data-view="cell"] {
			display: block;
			width: 100%;
			height: 100%;
			min-height: var(--height-row);
			padding: var(--table-cell-padding);
			/* Inputs center text via fixed height; textarea needs an explicit inset. */
			padding-block: calc((var(--height-row) - 1lh) / 2);
			border: 1px solid transparent;
			line-height: var(--line-height);
			resize: none;
			overflow: hidden;
		}
		&[data-view="form"]:focus,
		&[data-view="cell"]:focus {
			outline: none;
			border-color: var(--color-focus);
		}
	}

	.checkbox-row.svelte-153lua6 {
		all: unset;
		box-sizing: border-box;
		height: var(--height-toggle);
		display: inline-flex;
		align-items: center;
		gap: var(--gap-button);
		/* No horizontal padding — share the same left edge as TextField etc. */
		padding: 0;
		font-size: var(--font-size-button);
		font-weight: var(--font-weight-normal);
		line-height: var(--line-height-button);
		cursor: pointer;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		text-decoration: none;
		color: var(--color-text-secondary);
		width: auto;
		max-width: 100%;
	}

	.checkbox-row.full-width.svelte-153lua6 {
		width: 100%;
		height: auto;
		min-height: var(--height-toggle);
		white-space: normal;
		align-items: center;
	}

	.checkbox-row.full-width.svelte-153lua6 label {
		white-space: normal;
	}

	.checkbox-row.svelte-153lua6:hover {
		color: var(--color-text-primary);
	}

	.checkbox-row.checked.svelte-153lua6 {
		color: var(--color-text-primary);
		font-weight: var(--font-weight-bold);
	}

	.checkbox-row.svelte-153lua6 label {
		flex: 1;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		text-decoration: none;
		color: inherit;
		font-weight: inherit;
		font-size: inherit;
		line-height: inherit;
		cursor: inherit;
	}

	[data-checkbox-root] {
		all: unset;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		cursor: pointer;
	}

    .sidebar-title.svelte-d90xfo {
        grid-column: span 12;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: var(--spacing-md);
        @media (max-width: 768px) {
            grid-column: span 7;
        }
    }

	[data-dialog-overlay] {
		position: fixed;
		inset: 0;
		background-color: rgba(0, 0, 0, 0.4);
		backdrop-filter: blur(1px);
		z-index: var(--z-index-modal-overlay);
	}

	[data-dialog-content] {
		position: fixed;
		left: 50%;
		top: 10vh;
		transform: translateX(-50%);
		z-index: calc(var(--z-index-modal-overlay) + 1);
	}

	[data-dialog-content] > div {
		background-color: var(--color-bg-modal);
		border-radius: var(--border-radius);
		border: var(--border-default);
		box-shadow: var(--shadow-popover);
		padding: var(--spacing-lg);
		/* dvh: track the visual viewport when mobile browser chrome collapses. */
		max-height: 80dvh;
		width: fit-content;
		max-width: 1000px;
		min-width: 400px;
		box-sizing: border-box;
		overflow: hidden;

		@media (max-width: 768px) {
			width: 90vw;
			/* 400px min-width would overflow narrow phones. */
			min-width: 0;
		}
	}

	[data-modal-body] {
		overflow-y: auto;
		overflow-x: hidden;
		flex: 1;
		min-height: 0;
		min-width: 0;
		max-width: 100%;
	}

	.tag.svelte-7csped {
		border-radius: var(--border-radius);
		padding: 0px 8px;
		display: flex;
		align-items: center;
		gap: 4px;
		height: 16px;
		width: fit-content;
		color: var(--color-text-secondary);
	}

	.tag-text.svelte-7csped {
		font-size: 9px;
		line-height: 16px;
		text-wrap: nowrap;
	}

	a.svelte-dn358a {
		all: unset;
		box-sizing: border-box;
		height: var(--height-navlink);
		display: inline-flex;
		align-items: center;
		gap: var(--gap-button);
		padding: var(--padding-navlink);
		font-size: var(--font-size-button);
		line-height: 1;
		font-weight: var(--font-weight-normal);
		cursor: pointer;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		text-decoration: none;
		text-transform: capitalize;
		width: 100%;
		border-radius: var(--border-radius);
		color: var(--color-text-primary);
		&:focus {
			outline: none;
		}
		&:disabled {
			opacity: var(--opacity-disabled);
			cursor: not-allowed;
			pointer-events: none;
		}
		&:hover {
			background-color: var(--color-bg-hover);
		}
		&[data-active="true"] {
			background-color: var(--color-bg-hover);
			font-weight: var(--font-weight-bold);
		}
		&[data-child="true"] {
			margin-left: var(--spacing-md);
			padding-left: var(--spacing-sm);
		}
	}

	nav.svelte-1mjxzez {
		grid-area: nav;
		width: var(--width-drawer);
		border-right: var(--border-default);
		display: flex;
		padding: var(--padding-sidebar);
		flex-direction: column;
		gap: var(--spacing-md);
	}

    button.svelte-1qr8jmr {
        all: unset;
        box-sizing: border-box;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        border-radius: var(--border-radius);
        cursor: pointer;
        text-decoration: none;
        width: var(--height-action-button);
        height: var(--height-action-button);
        &:hover {
            opacity: var(--opacity-hover);
        }
        &:disabled {
            opacity: var(--opacity-disabled);
            cursor: not-allowed;
            pointer-events: none;
        }
        &[data-active="true"] {
            background-color: var(--color-bg-hover);
        }
    }

    /* Variant styles - same structure as Button.svelte */
    [data-variant="default"].svelte-1qr8jmr {
        border: var(--border-default);
    }

    [data-variant="transparent"].svelte-1qr8jmr {
        border: var(--border-width) solid transparent;
        background-color: transparent;
    }

    [data-variant="text"].svelte-1qr8jmr {
        border: none;
        background-color: transparent;
    }
    [data-severity="error"].svelte-1qr8jmr {
        background-color: var(--color-bg-error);
        border-color: var(--color-text-error);
        color: var(--color-text-error);
    }

    [data-severity="warning"].svelte-1qr8jmr {
        border-color: var(--color-text-warning);
        background-color: var(--color-bg-warning);
        color: var(--color-text-warning);
    }

    [data-severity="success"].svelte-1qr8jmr {
        border-color: var(--color-text-success);
        background-color: var(--color-bg-success);
        color: var(--color-text-success);
    }

    [data-severity="info"].svelte-1qr8jmr {
        border-color: var(--color-text-info);
        background-color: var(--color-bg-info);
        color: var(--color-text-info);
    }

    [data-severity="default"].svelte-1qr8jmr {
        border-color: var(--color-border);
        color: var(--color-text-secondary);
    }

	footer.svelte-14z3edh {
		grid-area: footer;
		border-top: var(--border-default);
		height: var(--height-footer);
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 var(--spacing-sm);
		position: relative;
	}

	.footer-content.svelte-14z3edh {
		min-width: 0;
	}

	.footer-logo.svelte-14z3edh {
		height: calc(var(--height-footer) - 20px);
	}

	.changelog-link.svelte-14z3edh {
		color: var(--color-text-secondary);
		font-size: var(--font-size-sm);
		text-decoration: underline;
		cursor: pointer;
		&:hover {
			color: var(--color-text-primary);
		}
	}

	header.svelte-133bfxf {
		grid-area: header;
		/* Extend under the status bar (viewport-fit=cover); content stays below it. */
		height: calc(var(--height-header) + env(safe-area-inset-top, 0px));
		padding-top: env(safe-area-inset-top, 0px);
	}

	.header-content.svelte-133bfxf {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 100%;
		padding-left: max(var(--spacing-md), env(safe-area-inset-left, 0px));
		padding-right: max(var(--spacing-md), env(safe-area-inset-right, 0px));
	}

	.breadcrumbs-shell.svelte-157k7ov {
		grid-area: breadcrumbs;
		position: relative;
		height: var(--height-breadcrumbs);
		min-width: 0;
		z-index: var(--z-index-dropdown);
	}

	.breadcrumbs.svelte-157k7ov {
		height: 100%;
		display: flex;
		align-items: center;
		padding-left: max(var(--spacing-md), env(safe-area-inset-left, 0px));
		padding-right: max(var(--spacing-md), env(safe-area-inset-right, 0px));
		border-bottom: var(--border-default);
		gap: var(--spacing-sm);
		/* Containing block for any overlay a `rightAction` renders (e.g. the
		   secondary-menu panel), so it spans the full bar width. */
		position: relative;
	}

	.breadcrumb-trail.svelte-157k7ov {
		flex: 1 1 0%;
		min-width: 0;
		display: flex;
		align-items: center;
		gap: var(--spacing-xs);
		overflow: hidden;
		/* Sole size source for the trail: the icon is a 1em svg and crumbs
		   inherit through `all: unset`, so icon, slash and text stay in step. */
		font-size: var(--font-size-breadcrumb);
		line-height: 1;
	}

	.separator.svelte-157k7ov {
		flex: 0 0 auto;
		color: var(--color-text-secondary);
		font-weight: var(--font-weight-normal);
	}

	.breadcrumbs-end.svelte-157k7ov {
		display: flex;
		align-items: center;
		gap: var(--spacing-sm);
		flex-shrink: 0;
		margin-left: auto;
	}

	.breadcrumb.svelte-157k7ov {
		all: unset;
		/* Block, not flex: `text-overflow` only applies to block containers,
		   and the trail already centres each crumb. */
		display: block;
		max-width: 14rem;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-weight: var(--font-weight-bold);
		color: var(--color-text-primary);
		flex: 0 1 auto;
		min-width: 0;
	}

	a.breadcrumb.svelte-157k7ov {
		cursor: pointer;
	}

	.home-icon.svelte-157k7ov {
		flex: 0 0 auto;
	}

	/* Attributes cannot resolve `var()`, so size the glyph in CSS — 1em tracks
	   the trail font size. */
	.home-icon.svelte-157k7ov svg {
		display: block;
		width: 1em;
		height: 1em;
	}

	/* No box of its own — the controls sit directly in the breadcrumbs end
	   slot, and the panel positions against the breadcrumbs bar. */
	.breadcrumb-actions.svelte-1ygsfke {
		display: contents;
	}

	.secondary-menu-trigger.svelte-1ygsfke {
		all: unset;
		box-sizing: border-box;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		/* Mobile/tablet-only control — keep the tap target at least 40px. */
		width: max(1.75rem, 40px);
		height: max(1.75rem, 40px);
		border-radius: var(--border-radius);
		cursor: pointer;
		color: inherit;
	}

	.secondary-menu-trigger.svelte-1ygsfke:hover {
		background: var(--color-bg-hover);
	}

	.secondary-menu-trigger.svelte-1ygsfke svg {
		display: block;
		width: 1.25em;
		height: 1.25em;
	}

	.secondary-menu-panel.svelte-1ygsfke {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: min(50dvh, calc(var(--height-content) * 0.5));
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--color-bg-secondary);
		border-bottom: var(--border-default);
		padding: var(--spacing-md);
		box-sizing: border-box;
		opacity: 1;
		transform: translateY(0);
		transition:
			opacity var(--panel-transition),
			transform var(--panel-transition);
	}

	.secondary-menu-panel.is-closed.svelte-1ygsfke {
		opacity: 0;
		transform: translateY(-0.5rem);
		pointer-events: none;
		visibility: hidden;
	}

	@media (prefers-reduced-motion: reduce) {
		.secondary-menu-panel.svelte-1ygsfke {
			transition: none;
		}
	}

	.secondary-menu-panel.svelte-1ygsfke > * {
		min-width: 0;
		max-width: 100%;
	}

	.bottom-drawer.svelte-hfnoo {
		/* Size to nav rows; max-height drives open/close animation + scroll cap. */
		height: auto;
		max-height: calc(var(--height-footer) + env(safe-area-inset-bottom, 0px));
		/* Keep nav buttons above the home indicator (viewport-fit=cover). */
		padding-bottom: env(safe-area-inset-bottom, 0px);
		display: flex;
		flex-direction: column;
		position: fixed;
		bottom: 0;
		background: var(--color-bg-secondary);
		border-top: var(--border-default);
		left: 0;
		right: 0;
		max-width: 100vw;
		overflow: hidden;
		contain: layout style;
		z-index: calc(var(--z-index-modal) + 1);
		transition: max-height var(--drawer-transition);

		&[data-drawer-mode="expanded"] {
			max-height: calc(
				var(--height-content) * 0.925 + env(safe-area-inset-bottom, 0px)
			);
		}
	}

	.bottom-drawer-menu-items.svelte-hfnoo {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-md);
		min-width: 0;
		min-height: 0;
		padding: var(--spacing-sm) var(--spacing-md);
		/* Do not grow to fill the drawer — height follows the grid. */
		flex: 0 1 auto;
		overflow-y: auto;
		overflow-x: hidden;
		scrollbar-gutter: stable;
	}

	.bottom-drawer-menu-items[data-drawer-mode="expanded"].svelte-hfnoo {
		padding: var(--spacing-md);
	}

	.bottom-drawer[data-drawer-mode="collapsed"].svelte-hfnoo .bottom-drawer-menu-items:where(.svelte-hfnoo) {
		overflow: hidden;
		scrollbar-gutter: auto;
	}

	.bottom-drawer-menu-grid.svelte-hfnoo {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		justify-items: center;
		gap: var(--spacing-md);
		flex-shrink: 0;
	}

	.bottom-drawer-placeholder.svelte-hfnoo {
		width: var(--bottom-drawer-button-width);
		height: var(--bottom-drawer-button-height);
	}

	.bottom-drawer-menu-grid.svelte-hfnoo button:where(.svelte-hfnoo),
	.bottom-drawer-menu-grid.svelte-hfnoo .bottom-drawer-toggle:where(.svelte-hfnoo) {
		all: unset;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-content: center;
		align-items: center;
		gap: 4px;
		justify-content: center;
		height: var(--bottom-drawer-button-height);
		width: var(--bottom-drawer-button-width);
		border-radius: var(--border-radius);
		cursor: pointer;
	}
	.bottom-drawer-menu-grid.svelte-hfnoo button[data-active="true"]:where(.svelte-hfnoo) {
		background-color: var(--color-bg-hover);
		font-weight: var(--font-weight-bold);
	}

	.bottom-drawer-menu-grid.svelte-hfnoo button:where(.svelte-hfnoo) svg,
	.bottom-drawer-menu-grid.svelte-hfnoo .bottom-drawer-toggle:where(.svelte-hfnoo) svg {
		display: block;
		flex-shrink: 0;
		width: calc(var(--bottom-drawer-button-height) * 0.45);
		height: calc(var(--bottom-drawer-button-height) * 0.45);
	}

	.bottom-drawer-menu-grid.svelte-hfnoo .bottom-drawer-toggle:where(.svelte-hfnoo) {
		flex-shrink: 0;
	}

	.bottom-drawer-button-label.svelte-hfnoo {
		font-size: 11px;
		/* Roboto ships 400/500 only and font-synthesis is off — 300 rendered as 400 anyway. */
		font-weight: var(--font-weight-normal);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: var(--bottom-drawer-button-width);
		min-width: 0;
		line-height: 1;
	}

	.dashboard.svelte-1jlf27a {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		display: grid;
		/* Header and footer rows absorb the device safe-area insets (see --height-content). */
		grid-template-rows:
			calc(var(--height-header) + env(safe-area-inset-top, 0px))
			var(--height-breadcrumbs) var(--height-content)
			calc(var(--height-footer) + env(safe-area-inset-bottom, 0px));
		grid-template-columns: var(--width-drawer) 1fr;
		grid-template-areas:
			"header header"
			"nav breadcrumbs"
			"nav main"
			"footer footer";

		@media (max-width: 1024px) {
			grid-template-columns: 1fr;
			grid-template-areas:
				"header"
				"breadcrumbs"
				"main"
				"footer";
			width: 100vw;
			max-width: 100vw;
			overflow-x: hidden;
		}
	}

	main.svelte-1jlf27a {
		grid-area: main;
		overflow: hidden;
		/* Keep content clear of landscape display cutouts. */
		padding-left: env(safe-area-inset-left, 0px);
		padding-right: env(safe-area-inset-right, 0px);
	}

	button.svelte-ytv9zu {
		all: unset;
		box-sizing: border-box;
		display: inline-flex;
		justify-content: center;
		align-items: center;
		border-radius: var(--border-radius);
		cursor: pointer;
		text-decoration: none;
		width: calc(var(--height-header) * 0.75);
		height: calc(var(--height-header) * 0.75);
		&:hover {
			opacity: var(--opacity-hover);
		}
		&:disabled {
			opacity: var(--opacity-disabled);
			cursor: not-allowed;
			pointer-events: none;
		}
		& svg {
			display: block;
			flex-shrink: 0;
			width: calc(var(--height-header) * 0.4);
			height: calc(var(--height-header) * 0.4);
		}
	}

	.avatar.svelte-1g6nk72 {
		box-sizing: border-box;
		border-radius: var(--border-radius);
		overflow: hidden;
		display: grid;
		place-items: center;
		flex-shrink: 0;
	}

	.avatar-fallback-bg.svelte-1g6nk72 {
		background-color: var(--color-bg-action);
	}

	.avatar-fallback.svelte-1g6nk72 {
		color: var(--color-text-primary);
		font-weight: var(--font-weight-bold);
		text-transform: uppercase;
		line-height: 1;
		text-align: center;
		display: grid;
		place-items: center;
		width: 100%;
		height: 100%;
	}

	.avatar-image.svelte-1g6nk72 {
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		object-position: center;
		display: block;
	}

	.avatar-icon.svelte-1g6nk72 svg {
		width: 55%;
		height: 55%;
		display: block;
	}

	.header-title.svelte-1p07cqk {
		display: flex;
		align-items: center;
		gap: 9px;

		&[data-interactive="true"] {
			cursor: pointer;
		}
	}

	.team-change-text.svelte-1p07cqk {
		display: flex;
		flex-direction: column;
		gap: 2px;
	}

	.team-change-name.svelte-1p07cqk {
		font-size: var(--font-size-lg);
		font-weight: var(--font-weight-bold);
		color: white;
		line-height: 1;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		min-width: 0;

		@media (max-width: 768px) {
			font-size: var(--font-size-lg);
		}
	}

	.team-change-description.svelte-1p07cqk {
		font-size: var(--font-size-sm);
		color: white;
		line-height: 1.05;
		display: -webkit-box;
		line-clamp: 2;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	input.svelte-1jfznic {
		all: unset;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		gap: var(--spacing-sm);
		font-family: var(--font-family);
		font-size: var(--font-size-md);

		&[data-view="form"] {
			height: var(--height-field);
			border: var(--border-default);
			border-radius: var(--border-radius);
			padding: var(--padding-field);
			width: 100%;
		}

		&[data-view="cell"] {
			display: block;
			width: 100%;
			height: 100%;
			min-height: var(--height-row);
			padding: var(--table-cell-padding);
			border: 1px solid transparent;
		}

		&[data-view="card"] {
			height: var(--height-field-card);
		}

		&[data-view="form"]:focus,
		&[data-view="cell"]:focus {
			outline: none;
			border-color: var(--color-focus);
		}
		&[data-view="card"] {
			height: var(--height-card);
		}
	}

	.alert-wrapper.svelte-1cof4pf {
		pointer-events: auto;
	}

	.alert.svelte-1cof4pf {
		position: relative;
		display: flex;
		padding: var(--spacing-sm) var(--spacing-md);
		font-size: var(--font-size-md);
		font-weight: var(--font-weight-bold);
		border-radius: var(--border-radius);
		border: 1px solid;
		align-items: center;
		justify-content: space-between;
		gap: var(--spacing-sm);

		--after-background-color: var(--color-bg-secondary);
		--after-radius: var(--border-radius);
	}

	.alert.svelte-1cof4pf::before {
		content: "";
		position: absolute;
		inset: 0;
		border-radius: var(--after-radius);
		background-color: var(--after-background-color);
		z-index: -1;
	}

	button.svelte-1cof4pf {
		all: unset;
		height: 14px;
		width: 14px;
		cursor: pointer;
		&:hover {
			opacity: var(--opacity-hover);
		}
	}

	[data-severity="error"].svelte-1cof4pf {
		background-color: var(--color-bg-error);
		border-color: var(--color-text-error);
		color: var(--color-text-error);
	}

	[data-severity="warning"].svelte-1cof4pf {
		border-color: var(--color-text-warning);
		background-color: var(--color-bg-warning);
		color: var(--color-text-warning);
	}

	[data-severity="success"].svelte-1cof4pf {
		border-color: var(--color-text-success);
		background-color: var(--color-bg-success);
		color: var(--color-text-success);
	}

	[data-severity="info"].svelte-1cof4pf {
		border-color: var(--color-text-info);
		background-color: var(--color-bg-info);
		color: var(--color-text-info);
	}

	[data-severity="default"].svelte-1cof4pf {
		border-color: var(--color-border);
		color: var(--color-text-secondary);
	}

	@keyframes svelte-1cof4pf-progress {
		from {
			transform: scaleX(0);
		}

		to {
			transform: scaleX(1);
		}
	}

	.alert-portal.svelte-ep37ml {
		z-index: var(--z-index-alert);
		position: fixed;
		inset-block-end: 0;
		inset-inline-end: var(--spacing-sm);
		display: flex;
		/* Oldest (first in items) at bottom; newer alerts stack upward. */
		flex-direction: column-reverse;
		align-items: flex-end;
		gap: var(--spacing-sm);
		max-height: 100dvh;
		padding-block: var(--spacing-sm);
		box-sizing: border-box;
		pointer-events: none;
		overflow: hidden;
	}

	.checkbox-field.svelte-10102gm {
		min-width: 0;
	}

	/* Match TextField / SelectField form control geometry. */
	.checkbox-field.form-chrome.svelte-10102gm {
		box-sizing: border-box;
		display: flex;
		align-items: center;
		width: 100%;
		min-height: var(--height-field);
		border: var(--border-default);
		border-radius: var(--border-radius);
		/* `--padding-field` is horizontal-only; add modest vertical inset so
		   wrapped labels are not flush against the border. */
		padding: var(--padding-field);
		padding-block: var(--spacing-xs);
	}

	.checkbox-field.form-chrome.svelte-10102gm .checkbox-row {
		width: 100%;
		height: auto;
		min-height: 0;
		white-space: normal;
		/* First-line icon alignment (settings/cell stay centered via CheckBox). */
		align-items: flex-start;
		line-height: var(--line-height);
		overflow: visible;
	}

	.checkbox-field.form-chrome.svelte-10102gm .checkbox-row label {
		white-space: normal;
		text-overflow: unset;
		overflow: visible;
	}

	/* Same metrics as the label so `1lh` pins the control to the first line. */
	.checkbox-field.form-chrome.svelte-10102gm [data-checkbox-root] {
		line-height: inherit;
		height: 1lh;
	}

	.checkbox-field[data-view="cell"].svelte-10102gm {
		display: inline-flex;
		padding: var(--table-cell-padding);
	}

    .actions.svelte-duca9q {
        display: flex;
        gap: var(--spacing-sm);
        justify-content: flex-end;
        flex: 1;
    }

	[data-radio-group-root] {
		display: flex;
		align-items: center;
		/* gap: var(--spacing-sm); */
	}

	[data-radio-group-root][data-orientation="vertical"] {
		flex-direction: column;
	}

	[data-radio-group-item] {
		all: unset;
		box-sizing: border-box;
		height: var(--height-toggle);
		display: inline-flex;
		align-items: center;
		gap: var(--gap-button);
		padding: var(--padding-button);
		font-size: var(--font-size-button);
		font-weight: var(--font-weight-normal);
		line-height: var(--line-height-button);
		cursor: pointer;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		text-decoration: none;
		color: var(--color-text-secondary);
		width: 100%;
	}

	[data-radio-group-item]:hover {
		color: var(--color-text-primary);
		background-color: var(--color-bg-hover);
	}

	[data-radio-group-item][data-state="checked"] {
		color: var(--color-text-primary);
		background-color: var(--color-bg-hover);
		font-weight: var(--font-weight-bold);
	}

	[data-popover-trigger] {
		all: unset;
		cursor: pointer;
		display: flex;
	}

	[data-popover-content] {
		background-color: var(--color-bg-modal);
		border: var(--border-default);
		border-radius: var(--border-radius);
		box-shadow: var(--shadow-popover);
		color: var(--color-text-primary);
	}

	.team-change-content.svelte-sj719z {
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		gap: var(--spacing-md);
		grid-auto-flow: row dense;
		padding: var(--spacing-md);

		@media (max-width: 768px) {
			width: 100%;
			max-width: 100%;
			box-sizing: border-box;
		}
	}

	button.svelte-sj719z {
		all: unset;
		cursor: pointer;
		grid-column: span 4;
		height: 80px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: var(--spacing-sm);
		border-radius: var(--border-radius);
		padding: var(--spacing-sm);

		&:hover {
			opacity: var(--opacity-hover);
		}
	}

	.team-change-label.svelte-sj719z {
		font-size: var(--font-size-sm);
		font-weight: var(--font-weight-bold);
		text-align: center;
		min-width: 95px;
		max-width: 95px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		color: white;
	}

	button.team-change-create-team.svelte-sj719z {
		all: unset;
		box-sizing: border-box;
		cursor: pointer;
		height: var(--height-button);
		width: 100%;
		border-radius: var(--border-radius-md);
		padding: var(--padding-button);
		color: var(--color-text-secondary);
		justify-content: center;
		text-decoration: none;
		align-items: center;
		display: flex;
		gap: var(--spacing-sm);
		&:hover {
			background-color: var(--color-bg-hover);
		}
	}

	.header-button-badge.svelte-12xg8bo {
		position: relative;
		display: inline-flex;
	}
	.badge.svelte-12xg8bo {
		position: absolute;
		top: 0;
		right: 0;
		transform: translate(25%, -25%);
		min-width: 1rem;
		height: 1rem;
		padding: 0 0.25rem;
		border-radius: 999px;
		background: var(--color-danger);
		color: var(--color-text-primary);
		font-size: 0.625rem;
		font-weight: 600;
		line-height: 1rem;
		text-align: center;
		pointer-events: none;
	}

    button.svelte-haysnr {
        all: unset;
        box-sizing: border-box;
        height: var(--height-button);
        width: var(--width-button);
        display: inline-flex;
        justify-content: center;
        align-items: center;
        gap: var(--gap-button);
        padding: var(--spacing-xs);
        font-size: var(--font-size-button);
        font-weight: var(--font-weight-bold);
        line-height: var(--line-height-button);
        cursor: pointer;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-decoration: none;
        transition: var(--transition-hover);

        &:hover {
            opacity: var(--opacity-hover);
        }
        &:focus {
            outline: none;
        }
        &:active {
            opacity: var(--opacity-hover);
        }
        &:disabled {
            opacity: var(--opacity-disabled);
            cursor: not-allowed;
            pointer-events: none;
        }
    }
    [data-severity="error"].svelte-haysnr {
        color: var(--color-text-error);
    }

    [data-severity="warning"].svelte-haysnr {
        color: var(--color-text-warning);
    }

    [data-severity="success"].svelte-haysnr {
        color: var(--color-text-success);
    }

    [data-severity="info"].svelte-haysnr {
        color: var(--color-text-info);
    }

    [data-severity="default"].svelte-haysnr {
        color: var(--color-text-secondary);
    }
    button.svelte-haysnr:not(:last-child) {
        margin-right: var(--spacing-xs);
    }

	a.list-item.svelte-20hy4q,
	button.list-item.svelte-20hy4q {
		min-height: var(--height-inbox-item);
		padding: var(--spacing-xs) var(--spacing-sm);
		text-decoration: none;
		color: var(--color-text-primary);
		box-sizing: border-box;
		min-width: 0;
		border: none;
		background: transparent;
		font: inherit;
		text-align: left;
		cursor: pointer;
		align-items: center;
	}
	.list-item-icon.svelte-20hy4q {
		display: inline-flex;
		flex-shrink: 0;
		align-items: center;
		justify-content: center;
		line-height: 1;
	}
	.list-item-body.svelte-20hy4q {
		display: flex;
		flex-direction: column;
		gap: 0;
		min-width: 0;
		flex: 1;
		line-height: 1.2;
	}
	.list-item-top.svelte-20hy4q {
		min-width: 0;
		width: 100%;
	}
	.list-item-label.svelte-20hy4q {
		min-width: 0;
		flex: 1;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		line-height: 1.25;
	}
	.list-item[data-color="error"].svelte-20hy4q .list-item-label:where(.svelte-20hy4q) {
		color: var(--color-text-error);
	}
	.list-item-meta-row.svelte-20hy4q {
		min-width: 0;
		width: 100%;
	}
	.list-item-meta.svelte-20hy4q {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-size: var(--font-size-xs);
		line-height: 1.25;
		color: var(--color-text-secondary);
	}
	a.list-item.svelte-20hy4q:hover,
	button.list-item.svelte-20hy4q:hover {
		background-color: var(--color-bg-hover);
	}
	a.list-item[data-active="true"].svelte-20hy4q,
	button.list-item[data-active="true"].svelte-20hy4q {
		background-color: var(--color-bg-hover);
		font-weight: var(--font-weight-bold);
	}

	.search-input.svelte-sg26o1 {
		all: unset;
		flex: 1;
		min-width: 0;
		width: 100%;
	}
	.search-input-container.svelte-sg26o1 {
		height: var(--height-button);
		padding: 0 var(--spacing-sm);
		border-radius: var(--border-radius);
		border: 1px solid var(--color-border);
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: var(--spacing-sm);
		transition: border-color 0.2s ease-in-out;
		overflow: hidden;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
	}
	.search-input-container.svelte-sg26o1:focus-within {
		border-color: var(--color-focus);
	}

	.search-input-clear.svelte-sg26o1 {
		all: unset;
		cursor: pointer;
		padding: var(--spacing-sm);
		border-radius: var(--border-radius);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.help-doc-body.svelte-188vc4f {
		max-height: min(60vh, 32rem);
		overflow-y: auto;
		text-align: left;
	}

	/* Override prose styles for modal */
	.help-doc-body-content.svelte-188vc4f h2 {
		font-size: var(--font-size-md) !important;
		margin-block-end: var(--spacing-sm) !important;
	}
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Only remove outline on hover, not on focus states (for keyboard navigation accessibility) */
*:hover {
    outline: none !important;
}

:root {
    /* Font */
    --font-family: 'Roboto', system-ui, sans-serif;
    --font-weight-normal: 400;
    --font-weight-bold: 500;
    --font-weight-button: var(--font-weight-bold);

    /* Letter Spacing */
    --letter-spacing: 0.025em;

    /* Line Heights */
    --line-height: 1.425;
    --line-height-prose: 1.5;
    --line-height-heading: 1.2;
    --line-height-button: 100%;

    /* Height */
    /* Note: --height-header and --height-breadcrumbs are defined in responsive files (breakpoint-mobile.css, breakpoint-tablet.css, breakpoint-desktop.css) */
    /* Note: --height-footer for mobile (bottom drawer) is defined in breakpoint-mobile.css */
    --height-footer: var(--height-header);
    --bottom-drawer-button-height: calc(var(--height-header) * 0.85);
    --bottom-drawer-button-width: calc(var(--bottom-drawer-button-height) * 1.35);
    /* Safe-area insets (notch / home indicator) are absorbed by the header and footer rows, so subtract them here too. env() is 0 outside viewport-fit=cover. */
    --height-content: calc(100dvh - calc(var(--height-header) + var(--height-breadcrumbs) + var(--height-footer)) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    --height-content-website: calc(100dvh - calc(var(--height-header-website)));
    --height-content-website-marketing: calc(100dvh - calc(var(--height-header-website-marketing)));

    --height-icon: calc(var(--height-button) * 0.5);

    --height-checkbox: 1.15rem;
    --height-menu-item: 32px;
    --height-header-website: 56px;
    --height-header-website-marketing: 90px;

    /* Width */
    --width-drawer: 275px;
    --width-drawer-docs: 350px;
    /* Icon-only table actions — match button height so touch targets stay square. */
    --width-button: var(--height-button);

    /* Opacity */
    --opacity-disabled: 0.5;
    --opacity-hover: 0.8;

    /* Border */
    --border-radius: 4px;
    --border-radius-input: 9px;
    --border-width: 1px;
    --border-width-thin: 0.5px;
    --border-default: var(--border-width) solid var(--color-border);

    /* Transition */
    --transition-hover: opacity 0.035s ease-in-out;

    /* Z-index
       BlankPage (auth / create-join) uses `--z-index-progress`. Modals and
       alerts must stack above that or they open invisibly behind onboarding.
       Portaled selects/menus use `--z-index-dropdown` above modals so they
       remain visible inside Dialog content. */
    --z-index-progress: 1003;
    --z-index-modal-overlay: 1004;
    --z-index-modal: 1005;
    --z-index-dropdown: 1006;
    --z-index-alert: 1007;
    --z-index-tooltip: 1008;

    --color-primary-bg: rgb(from var(--color-primary) r g b / 0.1);

    /* Universal Colors */
    --color-white: rgb(255, 255, 255);
    --color-black: rgb(0, 0, 0);

    /* Brand Colors */
    --color-austere: rgb(167, 86, 32);
    --color-universal-grey: rgb(119, 119, 119);

    /* Icon Size */
    --icon-size-default: 18px;
    --icon-size-table: calc(var(--height-row) * 0.5);
    --icon-size-field: calc(var(--height-field) * 0.5);
    --icon-size-button: calc(var(--height-button) * 0.475);
    --icon-size-navlink: calc(var(--height-navlink) * 0.6);

    /* Filters */
    --filter-subdued: saturate(0.725) contrast(0.875) opacity(0.875);

    --gap-button: 6px;
    /* Focus */
    --color-focus: var(--color-text-primary);
}

html,
body {
    font-optical-sizing: auto;
    font-weight: var(--font-weight-normal);
    font-style: normal;
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
    font-family: var(--font-family);
    font-size: var(--root-font-size);
    line-height: var(--line-height);
    letter-spacing: var(--letter-spacing);
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    overflow: hidden;
    scroll-behavior: smooth;
    overscroll-behavior: none;
    font-feature-settings: normal;
    font-variation-settings: normal;
    text-size-adjust: 100%;
    height: 100%;
    width: 100%;
    position: fixed;
}

#root {
    /* fallback for older browsers */
    height: 100vh;
    /* modern browsers */
    height: 100svh;
}

.hidden {
    display: none !important;
}

/** Hide on phone widths; keep the node in the DOM for tablet/desktop (see frontend review). */
@media screen and (max-width: 768px) {
    .hide-mobile {
        display: none !important;
    }
}

html,
body,
div,
h1,
h2,
h3,
h4,
h5,
img,
span {
    margin: 0;
    padding: 0;
    /* box-sizing already set by * selector above */
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: var(--font-weight-bold);
}

span,
p {
    font-family: var(--font-family);
    font-size: var(--font-size-md);
}

.spacer {
    flex: 1;
}

h3 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
}

hr {
    border: 0;
    border-top: var(--border-default);
    margin: 0;
}

/*
 * Width constraint for readable line length. Put .scroll-y on a full-width ancestor
 * so the scrollbar sits on the viewport edge; nest .container inside that region.
 */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: var(--spacing-md);
    padding-right: var(--spacing-md);

}

.full-width {
    width: 100%;
}

li {
    font-size: var(--font-size-md);
}

small,
label {
    font-size: var(--font-size-label);
    color: var(--color-text-secondary);
}

input {
    font-size: var(--font-size-md);
    font-family: var(--font-family);
}

.relative {
    position: relative;
}

/*
 * Vertical scroll region. Reserve gutter space so .container (margin: 0 auto) does not
 * shift horizontally when overflow appears between routes.
 */
.scroll-y {
    overflow-y: auto;
    scrollbar-gutter: stable;
}

/* Scrollbars */
/* Note: ::-webkit-scrollbar is a WebKit-specific pseudo-element selector (not a vendor-prefixed property)
   This is the standard way to style scrollbars in WebKit browsers.
   For Firefox, use scrollbar-width and scrollbar-color properties instead. */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--color-bg-hover) transparent;
}

::-webkit-scrollbar {
    width: 0.5em;
    height: 0.5em;
}

::-webkit-scrollbar-thumb {
    background-color: var(--color-bg-hover);
}
/*
 * Shared print styles for websites with printable content (docs topics, consultant CVs, etc.).
 * Import via global.css. Mark non-printable UI with .no-print.
 */
@media print {
    @page {
        margin: 0.75in;
    }

    .no-print {
        display: none !important;
    }

    html,
    body {
        position: static;
        overflow: visible;
        height: auto;
        color: #000000;
        background-color: transparent;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-family: Arial, Helvetica, sans-serif;
        font-weight: bold;
        line-height: 1.15;
        color: #000000 !important;
    }

    h1 {
        font-size: 1.75rem !important;
    }

    h2 {
        font-size: 1.5rem !important;
    }

    h3 {
        font-size: 1.25rem !important;
    }

    h4 {
        font-size: 1.125rem !important;
    }

    h5 {
        font-size: 1rem !important;
    }

    h6 {
        font-size: 0.875rem !important;
    }

    /* Markdown autolink headings wrap text in <a>; inherit heading typography */
    h1 a,
    h2 a,
    h3 a,
    h4 a,
    h5 a,
    h6 a,
    a.heading-anchor {
        font-size: inherit !important;
        line-height: inherit !important;
        font-weight: inherit !important;
        color: inherit !important;
    }

    p,
    li {
        color: #000000 !important;
        font-size: 0.9rem !important;
        line-height: 1.2 !important;
    }

    p a,
    li a {
        font-size: inherit !important;
        line-height: inherit !important;
        color: #000000 !important;
    }

    /* Tables */
    table {
        width: 100% !important;
        border-collapse: collapse !important;
        table-layout: auto !important;
        display: table !important;
        overflow: visible !important;
        page-break-inside: auto;
    }

    .prose table {
        display: table !important;
    }

    thead {
        display: table-header-group !important;
    }

    tbody {
        display: table-row-group !important;
    }

    tr {
        display: table-row !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    th,
    td {
        display: table-cell !important;
        border: 1px solid #000000 !important;
        padding: 0.4rem 0.5rem !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        font-size: 0.9rem !important;
        line-height: 1.3 !important;
        color: #000000 !important;
        vertical-align: top !important;
    }

    th {
        font-weight: bold !important;
        background-color: #eeeeee !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .check-cell {
        width: 2.75rem !important;
        min-width: 2.75rem !important;
        text-align: center !important;
        vertical-align: middle !important;
    }

    .check-cell:empty::before {
        content: "";
        display: inline-block;
        width: 0.85rem;
        height: 0.85rem;
        border: 1px solid #000000;
    }

    .quantity-cell {
        width: 4.5rem !important;
        min-width: 4.5rem !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .notes-cell {
        width: 35% !important;
        white-space: normal !important;
    }

    /* Docs app shell */
    .dashboard {
        position: static !important;
        display: block !important;
        overflow: visible !important;
    }

    .main-content {
        overflow: visible !important;
    }

    /* Printable article documents (e.g. consultant CV) */
    article {
        font-family: Arial, Helvetica, sans-serif;
        border: none;
        background-color: transparent;
        background: none;
        color: #000000 !important;
        padding: 0;
        position: relative;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 14px;
    }

    article li,
    article span,
    article a {
        font-size: 0.9rem !important;
        line-height: 1.2 !important;
    }

    .consultant-header-details-label {
        gap: 6px;
    }

    .consultant-header {
        display: flex;
        flex-direction: column;
        flex: 1;
        gap: 4px;
        justify-content: space-between;
    }

    .consultant-header-content {
        gap: 8px;
    }

    .consultant-header-title {
        margin: 0;
        line-height: 1;
        font-size: 1.8rem;
        font-weight: 700;
        color: #000000;
    }

    .consultant-header-description {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin: 0;
        line-height: 1;
        font-size: 1rem;
        font-weight: 400;
        color: #000000;
    }

    .consultant-top-row {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
    }

    .consultant-header-image {
        width: 160px;
        height: 160px;
        flex: 0 0 160px;
    }

    .consultant-summary {
        width: 100%;
        flex: 0 0 100%;
    }

    .consultant-section-half {
        width: calc((100% - 14px) / 2);
        flex: 0 0 calc((100% - 14px) / 2);
    }

    .consultant-header-details a {
        color: #000000;
    }
}
:root {

    /* Mobile */
    @media screen and (max-width: 768px) {
        --font-size-xs: 0.875rem;
        --font-size-sm: 1rem;
        /* 16px floor: iOS Safari zooms focused inputs below 16px (no-op for apps with >=16px roots). */
        --font-size-md: max(1.1rem, 16px);
        --font-size-lg: 1.25rem;
        --font-size-xl: 1.375rem;
        --font-size-2xl: 1.5rem;
        --font-size-3xl: 1.75rem;
        --font-size-4xl: 2.25rem;
        --font-size-label: 14px;
        --font-size-button: max(1rem, 14px);
        --font-size-breadcrumb: 1.25rem;

        /* Height */
        /* Two-line ListItem / inbox rows (label + meta). */
        --height-inbox-item: 44px;
        --height-header: 56px;
        --height-breadcrumbs: 52px;
        /* 44px touch-target floor (Apple HIG); no-op for apps with >=16px roots. */
        --height-button: max(calc(2.75 * var(--root-font-size, 16px)), 44px);
        --height-menu-item: 40px;
        --height-action-button: 32px;
        --height-rich-text-button: 24px;
        --height-navlink: 34px;
        --height-toggle: 28px;
        --height-button-help: 12px;
        --height-button-child: 28px;
        --height-field: max(calc(2.5 * var(--root-font-size, 16px)), 40px);
        --height-field-card: calc(var(--height-field) - var(--spacing-md));
        --height-map-marker: 18px;
        --height-row: 40px;
        --height-footer: calc(var(--spacing-sm) * 2 + var(--bottom-drawer-button-height));
        --height-table-head: 28px;

        /* Spacing */
        --spacing-xs: 4px;
        --spacing-sm: 8px;
        --spacing-md: 14px;
        --spacing-lg: 16px;
        --spacing-xl: 24px;
        --spacing-2xl: 32px;
        --spacing-prose: 1.25rem;

        /* Padding */
        --table-cell-padding: 0 var(--spacing-sm);
        --padding-button: 0 var(--spacing-md);
        --padding-navlink: 0 var(--spacing-sm);
        --padding-sidebar: var(--spacing-md);
        --padding-grid-cell: 0 var(--spacing-sm);
        --padding-field: 0 var(--spacing-sm);
    }
}
:root {

    /* Tablet */
    @media screen and (min-width: 769px) and (max-width: 1024px) {
        --font-size-xs: 0.8125rem;
        --font-size-sm: 0.9375rem;
        /* 16px floor: iOS/iPadOS Safari zooms focused inputs below 16px (no-op for apps with >=16px roots). */
        --font-size-md: max(1rem, 16px);
        --font-size-lg: 1.125rem;
        --font-size-xl: 1.25rem;
        --font-size-2xl: 1.5rem;
        --font-size-3xl: 1.875rem;
        --font-size-4xl: 2.25rem;
        --font-size-label: 12px;
        --font-size-button: var(--font-size-md, 0.875rem);
        --font-size-breadcrumb: 1.25rem;

        /* Height */
        /* Two-line ListItem / inbox rows (label + meta). */
        --height-inbox-item: 44px;
        --height-header: 52px;
        --height-breadcrumbs: 44px;
        /* 40px touch-target floor; no-op for apps with >=16px roots. */
        --height-button: max(calc(2.5 * var(--root-font-size, 16px)), 40px);
        --height-menu-item: 32px;
        --height-action-button: 32px;
        --height-rich-text-button: 24px;
        --height-toggle: 28px;
        --height-navlink: 30px;
        --height-button-help: 12px;
        --height-button-child: 28px;
        --height-field: max(calc(2.5 * var(--root-font-size, 16px)), 40px);
        --height-field-card: calc(var(--height-field) - var(--spacing-md));
        --height-map-marker: 16px;
        --height-row: 38px;
        --height-footer: calc(var(--spacing-md) * 2 + var(--bottom-drawer-button-height));
        --height-table-head: 28px;

        /* Spacing */
        --spacing-xs: 6px;
        --spacing-sm: 12px;
        --spacing-md: 16px;
        --spacing-lg: 24px;
        --spacing-xl: 32px;
        --spacing-2xl: 40px;
        --spacing-prose: 1.25rem;

        /* Padding */
        --table-cell-padding: 0 var(--spacing-sm);
        --padding-button: 0 var(--spacing-md);
        --padding-navlink: 0 var(--spacing-sm);
        --padding-sidebar: var(--spacing-md);
        --padding-grid-cell: 0 var(--spacing-sm);
        --padding-field: 0 var(--spacing-sm);

    }
}
:root {

    /* Desktop */
    @media screen and (min-width: 1025px) {
        --font-size-xs: 0.75rem;
        --font-size-sm: 0.875rem;
        --font-size-md: 1rem;
        --font-size-lg: 1.25rem;
        --font-size-xl: 1.425rem;
        --font-size-2xl: 1.5rem;
        --font-size-3xl: 1.75rem;
        --font-size-4xl: 2rem;
        --font-size-label: 13px;
        --font-size-button: 0.975rem;
        --font-size-breadcrumb: 1.25rem;

        /* Height */
        /* Two-line ListItem / inbox rows (label + meta). */
        --height-inbox-item: 44px;
        --height-button: calc(2.5 * var(--root-font-size, 16px));
        --height-menu-item: 32px;
        --height-action-button: 28px;
        --height-rich-text-button: 24px;
        --height-navlink: 28px;
        --height-toggle: 28px;
        --height-breadcrumbs: 42px;
        --height-button-help: 12px;
        --height-button-child: 28px;
        --height-header: 52px;
        --height-field: calc(2.25 * var(--root-font-size, 16px));
        --height-field-card: calc(var(--height-field) - var(--spacing-md));
        --height-map-marker: 14px;
        --height-row: 32px;
        --height-table-head: 28px;

        /* Spacing */
        --spacing-xs: 4px;
        --spacing-sm: 10px;
        --spacing-md: 18px;
        --spacing-lg: 26px;
        --spacing-xl: 34px;
        --spacing-2xl: 46px;
        --spacing-prose: 1.25rem;

        /* Padding */
        --table-cell-padding: 0 var(--spacing-sm);
        --padding-button: 0 var(--spacing-md);
        --padding-navlink: 0 var(--spacing-sm);
        --padding-sidebar: var(--spacing-md);
        --padding-grid-cell: 0 var(--spacing-sm);
        --padding-field: 0 var(--spacing-sm);
    }
}
:root[data-theme='dark'] {
    /* Dark Theme - maximum neutral separation, highly readable text */

    /* Background Colors */
    /* Base background used in the majority of the application */
    --color-bg-primary: #121212;
    /* Focus the user's attention on the content such as a form or document*/
    --color-bg-paper: #1d1d1d;
    /* Used to indicate a hover state or an active in a list. May be used on top of a primary or paper background */
    --color-bg-hover: #404040;
    /* Secondary background used for subtle emphasis, tables, and other secondary surfaces */
    --color-bg-secondary: rgb(30, 30, 30);
    /* Dropdown menus, selects, popups, modals. May be used on top of a primary or paper background */
    --color-bg-modal: #262626;
    /* Used to indicate an action item such as a button or link. May be used on top of a primary or paper background. Must be different to hover. */
    --color-bg-action: #555555;
    /* Universal border - noticeably darker now, gives confident separation on every surface without feeling heavy */
    --color-bg-tooltip: #333333;
    --color-border: rgb(100, 100, 100);

    /* Input-specific borders (lighter than main border) */
    --color-border-input: rgba(255, 255, 255, 0.17);
    --color-border-input-hover: rgba(255, 255, 255, 0.4);

    /* Shadows */
    --shadow-popover: 0px 7px 12px 3px rgba(0, 0, 0, 0.3);
    --shadow-date-field-focus: 0px 0px 0px 3px rgba(244, 244, 245, 0.1);
    --shadow-marker: 0px 0px 10px 0px rgba(255, 255, 255, 0.1);

    /* Text Colors */
    /* Primary text color used in the majority of the application */
    --color-text-primary: rgb(255, 255, 255);
    /* Secondary text color used to de-emphasize text. May be used on top of a primary or paper background */
    --color-text-secondary: rgb(220, 220, 220);

    /* Link Colors */
    --color-text-link: #52A8FF;
    --color-bg-link: #071A39;

    /* Status / Severity Colors (success, info, warning, error) */

    /* Success Colors */
    --color-text-success: #96e79d;
    --color-bg-success: #2c3b2d;

    /* Info Colors */
    --color-text-info: #52A8FF;
    --color-bg-info: #071A39;

    /* Warning Colors */
    --color-text-warning: #ff9500;
    --color-bg-warning: #291800;

    /* Error Colors */
    --color-text-error: #FF5F61;
    --color-bg-error: #310C11;
}
:root[data-theme='light'] {
    /* Background Colors */

    /* Base background used in the majority of the application */
    --color-bg-primary: rgb(249, 249, 249);
    /* Focus the user's attention on the content such as a form or document*/
    --color-bg-paper: rgb(252, 252, 252);
    /* Used to indicate a hover state or an active in a list. May be used on top of a primary or paper background */
    --color-bg-hover: rgb(238, 238, 238);
    /* Secondary background used for subtle emphasis, tables, and other secondary surfaces */
    --color-bg-secondary: rgb(245, 244, 244);
    /* Dropdown menus, selects, popups, modals. May be used on top of a primary or paper background */
    --color-bg-modal: rgb(255, 255, 255);
    /* Used to indicate an action item such as a button or link. May be used on top of a primary or paper background. Must be different to hover. */
    --color-bg-action: rgb(232, 232, 232);
    /* Universal border - noticeably darker now, gives confident separation on every surface without feeling heavy */
    --color-bg-tooltip: rgb(220, 220, 220);
    --color-border: rgb(192, 192, 192);

    /* Input-specific borders (lighter than main border) */
    --color-border-input: rgba(24, 24, 27, 0.17);
    --color-border-input-hover: rgba(24, 24, 27, 0.4);

    /* Shadows */
    --shadow-popover: 0px 7px 12px 3px rgba(0, 0, 0, 0.1);
    --shadow-date-field-focus: 0px 0px 0px 3px rgba(24, 24, 27, 0.17);
    --shadow-marker: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);

    /* Text Colors */

    /* Primary text color used in the majority of the application */
    --color-text-primary: rgb(10, 10, 10);
    /* Secondary text color used to de-emphasize text. May be used on top of a primary or paper background */
    --color-text-secondary: rgb(97, 97, 97);

    /* Link Colors */
    --color-text-link: #005ff2;
    --color-bg-link: #f0f7ff;

    /* Status / Severity Colors (success, info, warning, error) */

    /* Success Colors */
    --color-text-success: #54bd5c;
    --color-bg-success: #eef8ee;

    /* Info Colors */
    --color-text-info: #005ff2;
    --color-bg-info: #f0f7ff;

    /* Warning Colors */
    --color-text-warning: #A54F00;
    --color-bg-warning: #FFF6DF;

    /* Error Colors */
    --color-text-error: #D8343F;
    --color-bg-error: #FFEEEF
}
/* Roboto */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(./roboto-400.CNwBRw8h.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(./roboto-500.CkrA1NAy.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Flex */
.v-stack {
    display: flex;
    flex-direction: column;
}

.v-stack-xs {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.v-stack-sm {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.v-stack-md {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.v-stack-lg {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.v-stack-xl {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.v-stack-2xl {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xl);
}

.h-stack-sm {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.h-stack {
    display: flex;
    align-items: center;
}

.h-stack-xs {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.h-stack-md {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.h-stack-lg {
    display: flex;
    align-items: center;
    gap: var(--spacing-lg);
}

/* Nested list / tree hierarchy (e.g. inbox day → team → collection). */
.indent-sm {
    padding-inline-start: var(--spacing-sm);
}

.indent-md {
    padding-inline-start: var(--spacing-md);
}
/* Grid */
.grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
    gap: var(--spacing-md);
    grid-auto-flow: row dense;
    container-name: grid;
    container-type: inline-size;
    align-items: stretch;
}

.child-span-12 {
    grid-column: span 12;

    /* Collapse only in the narrowest form lane (e.g. Aside compact ~400px).
	   Middle (~800px) and expanded asides stay above this so span-6 tiles. */
    @container grid (max-width: 480px) {
        grid-column: span 12;
    }
}

.child-span-11 {
    grid-column: span 11;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }
}

.child-span-10 {
    grid-column: span 10;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }
}

.child-span-9 {
    grid-column: span 9;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }


}

.child-span-8 {
    grid-column: span 8;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }


}

.child-span-7 {
    grid-column: span 7;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }


}

.child-span-6 {
    grid-column: span 6;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }


}

.child-span-5 {
    grid-column: span 5;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }


}

.child-span-4 {
    grid-column: span 4;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }


}

.child-span-3 {
    grid-column: span 3;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }


}

.child-span-2 {
    grid-column: span 2;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }


}

.child-span-1 {
    grid-column: span 1;

    @container grid (max-width: 480px) {
        grid-column: span 12;
    }


}
/* Shared floating menu panel + items (dropdown, context, combobox, slash, inline). */

[data-dropdown-menu-trigger] {
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
}

[data-dropdown-menu-trigger][data-variant="icon"],
[data-dropdown-menu-trigger][data-variant="button"],
[data-dropdown-menu-trigger][data-variant="header"] {
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

[data-dropdown-menu-trigger][data-variant="icon"] {
	border-radius: var(--border-radius);
	text-decoration: none;
	width: var(--height-button);
	height: var(--height-button);
	min-width: var(--height-button);
	min-height: var(--height-button);
}

[data-dropdown-menu-trigger][data-variant="button"] {
	height: var(--height-button);
	gap: var(--gap-button);
	padding: var(--padding-button);
	border-radius: var(--border-radius);
	border: var(--border-default);
	font-size: var(--font-size-button);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-button);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-decoration: none;
	color: var(--color-text-primary);
	transition: var(--transition-hover);
}

[data-dropdown-menu-trigger][data-variant="header"] {
	color: white;
	height: var(--height-button);
	width: var(--height-button);
}

[data-dropdown-menu-trigger][data-variant="icon"]:hover,
[data-dropdown-menu-trigger][data-variant="button"]:hover,
[data-dropdown-menu-trigger][data-variant="button"]:active {
	opacity: var(--opacity-hover);
}

[data-dropdown-menu-trigger][data-variant="button"]:focus {
	outline: none;
}

[data-dropdown-menu-content],
.menu-positioner {
	z-index: var(--z-index-dropdown);
}

prosekit-autocomplete-positioner,
prosekit-autocomplete-popup,
prosekit-inline-popover-positioner,
prosekit-inline-popover-popup {
	border: none;
	outline: none;
	background: none;
}

.menu-positioner[data-state="closed"],
.menu-content[data-state="closed"] {
	display: none;
}

[data-dropdown-menu-content][data-state="open"],
[data-context-menu-content][data-state="open"],
[data-combobox-content][data-state="open"],
.menu-content[data-state="open"] {
	background-color: var(--color-bg-modal);
	border: var(--border-default);
	border-radius: var(--border-radius);
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	padding: var(--spacing-xs);
}

.menu-content[data-state="open"] {
	box-sizing: border-box;
	min-width: 12rem;
	max-height: 16rem;
}

[data-dropdown-menu-item],
[data-context-menu-item],
[data-dropdown-menu-sub-trigger],
[data-dropdown-menu-item] a,
.menu-item {
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	width: 100%;
	height: var(--height-menu-item);
	padding: var(--padding-button);
	font-size: var(--font-size-button);
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	color: var(--color-text-primary);
}

[data-dropdown-menu-item]:hover,
[data-context-menu-item]:hover,
[data-dropdown-menu-sub-trigger]:hover,
.menu-item:hover,
.menu-item[data-highlighted] {
	background-color: var(--color-bg-hover);
}

[data-dropdown-menu-item][data-severity="default"],
[data-dropdown-menu-sub-trigger][data-severity="default"] {
	color: var(--color-text-secondary);
}

[data-dropdown-menu-item][data-severity="error"],
[data-dropdown-menu-sub-trigger][data-severity="error"] {
	color: var(--color-text-error);
}

[data-dropdown-menu-item][data-severity="warning"],
[data-dropdown-menu-sub-trigger][data-severity="warning"] {
	color: var(--color-text-warning);
}

[data-dropdown-menu-item][data-severity="success"],
[data-dropdown-menu-sub-trigger][data-severity="success"] {
	color: var(--color-text-success);
}

[data-dropdown-menu-item][data-severity="info"],
[data-dropdown-menu-sub-trigger][data-severity="info"] {
	color: var(--color-text-info);
}

[data-dropdown-menu-item][data-severity="default"],
[data-dropdown-menu-sub-trigger][data-severity="default"] {
	color: var(--color-text-link);
}

[data-dropdown-menu-item][data-severity="default"]:hover,
[data-dropdown-menu-sub-trigger][data-severity="default"]:hover {
	color: var(--color-text-primary);
}

[data-dropdown-menu-sub-content] {
	background-color: var(--color-bg-secondary);
	border: var(--border-default);
	border-radius: var(--border-radius);
}

.menu-item-empty {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	height: var(--height-menu-item);
	padding: var(--padding-button);
	font-size: var(--font-size-button);
	color: var(--color-text-secondary);
}
.prose {
    display: flex;
    flex-direction: column;
    color: var(--color-text-primary);
    line-height: var(--line-height-prose);

    p,
    ul,
    ol,
    img,
    hr,
    figure {
        margin-block-start: 0;
        margin-block-end: var(--spacing-prose);
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        line-height: 1.15;
    }

    h1,
    h3,
    h4,
    h5,
    h6 {
        margin-block-start: 0;
        margin-block-end: var(--spacing-prose);
    }

    h1>a,
    h2>a,
    h3>a,
    h4>a,
    h5>a,
    h6>a {
        text-decoration: none;
        color: var(--color-text-primary);
    }

    h1 {
        font-size: 1.75rem;

        @media screen and (max-width: 768px) {
            font-size: 1.375rem;
        }

        @media screen and (min-width: 769px) and (max-width: 1024px) {
            font-size: 1.875rem;
        }

        @media screen and (min-width: 1025px) {
            font-size: 2rem;
        }
    }

    h2 {
        font-size: 1.5rem;
        margin-block-start: var(--spacing-prose);
        margin-block-end: var(--spacing-prose);

        @media screen and (max-width: 768px) {
            font-size: 1.25rem;
        }

        @media screen and (min-width: 769px) and (max-width: 1024px) {
            font-size: 1.5rem;
        }

        @media screen and (min-width: 1025px) {
            font-size: 1.65rem;
        }
    }

    h3 {
        font-size: 1.25rem;

        @media screen and (max-width: 768px) {
            font-size: 1rem;
        }

        @media screen and (min-width: 769px) and (max-width: 1024px) {
            font-size: 1.25rem;
        }

        @media screen and (min-width: 1025px) {
            font-size: 1.425rem;
        }
    }

    h4 {
        font-size: 1.125rem;

        @media screen and (max-width: 768px) {
            font-size: 0.9375rem;
        }

        @media screen and (min-width: 769px) and (max-width: 1024px) {
            font-size: 1.125rem;
        }

        @media screen and (min-width: 1025px) {
            font-size: 1.25rem;
        }
    }

    h5 {
        font-size: 1rem;

        @media screen and (max-width: 768px) {
            font-size: 0.875rem;
        }

        @media screen and (min-width: 769px) and (max-width: 1024px) {
            font-size: 1rem;
        }

        @media screen and (min-width: 1025px) {
            font-size: 1.125rem;
        }
    }

    h6 {
        font-size: 0.875rem;

        @media screen and (max-width: 768px) {
            font-size: 0.8125rem;
        }

        @media screen and (min-width: 769px) and (max-width: 1024px) {
            font-size: 0.875rem;
        }

        @media screen and (min-width: 1025px) {
            font-size: 1rem;
        }
    }


    a {
        color: var(--color-text-secondary);
        text-decoration: underline;
    }

    table {
        margin-block-start: 0;
        margin-block-end: var(--spacing-prose);
        border-collapse: collapse;
        display: block;
        width: 100%;
        overflow-x: auto;
    }

    th,
    td {
        padding: var(--spacing-sm) var(--spacing-prose);
        border: var(--border-default);
        text-align: left;
    }

    table>thead {
        background-color: var(--color-bg-secondary);
    }

    th {
        font-weight: var(--font-weight-bold);
        color: var(--color-text-primary);
        background-color: var(--color-bg-secondary);
    }

    b {
        font-weight: var(--font-weight-bold);
    }

    sup {
        font-size: 0.6rem;
        vertical-align: super;
        line-height: 0;
        color: var(--color-text-secondary);
    }

    figure {
        width: 100%;
        max-width: 100%;
        overflow-x: visible;
        margin-block-start: 0;
        margin-block-end: var(--spacing-prose);
        padding: 0;
    }

    figure img {
        width: auto;
        max-width: 80%;
        height: auto;
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-top: 0;
        margin-bottom: 0;
    }

    figcaption {
        font-size: var(--font-size-sm);
        color: var(--color-text-secondary);
        text-align: center;
        margin-top: var(--spacing-xs);
    }

    /*
     * Lists — markdown (`ul`/`ol`/`li`) and ProseKit flat-list (`.prosemirror-flat-list`)
     * share the same spacing so read + edit look identical. Do not import
     * `prosekit/extensions/list/style.css`; keep list look here.
     */
    ol,
    ul {
        padding-inline-start: 40px;
        margin-block-start: 0;
        margin-block-end: var(--spacing-prose);

        @media screen and (max-width: 768px) {
            padding-inline-start: 25px;
        }
    }

    ol li p,
    ul li p,
    .prosemirror-flat-list .list-content>p {
        margin: 0;
        padding: 0;
    }

    /* ProseKit / prosemirror-flat-list item (sibling items = one visual list). */
    .prosemirror-flat-list {
        position: relative;
        margin: 0;
        padding: 0;
        list-style: none;
        padding-inline-start: 40px;

        @media screen and (max-width: 768px) {
            padding-inline-start: 25px;
        }
    }

    /* Collapse flex/block gaps between consecutive flat-list items. */
    .prosemirror-flat-list+.prosemirror-flat-list {
        margin-block-start: 0;
    }

    /* Prose margin after a run of flat-list items (like `ul`/`ol` margin-end). */
    .prosemirror-flat-list:not(:has(+ .prosemirror-flat-list)) {
        margin-block-end: var(--spacing-prose);
    }

    .prosemirror-flat-list>.list-marker {
        position: absolute;
        inset-inline-start: 0;
        width: 40px;
        height: 1lh;
        text-align: center;

        @media screen and (max-width: 768px) {
            width: 25px;
        }
    }

    .prosemirror-flat-list>.list-content {
        margin-inline-start: 0;
        min-width: 0;
    }

    .prosemirror-flat-list[data-list-kind="bullet"]>.list-marker,
    .prosemirror-flat-list[data-list-kind="toggle"]>.list-marker {
        background-color: currentColor;
        mask-position: center;
        mask-size: contain;
        mask-repeat: no-repeat;
    }

    .prosemirror-flat-list[data-list-kind="bullet"]>.list-marker {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='2.5' fill='currentColor'/%3E%3C/svg%3E");
    }

    .prosemirror-flat-list[data-list-kind="toggle"]>.list-marker {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpolygon points='8,10 12,14 16,10' fill='currentColor'/%3E%3C/svg%3E");
    }

    .prosemirror-flat-list[data-list-kind="toggle"][data-list-collapsable][data-list-collapsed]>.list-marker {
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpolygon points='10,8 14,12 10,16' fill='currentColor'/%3E%3C/svg%3E");
    }

    .prosemirror-flat-list[data-list-kind="ordered"]>* {
        contain: style;
    }

    .prosemirror-flat-list[data-list-kind="ordered"] {
        counter-increment: prosemirror-flat-list-counter;
    }

    .prosemirror-flat-list[data-list-kind="ordered"]::before {
        content: counter(prosemirror-flat-list-counter, decimal) ". ";
        font-variant-numeric: tabular-nums;
        position: absolute;
        inset-inline-start: 0;
        width: 40px;
        text-align: end;
        box-sizing: border-box;
        padding-inline-end: 0.35em;

        @media screen and (max-width: 768px) {
            width: 25px;
        }
    }

    .prosemirror-flat-list[data-list-kind="ordered"]:first-child,
    :not(.prosemirror-flat-list[data-list-kind="ordered"])+.prosemirror-flat-list[data-list-kind="ordered"] {
        counter-reset: prosemirror-flat-list-counter;
    }

    @supports (counter-set: prosemirror-flat-list-counter 1) {

        :is(.prosemirror-flat-list[data-list-kind="ordered"]:first-child,
            :not(.prosemirror-flat-list[data-list-kind="ordered"]) + .prosemirror-flat-list[data-list-kind="ordered"])[data-list-order] {
            counter-set: prosemirror-flat-list-counter var(--prosemirror-flat-list-order);
        }
    }

    @supports not (counter-set: prosemirror-flat-list-counter 1) {

        :is(.prosemirror-flat-list[data-list-kind="ordered"]:first-child,
            :not(.prosemirror-flat-list[data-list-kind="ordered"]) + .prosemirror-flat-list[data-list-kind="ordered"])[data-list-order] {
            counter-increment: prosemirror-flat-list-counter var(--prosemirror-flat-list-order);
        }
    }

    .prosemirror-flat-list[data-list-kind="task"]>.list-marker,
    .prosemirror-flat-list[data-list-kind="task"]>.list-marker * {
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0;
        padding: 0;
    }

    .prosemirror-flat-list[data-list-kind="toggle"][data-list-collapsable]>.list-marker {
        cursor: pointer;
    }

    .prosemirror-flat-list[data-list-kind="toggle"]:not([data-list-collapsable])>.list-marker {
        opacity: var(--opacity-disabled);
        pointer-events: none;
    }

    .prosemirror-flat-list[data-list-kind="toggle"][data-list-collapsable][data-list-collapsed]>.list-content> :nth-child(n + 2) {
        display: none;
    }

    img {
        height: auto;
        width: fit-content;
        margin-block-start: 0;
        margin-block-end: var(--spacing-prose);
    }

    img:has(+ figcaption),
    table:has(+ figcaption) {
        margin-block-end: 0;
    }

    blockquote {
        border-left: 6px solid var(--color-border);
        background-color: var(--color-bg-secondary);
        padding: var(--spacing-md);
        margin-block-start: 0;
        margin-block-end: var(--spacing-prose);
        margin-inline-start: 0;
        margin-inline-end: 0;
    }

    blockquote p {
        padding: 0;
        margin: 0;
    }

    /* Admonition */
    aside {
        background-color: var(--color-bg-secondary);
        padding: var(--spacing-md);
        margin-block-start: 0;
        margin-block-end: var(--spacing-prose);
        margin-inline-start: 0;
        margin-inline-end: 0;
        border: var(--border-default);
        border-radius: var(--border-radius);
    }

    /* Markdown / misc wrappers — not ProseKit list items (those space as a list). */
    >div:not(.prosemirror-flat-list) {
        margin-block-start: 0;
        margin-block-end: var(--spacing-prose);
    }
}
.tooltip {
    background-color: var(--color-bg-tooltip);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius);
    border: var(--border-default);
    color: var(--color-text-primary);
    font-size: var(--font-size-sm);
    line-height: 1.4;
    /* box-shadow, not filter — filter creates a containing block that can skew
       position:fixed floating-ui coordinates in some engines. */
    box-shadow: 0 2px 8px hsla(0, 0%, 0%, 0.15);
    width: max-content;
    max-width: 250px;
    word-wrap: break-word;
    white-space: normal;
}

.tooltip-arrow {
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: var(--color-bg-tooltip);
    transform: rotate(45deg);
    pointer-events: none;
}
.icon--mdi {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.icon--mdi--home {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M10 20v-6h4v6h5v-8h3L12 3L2 12h3v8z'/%3E%3C/svg%3E");
}

.icon--mdi--menu {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z'/%3E%3C/svg%3E");
}
.icon--mdi-light {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.icon--mdi-light--alert-circle {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M11.5 3a9.5 9.5 0 0 1 9.5 9.5a9.5 9.5 0 0 1-9.5 9.5A9.5 9.5 0 0 1 2 12.5A9.5 9.5 0 0 1 11.5 3m0 1A8.5 8.5 0 0 0 3 12.5a8.5 8.5 0 0 0 8.5 8.5a8.5 8.5 0 0 0 8.5-8.5A8.5 8.5 0 0 0 11.5 4M11 17v-2h1v2zm0-4V8h1v5z'/%3E%3C/svg%3E");
}

.icon--mdi-light--circle {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M11.5 3a9.5 9.5 0 0 1 9.5 9.5a9.5 9.5 0 0 1-9.5 9.5A9.5 9.5 0 0 1 2 12.5A9.5 9.5 0 0 1 11.5 3m0 1A8.5 8.5 0 0 0 3 12.5a8.5 8.5 0 0 0 8.5 8.5a8.5 8.5 0 0 0 8.5-8.5A8.5 8.5 0 0 0 11.5 4'/%3E%3C/svg%3E");
}

.icon--mdi-light--help-circle {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M11.5 4A8.5 8.5 0 0 0 3 12.5a8.5 8.5 0 0 0 8.5 8.5a8.5 8.5 0 0 0 8.5-8.5A8.5 8.5 0 0 0 11.5 4m0-1a9.5 9.5 0 0 1 9.5 9.5a9.5 9.5 0 0 1-9.5 9.5A9.5 9.5 0 0 1 2 12.5A9.5 9.5 0 0 1 11.5 3M11 17h1v2h-1zm.5-11A3.5 3.5 0 0 1 15 9.5c0 .9-.7 1.5-1.44 2.18l-.93.9c-.59.67-.66 1.95-.63 2.39V15h-1c0-.05-.1-1.96.87-3.08l1.03-.99c.6-.53 1.1-.98 1.1-1.43A2.5 2.5 0 0 0 11.5 7A2.5 2.5 0 0 0 9 9.5H8A3.5 3.5 0 0 1 11.5 6'/%3E%3C/svg%3E");
}
.icon--tabler {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.icon--tabler--cancel {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0m15.364-6.364L5.636 18.364'/%3E%3C/svg%3E");
}
[data-tabs-root] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    width: 100%;
}

[data-tabs-list] {
    display: flex;
    gap: var(--spacing-sm);
}

[data-tabs-trigger] {
    all: unset;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-text-secondary);
    text-decoration: none;
    height: var(--height-button);
    padding: 0 var(--spacing-sm);
    border-radius: var(--border-radius);
    font-size: var(--font-size-button);
    font-weight: var(--font-weight-button);
    border: var(--border-default);
    cursor: pointer;
}

[data-tabs-trigger][data-state="active"] {
    color: var(--color-text-primary);
    background-color: var(--color-bg-hover);
}

:root {
    --color-primary: var(--color-austere);
    --root-font-size: 13.5px;
}
    .error-block-wrapper.svelte-hd2cs6 {
        width: 100%;
        max-width: 350px;
    }

	.sidebar.svelte-bzowyq {
		padding: var(--padding-sidebar);
		min-width: var(--width-drawer);
		max-width: var(--width-drawer);
		height: var(--height-content);
		max-height: var(--height-content);
		min-height: var(--height-content);
		overflow-y: auto;
		border-right: var(--border-default);
		box-sizing: border-box;
	}

	/* Mobile */
	@media (max-width: 768px) {
		.sidebar.svelte-bzowyq:not(.standalone) {
			display: none;
		}
	}

	/* Tablet */
	@media screen and (min-width: 769px) and (max-width: 1024px) {
		.sidebar.svelte-bzowyq:not(.standalone) {
			display: none;
		}
	}

	@media (max-width: 1024px) {
		.sidebar.standalone.svelte-bzowyq {
			min-width: min(100%, var(--width-drawer));
			max-width: min(100%, var(--width-drawer));
		}
	}

	.sidebar-wrapper.svelte-1xr4coj {
		position: relative;
		display: flex;
		flex-direction: row;
		height: 100%;
		width: 100%;
		min-height: 0;
		overflow: hidden;
	}

	.sidebar-main.svelte-1jypg7b {
		container-name: sidebar-main;
		container-type: inline-size;
		position: relative;
		display: flex;
		flex-direction: column;
		flex: 1;
		min-width: 0;
		min-height: 0;
		overflow-y: auto;
	}

	.inline-action-wrapper.svelte-1nribwf {
		min-height: var(--height-content);
		overflow-y: auto;
	}

	aside.svelte-1fd0ozy {
		/* Flex sibling of Main — shrinks parent content instead of overlaying. */
		position: relative;
		flex-shrink: 0;
		align-self: stretch;
		min-width: 0;
		min-height: 0;
		height: auto;
		background-color: var(--color-bg-paper);
		overflow-y: auto;
		grid-template-rows: none;
		grid-auto-rows: auto;
		align-items: start;
		align-content: start;
		will-change: transform;
		border-left: var(--border-default);
		@media (max-width: 768px) {
			position: absolute;
			inset: 0;
			z-index: var(--z-index-modal);
			width: 100%;
			max-width: 100%;
			border-left: none;
		}
	}
	aside.width-animate.svelte-1fd0ozy {
		@media (min-width: 769px) {
			transition:
				width var(--aside-size-transition),
				max-width var(--aside-size-transition);
		}
	}
	@media (prefers-reduced-motion: reduce) {
		aside.width-animate.svelte-1fd0ozy {
			transition: none;
		}
	}
	.compact.svelte-1fd0ozy {
		@media (min-width: 769px) {
			max-width: 400px;
			width: 400px;
		}
	}
	.default.svelte-1fd0ozy {
		@media (min-width: 769px) {
			max-width: 800px;
			width: 800px;
		}
	}
	.expanded.svelte-1fd0ozy {
		@media (min-width: 769px) {
			position: absolute;
			inset: 0;
			z-index: var(--z-index-modal);
			width: 100%;
			max-width: 100%;
			border-left: none;
		}
	}
	.aside-content.svelte-1fd0ozy {
		height: 100%;
		overflow-y: auto;
		padding: var(--spacing-lg);
	}

	.inline-action.svelte-o9zh2u {
		border-bottom: var(--border-default);
		padding: var(--spacing-lg);
	}

	/* Padding always when the wrapper is used; hide only if the snippet
	   rendered nothing (avoids empty gap when children exist but are conditional). */
	.inline-action-content.svelte-o9zh2u {
		padding: var(--spacing-lg) 0 0 0;
	}

	.inline-action-content.svelte-o9zh2u:not(:has(*)) {
		display: none;
	}

	table.svelte-1r0wviq {
		width: 100%;
		border-collapse: collapse;
		table-layout: auto;
		border: none;
		border-spacing: 0;
	}

	table[data-border="true"].svelte-1r0wviq {
		border: var(--border-default);
	}

	th.svelte-1rabph9 {
		padding: var(--table-cell-padding);
		text-align: left;
		font-weight: var(--font-weight-bold);
		font-size: var(--font-size-sm);
		color: var(--color-text-secondary);
		/* Shrink-wrap compact columns (Actions, icons, short fields). */
		width: 1%;
		text-wrap: nowrap;
		white-space: nowrap;
	}

	th[data-grow].svelte-1rabph9 {
		width: auto;
		min-width: 10rem;
		white-space: normal;
	}

	.table-row.svelte-1dicvsq {
		border-bottom: var(--border-default);
		height: var(--height-row);
	}

	thead > .table-row.svelte-1dicvsq {
		height: var(--height-table-head);
	}

	.table-row[data-active="true"].svelte-1dicvsq {
		background-color: var(--color-bg-paper);
	}

	td.svelte-17x09ia {
		padding: 0 var(--spacing-sm);
		vertical-align: middle;
		/* Shrink-wrap by default so Actions / icons stay narrow. */
		width: 1%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		display: table-cell;

		&:has(> input),
		&:has(> textarea) {
			padding: 0;
			height: var(--height-row);
		}

		/* Compact controls stay content-sized. */
		&:has(> input[type="number"]),
		&:has(> input[type="color"]),
		&:has(> input[type="checkbox"]) {
			width: 1%;
			max-width: 6.5rem;
		}

		/*
		 * Fluid columns: explicit grow, or text-like cell fields
		 * (not number/color/checkbox). Avoids last-child { width: 100% }
		 * crushing middle columns when Quantity/Unit follow Name.
		 */
		&[data-grow],
		
				&:has(
						> input:not([type="number"]):not([type="color"]):not(
								[type="checkbox"]
							)
					)
			,
		&:has(> textarea) {
			width: auto;
			min-width: 10rem;
			white-space: normal;
			max-width: none;
		}
	}

	[data-select-trigger] {
		all: unset;
		box-sizing: border-box;
		font-family: var(--font-family);
		font-weight: var(--font-weight-normal);
		display: flex;
		align-items: center;
		gap: var(--spacing-sm);
		color: var(--color-text-primary);
		width: 100%;
		min-width: 12em;
		&[data-view="form"] {
			height: var(--height-field);
			border: var(--border-default);
			border-radius: var(--border-radius);
			padding: var(--padding-field);
			width: 100%;
			min-width: 0;
		}
		&[data-view="cell"] {
			height: var(--height-row);
			field-sizing: content;
			padding: var(--table-cell-padding);
		}
		&[data-view="card"] {
			height: var(--height-card);
		}
		&[data-view="card"] {
			height: var(--height-field-card);
		}
	}

	[data-select-trigger][data-full-width="false"],
	[data-select-trigger][data-full-width="false"][data-view="form"] {
		width: fit-content;
		max-width: min(20em, 100%);
		min-width: 12em;
	}

	.select-trigger-text.svelte-1lhlzg9 {
		flex: 1;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	[data-select-trigger][data-full-width="false"] .select-trigger-text {
		flex: 0 1 auto;
	}
	/*
	 * Bits sets inline `min-width: max-content` on the floating wrapper.
	 * Anchor width vars live on the wrapper as `--bits-floating-anchor-*`
	 * (`--bits-select-anchor-width` is only aliased on the content node).
	 */
	
			[data-bits-floating-content-wrapper]:has(
					[data-select-portal="true"]
				)
		 {
		width: var(--bits-floating-anchor-width) !important;
		min-width: var(--bits-floating-anchor-width) !important;
		max-width: min(
			var(--bits-floating-anchor-width),
			var(
				--bits-floating-available-width,
				calc(100vw - 2 * var(--spacing-xs))
			)
		) !important;
	}

	[data-select-content] {
		background-color: var(--color-bg-modal);
		border: var(--border-default);
		border-radius: var(--border-radius);
		box-shadow: var(--shadow-popover);
		color: var(--color-text-primary);
		/* Fill the wrapper (same width as the trigger). */
		width: 100%;
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
		padding: var(--spacing-sm) 0;
		z-index: var(--z-index-dropdown);
		max-height: min(
			calc(var(--height-button) * 5 + var(--spacing-sm) * 2),
			var(--bits-floating-available-height, 100dvh)
		);
		overflow: hidden;
	}

	/*
	 * Bits UI hides viewport scrollbars with equal !important rules; the local
	 * class raises specificity so thin scrollbars win when the list overflows.
	 */
	[data-select-viewport].select-viewport {
		min-width: 100%;
		min-height: 0;
		scrollbar-width: thin !important;
		scrollbar-color: var(--color-border) transparent !important;
		-ms-overflow-style: auto !important;
	}

	[data-select-viewport].select-viewport::-webkit-scrollbar {
		display: block !important;
		width: 0.5em;
	}

	[data-select-viewport].select-viewport::-webkit-scrollbar-thumb {
		background-color: var(--color-border);
		border-radius: var(--border-radius);
	}

	[data-select-item] {
		display: flex;
		align-items: center;
		gap: var(--spacing-sm);
		min-width: 0;
		max-width: 100%;
		height: var(--height-button);
		padding: var(--padding-button);
	}

	.select-item-label {
		flex: 1;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	[data-select-item]:hover {
		background-color: var(--color-bg-hover);
		cursor: pointer;
	}

	[data-select-item][data-disabled] {
		opacity: var(--opacity-disabled);
		cursor: not-allowed;
	}

	[data-select-item][data-disabled]:hover {
		background-color: transparent;
		cursor: not-allowed;
	}

	input[type="color"].svelte-gnb1d6 {
		all: unset;
		border: none;
		box-sizing: border-box;
		font-family: var(--font-family);
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		margin: 0;
		-webkit-appearance: none;
		appearance: none;
		overflow: hidden;

		&[data-view="form"] {
			height: var(--height-field);
			border: var(--border-default);
			border-radius: var(--border-radius);
			width: 100%;
		}
		&[data-view="cell"] {
			height: calc(var(--height-row) - var(--spacing-md));
			padding: var(--table-cell-padding);
		}
		&[data-view="card"] {
			height: var(--height-card);
		}
	}

	input[type="color"].svelte-gnb1d6::-webkit-color-swatch-wrapper {
		padding: 0;
	}

	input[type="color"].svelte-gnb1d6::-webkit-color-swatch {
		border: none;
		border-radius: var(--border-radius);
		padding: 0;
		margin: 0;
		width: calc(var(--height-row) - var(--spacing-md));
	}

	[data-accordion-item][data-state="closed"] {
		background-color: transparent;
		border-radius: var(--border-radius);
		border: var(--border-default);
		color: var(--color-text-secondary);
		&:hover {
			background-color: var(--color-bg-hover);
		}
	}

	[data-accordion-item][data-state="open"] {
		background-color: var(--color-bg-paper);
		border-radius: var(--border-radius);
		border: var(--border-default);
	}

	[data-accordion-trigger] {
		all: unset;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		gap: var(--gap-button);
		padding: var(--padding-button);
		height: var(--height-button);
		min-height: var(--height-button);
		border-radius: var(--border-radius);
		font-size: var(--font-size-button);
		font-weight: var(--font-weight-normal);
		line-height: var(--line-height-button);
		cursor: pointer;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		text-decoration: none;
		flex: 1 0 auto;
		color: var(--color-text-secondary);
		justify-content: space-between;
	}

	[data-accordion-trigger][data-state="open"] {
		color: var(--color-text-primary);

		height: var(--height-button);
		min-height: var(--height-button);
	}

	/* :global([data-accordion-trigger][data-state="open"] svg) {
		transform: rotate(180deg);
	} */

	.accordion-content-animated {
		overflow: hidden;
	}

	.accordion-content-animated[data-state="closed"] {
		animation: svelte-cv9867-accordion-up 0.2s ease-out forwards;
	}

	.accordion-content-animated[data-state="open"] {
		animation: svelte-cv9867-accordion-down 0.2s ease-out forwards;
	}

	.accordion-content-inner.svelte-cv9867 {
		padding: var(--spacing-xs) var(--spacing-sm) var(--spacing-sm)
			var(--spacing-sm);
	}

	@keyframes svelte-cv9867-accordion-down {
		from {
			height: 0;
		}
		to {
			height: var(--bits-accordion-content-height);
		}
	}

	@keyframes svelte-cv9867-accordion-up {
		from {
			height: var(--bits-accordion-content-height);
		}
		to {
			height: 0;
		}
	}

	.accordion-item-header.svelte-cv9867 {
		font-weight: var(--font-weight-bold);
		color: var(--color-text-primary);
		display: flex;
		align-items: center;
		gap: var(--spacing-xs);
		flex-wrap: wrap;
	}

	.badge.svelte-cv9867 {
		font-size: 0.7rem;
		font-weight: var(--font-weight-normal);
		padding: 0.1rem 0.35rem;
		border-radius: var(--border-radius);
	}

	.badge-active.svelte-cv9867 {
		background-color: var(--color-bg-link);
		color: var(--color-text-link);
	}

	.color-swatch.svelte-1cp38as {
		border-radius: 50%;
		border: var(--border-default);
	}

	.layer-title.svelte-6nusjn {
		display: flex;
		align-items: center;
		gap: var(--spacing-sm);
		min-height: var(--height-button);
		height: var(--height-button);
		font-size: var(--font-size-button);
		font-weight: var(--font-weight-bold);
		line-height: var(--line-height-button);
	}

    button.svelte-1wh6d8z {
        all: unset;
        box-sizing: border-box;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        border-radius: var(--border-radius);
        cursor: pointer;
        text-decoration: none;
        width: calc(--height-field * 0.3);
        height: calc(--height-field * 0.3);
        color: var(--color-text-secondary);
        &:hover {
            opacity: var(--opacity-hover);
        }
        &:disabled {
            opacity: var(--opacity-disabled);
            cursor: not-allowed;
            pointer-events: none;
        }
    }

    [data-variant="error"].svelte-1wh6d8z {
        color: var(--color-error);
    }

	.email-field-container.svelte-1807pfd {
		display: flex;
		box-sizing: border-box;
		align-items: center;
		gap: var(--spacing-sm);
		font-family: var(--font-family);
		font-size: var(--font-size-md);
		border: 1px solid transparent;
		width: 100%;
		&[data-view="form"] {
			height: var(--height-field);
			padding: var(--padding-field);
			border: var(--border-default);
			border-radius: var(--border-radius);
		}
		&[data-view="cell"] {
			height: var(--height-row);
			padding: var(--table-cell-padding);
		}
		&[data-view="form"]:focus-within,
		&[data-view="cell"]:focus-within {
			outline: none;
			border-color: var(--color-focus);
		}
		&[data-view="card"] {
			height: var(--height-card);
		}
	}

	input.svelte-1807pfd {
		all: unset;
		box-sizing: border-box;
		flex: 1;
		min-width: 0;
	}

	.phone-field-container.svelte-1g8j539 {
		display: flex;
		box-sizing: border-box;
		align-items: center;
		gap: var(--spacing-sm);
		font-family: var(--font-family);
		font-size: var(--font-size-md);
		border: 1px solid transparent;
		width: 100%;
		&[data-view="form"] {
			height: var(--height-field);
			padding: var(--padding-field);
			border: var(--border-default);
			border-radius: var(--border-radius);
		}
		&[data-view="cell"] {
			height: var(--height-row);
			padding: var(--table-cell-padding);
		}
		&[data-view="form"]:focus-within,
		&[data-view="cell"]:focus-within {
			outline: none;
			border-color: var(--color-focus);
		}
		&[data-view="card"] {
			height: var(--height-card);
		}
	}

	input.svelte-1g8j539 {
		all: unset;
		box-sizing: border-box;
		flex: 1;
		min-width: 0;
	}

	.url-field-container.svelte-fxluh4 {
		box-sizing: border-box;
		display: flex;
		align-items: center;
		gap: var(--spacing-sm);
		font-family: var(--font-family);
		font-size: var(--font-size-md);
		width: 100%;
		&[data-view="form"] {
			height: var(--height-field);
			border: var(--border-default);
			border-radius: var(--border-radius);
			padding: var(--padding-field);
		}
		&[data-view="cell"] {
			height: var(--height-row);
			padding: var(--table-cell-padding);
			border: 1px solid transparent;
		}
		&[data-view="form"]:focus-within,
		&[data-view="cell"]:focus-within {
			outline: none;
			border-color: var(--color-focus);
		}
		&[data-view="card"] {
			height: var(--height-card);
		}
	}

	input.svelte-fxluh4 {
		all: unset;
		box-sizing: border-box;
		flex: 1;
		min-width: 0;
	}

    .date-field-wrapper.svelte-1l62nrx {
        display: flex;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
        &[data-view="form"] {
            height: var(--height-field);
            border: var(--border-default);
            border-radius: var(--border-radius);
            padding: var(--padding-field);
        }
        &[data-view="cell"] {
            height: var(--height-row);
            padding: var(--table-cell-padding);
            border: 1px solid transparent;
        }
        &[data-view="form"]:focus-within,
        &[data-view="cell"]:focus-within {
            outline: none;
            border-color: var(--color-focus);
        }
        /* Overdue due date — same signal as Inbox rows (GeoTeams 0.2.44). */
        &[data-color="error"] {
            color: var(--color-text-error);
        }
    }

    /* Short code by default; SelectField mounts only after click. */
    .date-field-tz.svelte-1l62nrx {
        flex-shrink: 0;
        min-width: 0;
        margin-inline-end: var(--spacing-xs);
    }

    .date-field-tz-code.svelte-1l62nrx {
        all: unset;
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        height: var(--height-button);
        max-width: 6em;
        cursor: pointer;
        color: var(--color-text-primary);
        font-variant-numeric: tabular-nums;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        &:hover {
            opacity: var(--opacity-hover);
        }
    }

    .date-field-tz.svelte-1l62nrx [data-select-trigger] {
        all: unset;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        min-width: 0;
        width: max-content;
        max-width: 6em;
        height: var(--height-button);
        padding: 0;
        cursor: pointer;
        color: var(--color-text-primary);
        font-variant-numeric: tabular-nums;
    }

    .date-field-tz.svelte-1l62nrx [data-select-trigger] svg {
        display: none;
    }

    .date-field-tz.svelte-1l62nrx .select-trigger-text {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    [data-date-field-input] {
        all: unset;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        gap: 2px;
        width: 100%;
    }
    /* Same stacking as SelectField — above modal content/footer. */
    [data-date-field-content],
    .date-field-popover {
        z-index: var(--z-index-dropdown);
    }

    [data-calendar-root] {
        padding: var(--spacing-sm);
        border-radius: var(--border-radius);
        border: var(--border-default);
        background-color: var(--color-bg-paper);
        box-shadow: var(--shadow-popover);
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    [data-bits-day] {
        font-size: var(--font-size-md);
        border-radius: var(--border-radius);
        height: 28px;
        width: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        &:hover {
            background-color: var(--color-bg-hover);
            cursor: pointer;
        }
        &[data-outside-month] {
            color: var(--color-text-secondary);
        }
        &[data-today] {
            border: 1px solid var(--color-text-link);
            color: var(--color-text-link);
        }
        &[data-selected] {
            background-color: var(--color-bg-success);
            border: 1px solid var(--color-text-success);
            color: var(--color-text-success);
            font-weight: var(--font-weight-bold);
        }
        &[data-disabled] {
            opacity: var(--opacity-disabled);
            cursor: default;
            pointer-events: none;
        }
    }
    [data-calendar-header] {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .date-field-wrapper.svelte-1l62nrx [data-popover-trigger]#date-field-trigger {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        height: var(--height-button);
        width: var(--height-button);
        color: var(--color-text-secondary);
        &:hover {
            opacity: var(--opacity-hover);
            color: var(--color-text-primary);
        }
    }

    [data-calendar-prev-button],
    [data-calendar-next-button] {
        all: unset;
        cursor: pointer;
        height: var(--height-button);
        width: var(--height-button);
        display: flex;
        align-items: center;
        justify-content: center;
        &:hover {
            opacity: var(--opacity-hover);
        }
    }

    .date-field-wrapper.svelte-1l62nrx button[data-segment="trigger"] {
        all: unset;
    }

	.image-field.svelte-b1grqv {
		align-items: flex-start;
	}

	.image-field-preview.svelte-b1grqv {
		max-width: 12rem;
		object-fit: contain;
	}

	.image-field-actions.svelte-b1grqv {
		flex-wrap: wrap;
	}

	.file-input.svelte-b1grqv {
		display: none;
	}

    .combobox.svelte-gpvt04 {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
    }

    .combobox-input {
        all: unset;
        box-sizing: border-box;
        font-family: var(--font-family);
        font-weight: var(--font-weight-normal);
        color: var(--color-text-primary);
        width: 100%;
        min-width: 0;
        padding-right: 2.25em;
    }

    .combobox[data-view="form"].svelte-gpvt04 .combobox-input {
        height: var(--height-field);
        border: var(--border-default);
        border-radius: var(--border-radius);
        padding: var(--padding-field);
        padding-right: 2.25em;
    }

    .combobox.svelte-gpvt04 .combobox-input::placeholder {
        color: var(--color-text-secondary);
    }

    .combobox.svelte-gpvt04 .combobox-input:focus-visible {
        outline: 2px solid var(--color-focus);
        outline-offset: 2px;
    }

    .combobox.svelte-gpvt04 .combobox-trigger {
        position: absolute;
        right: var(--spacing-sm);
        top: 50%;
        transform: translateY(-50%);
        padding: 0;
        background: none;
        border: none;
        cursor: pointer;
        color: var(--color-text-secondary);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    
            [data-bits-floating-content-wrapper]:has(
                    [data-combobox-portal="true"]
                )
         {
        min-width: 0 !important;
        max-width: min(
            24em,
            var(
                --bits-floating-available-width,
                calc(100vw - 2 * var(--spacing-xs))
            )
        );
    }

    [data-combobox-content],
    [data-bits-combobox-content] {
        background-color: var(--color-bg-modal);
        border: var(--border-default);
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-popover);
        color: var(--color-text-primary);
        min-width: min(20em, 100%);
        width: max(var(--bits-combobox-anchor-width), 20em);
        max-width: 100%;
        padding: var(--spacing-sm) 0;
        z-index: var(--z-index-dropdown);
        max-height: min(
            calc(var(--height-button) * 5 + var(--spacing-sm) * 2),
            var(--bits-floating-available-height, 100dvh)
        );
        overflow: hidden;
    }

    .combobox-viewport,
    [data-combobox-viewport].combobox-viewport {
        min-width: 100%;
        min-height: 0;
        /* Bits UI hides viewport scrollbars; class raises specificity. */
        scrollbar-width: thin !important;
        scrollbar-color: var(--color-border) transparent !important;
        -ms-overflow-style: auto !important;
    }

    [data-combobox-viewport].combobox-viewport::-webkit-scrollbar {
        display: block !important;
        width: 0.5em;
    }

    
            [data-combobox-viewport].combobox-viewport
        ::-webkit-scrollbar-thumb {
        background-color: var(--color-border);
        border-radius: var(--border-radius);
    }

    [data-combobox-item],
    [data-bits-combobox-item] {
        display: flex;
        align-items: center;
        gap: var(--spacing-sm);
        min-width: 0;
        height: var(--height-button);
        padding: var(--padding-button);
        color: var(--color-text-primary);
    }

    .combobox-item-label {
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .combobox-empty {
        display: block;
        padding: var(--padding-button);
        color: var(--color-text-secondary);
    }

    [data-combobox-item]:hover,
    [data-bits-combobox-item]:hover {
        background-color: var(--color-bg-hover);
        cursor: pointer;
    }

    [data-combobox-item][data-highlighted],
    [data-bits-combobox-item][data-highlighted] {
        background-color: var(--color-bg-hover);
    }

	.files-field.svelte-15twhfh {
		align-items: flex-start;
		width: 100%;
	}

	.files-field-list.svelte-15twhfh {
		width: 100%;
		list-style: none;
		padding: 0;
		margin: 0;
	}

	.files-field-row.svelte-15twhfh {
		justify-content: space-between;
		width: 100%;
		min-width: 0;
	}

	.files-field-name.svelte-15twhfh {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.files-field-actions.svelte-15twhfh {
		flex-shrink: 0;
	}

	.files-field-download.svelte-15twhfh {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: var(--color-text-secondary);
	}

	.files-field-upload.svelte-15twhfh {
		flex-wrap: wrap;
	}

	.file-input.svelte-15twhfh {
		display: none;
	}

	input.svelte-1sljbou {
		all: unset;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		gap: var(--spacing-sm);
		font-family: var(--font-family);
		font-size: var(--font-size-md);
		width: 100%;

		&[data-view="form"] {
			height: var(--height-field);
			border: var(--border-default);
			border-radius: var(--border-radius);
			padding: var(--padding-field);
		}

		&[data-view="cell"] {
			display: block;
			height: calc(var(--height-row) * 0.5);
			min-height: var(--height-row);
			padding: var(--table-cell-padding);
			border: 1px solid transparent;
		}

		&[data-view="card"] {
			height: var(--height-field-card);
		}

		&[data-view="form"]:focus,
		&[data-view="cell"]:focus {
			outline: none;
			border-color: var(--color-focus);
		}

		&::-webkit-outer-spin-button,
		&::-webkit-inner-spin-button {
			appearance: none;
			margin: 0;
		}
		appearance: textfield;
	}

	.repeat-row.svelte-1s7xnr3 {
		align-items: flex-start;
		min-width: 0;
	}

	.repeat-input.svelte-1s7xnr3 {
		flex: 1 1 auto;
		min-width: 0;
	}

	.grid.svelte-1lssf40 {
		min-width: 0;
	}

	[data-toggle-group-root] {
		display: flex;
		gap: var(--spacing-sm);
	}

	[data-toggle-group-root][data-full-width="true"] {
		width: 100%;
	}

	[data-toggle-group-root][data-orientation="vertical"] {
		flex-direction: column;
	}

	[data-toggle-group-item] {
		all: unset;
		box-sizing: border-box;
		height: var(--height-toggle);
		display: inline-flex;
		/* justify-content: center; */
		align-items: center;
		gap: var(--gap-button);
		padding: var(--padding-button);
		border-radius: var(--border-radius);
		border: var(--border-default);
		font-size: var(--font-size-button);
		font-weight: var(--font-weight-normal);
		line-height: 1;
		cursor: pointer;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		text-decoration: none;
		color: var(--color-text-primary);
		text-transform: capitalize;
	}

	[data-toggle-group-item][data-full-width="true"] {
		width: 100%;
	}

	[data-toggle-group-item][data-state="on"] {
		color: var(--color-text-primary);
		background-color: var(--color-bg-hover);
		font-weight: var(--font-weight-bold);
	}

	[data-toggle-group-item]:hover {
		background-color: var(--color-bg-hover);
	}

	.coordinates-viewer.svelte-1w1euzk {
		all: unset;
		box-sizing: border-box;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-width: 100%;
		min-height: var(--height-field);
		border: var(--border-default);
		border-radius: var(--border-radius);
		padding: var(--padding-field);
	}
	.zoom-field.svelte-1w1euzk {
		flex: 0;
	}
	.coordinates-text.svelte-1w1euzk {
		min-height: 1lh;
		font-size: var(--font-size-md);
		font-weight: var(--font-weight-bold);
	}
	.copied.svelte-1w1euzk {
		color: var(--color-success);
	}
	.form-field.svelte-1w1euzk {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-xs);
	}
	.form-field.svelte-1w1euzk small:where(.svelte-1w1euzk) {
		font-size: var(--font-size-xs);
		color: var(--color-text-secondary);
	}

	.maplibregl-user-location-accuracy-circle {
		background-color: rgb(from var(--color-text-link) r g b / 0.2);
		border-radius: 50%;
		pointer-events: none;
		transform: translate(-50%, -50%);
	}

	.maplibregl-user-location-dot {
		background-color: var(--color-text-link);
		width: 15px;
		height: 15px;
		border-radius: 50%;
	}

	.maplibregl-user-location-dot::before {
		background-color: var(--color-text-link);
		content: "";
		width: 15px;
		height: 15px;
		border-radius: 50%;
		position: absolute;
		animation: svelte-1ulum9c-maplibregl-user-location-dot-pulse 2s infinite;
	}

	.maplibregl-user-location-dot::after {
		border-radius: 50%;
		border: 2px solid var(--color-bg-secondary);
		content: "";
		height: 19px;
		left: -2px;
		position: absolute;
		top: -2px;
		width: 19px;
		box-sizing: border-box;
		box-shadow: var(--shadow-popover);
	}

	@keyframes svelte-1ulum9c-maplibregl-user-location-dot-pulse {
		0% {
			transform: scale(1);
			opacity: 1;
		}
		70% {
			transform: scale(3);
			opacity: 0;
		}
		100% {
			transform: scale(1);
			opacity: 0;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.maplibregl-user-location-dot::before {
			animation: none;
		}
	}

	.map-shell.svelte-22qrc2 {
		flex: 1;
		width: 100%;
		height: 100%;
		min-width: 0;
		min-height: 0;
		position: relative;
	}

	.map.svelte-22qrc2 {
		width: 100%;
		height: 100%;
	}

	.move-banner.svelte-22qrc2 {
		position: absolute;
		top: var(--spacing-md);
		left: 50%;
		transform: translateX(-50%);
		z-index: 2;
		max-width: calc(100% - 2 * var(--spacing-md));
		pointer-events: none;
	}

	.move-banner-panel.svelte-22qrc2 {
		pointer-events: auto;
		align-items: center;
		background: var(--color-bg-modal);
		border: var(--border-width) solid var(--color-border);
		border-radius: var(--border-radius);
		box-shadow: var(--shadow-popover);
		color: var(--color-text-primary);
		padding: var(--spacing-sm) var(--spacing-md);
	}

	.move-banner-panel.svelte-22qrc2 svg {
		flex-shrink: 0;
		width: 1.125em;
		height: 1.125em;
	}

	.maplibregl-crosshair,
	.maplibregl-crosshair .maplibregl-interactive,
	.maplibregl-crosshair .maplibregl-interactive:active {
		cursor: crosshair;
	}

	.maplibregl-map {
		overflow: hidden;
		position: relative;
		-webkit-tap-highlight-color: rgb(0, 0, 0, 0);
	}

	.maplibregl-canvas {
		left: 0;
		position: absolute;
		top: 0;
	}

	.maplibregl-marker {
		left: 0;
		position: absolute;
		top: 0;
		transition: opacity var(--marker-opacity-transition);
		will-change: transform;
	}

	.comms-main.svelte-1t3e5zs {
		height: 100%;
		min-height: 0;
		overflow: hidden;
	}

	.comms-sidebar.svelte-2gx7mf {
		min-height: 0;
		overflow-y: auto;
	}

	.member-card.svelte-1hqpo8c {
		align-items: center;
		padding: var(--spacing-md);
		border-radius: var(--border-radius);
		border: var(--border-default);
		text-decoration: none;
		color: inherit;

		&[data-active="true"] {
			background-color: var(--color-bg-hover);
			color: var(--color-text-primary);
		}
	}

	a.member-card.svelte-1hqpo8c {
		cursor: pointer;
	}

	.member-card-avatar.svelte-1hqpo8c {
		position: relative;
		display: inline-flex;
	}

	.location-pin.svelte-1hqpo8c {
		position: absolute;
		right: -0.15rem;
		bottom: -0.15rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 1.1rem;
		height: 1.1rem;
		border-radius: 999px;
		background-color: var(--color-bg-paper);
		border: var(--border-default);
		color: var(--color-text-primary);
	}

	.location-pin.svelte-1hqpo8c svg {
		width: 0.75rem;
		height: 0.75rem;
	}

	.role.svelte-1hqpo8c,
	.you.svelte-1hqpo8c {
		font-size: var(--font-size-xs);
		color: var(--color-text-secondary);
		text-transform: capitalize;
	}

	.card-field.svelte-1hqpo8c {
		font-size: var(--font-size-xs);
		color: var(--color-text-secondary);
	}

	.you.svelte-1hqpo8c {
		color: var(--color-text-primary);
	}

	.member-layout.svelte-1fpcx16 {
		align-content: start;
		padding: var(--spacing-md);
	}


	#runic-drag.svelte-16s99rc {
		display: flex;
		pointer-events: none;
		user-select: none;
		position: fixed;
		top: var(--y);
		left: var(--x);
		z-index: 99;

		/* min-height: 0px; */
		/* min-width: 0px; */
		/* transition: min-height .15s, min-width .15s; */

		/* @starting-style { */
			min-height: var(--h);
			min-width: var(--w);
		/* } */
	}


	.docs-tree-reorder.svelte-1kevc67 {
		min-height: var(--spacing-lg);
	}

	.docs-tree-row.svelte-1kevc67 {
		align-items: center;
		min-height: var(--height-navlink);
		padding: var(--padding-navlink);
		border-radius: var(--border-radius);
		cursor: grab;
	}

	.docs-tree-row.svelte-1kevc67:hover,
	.docs-tree-row[data-active="true"].svelte-1kevc67 {
		background-color: var(--color-bg-hover);
	}

	.docs-tree-grip.svelte-1kevc67 {
		display: inline-flex;
		flex-shrink: 0;
		color: var(--color-text-secondary);
		line-height: 1;
	}

	.docs-tree-label.svelte-1kevc67 {
		all: unset;
		box-sizing: border-box;
		flex: 1;
		min-width: 0;
		cursor: inherit;
		font-size: var(--font-size-button);
		text-transform: capitalize;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.docs-tree-children.svelte-1kevc67 {
		padding-inline-start: var(--spacing-md);
		min-height: var(--spacing-xs);
	}

	.docs-tree-area[data-area-target],
	.docs-tree-area[data-area-condition="true"][data-area-target] {
		background-color: var(--color-bg-hover);
		border-radius: var(--border-radius);
	}

	.users-cell.svelte-rku7r2 {
		display: block;
		padding: var(--table-cell-padding);
		min-height: var(--height-row);
		color: var(--color-text);
	}

	.rich-text-cell.svelte-1jj407l {
		display: block;
		padding: var(--table-cell-padding);
		max-height: var(--height-row);
		overflow: hidden;
		pointer-events: none;
	}

	.thumb.svelte-40mkw3 {
		max-height: 2rem;
		max-width: 4rem;
		object-fit: contain;
	}

	.empty.svelte-40mkw3 {
		display: block;
		padding: var(--table-cell-padding);
		color: var(--color-text-secondary);
	}

	.relationships-cell.svelte-1xzl7vp {
		display: block;
		padding: var(--table-cell-padding);
		min-height: var(--height-row);
	}

	.comms-cell.svelte-q67kvb {
		display: block;
		padding: var(--table-cell-padding);
		min-height: var(--height-row);
		color: var(--color-text-secondary);
	}

	.fallback.svelte-1140nv {
		display: block;
		padding: var(--table-cell-padding);
		min-height: var(--height-row);
	}
	.fallback[data-color="error"].svelte-1140nv {
		color: var(--color-text-error);
	}

	.scroll-y.svelte-y5hn8r thead {
		position: sticky;
		top: 0;
		z-index: 1;
	}

	.sort-button.svelte-y5hn8r {
		all: unset;
		cursor: pointer;
		font: inherit;
		color: inherit;
	}

	.sort-button.svelte-y5hn8r:hover {
		color: var(--color-text-primary);
	}

	.kanban-board.svelte-17v5cdj {
		min-width: 0;
		min-height: 0;
		flex: 1;
		display: flex;
		flex-direction: column;
	}

	.kanban-scroll-host.svelte-17v5cdj {
		position: relative;
		flex: 1;
		min-width: 0;
		min-height: 0;
		overflow: hidden;
	}

	.kanban-scroll.svelte-17v5cdj {
		position: absolute;
		inset: 0;
		overflow: auto;
	}

	.kanban-columns.svelte-17v5cdj {
		display: flex;
		align-items: stretch;
		gap: var(--spacing-md);
		min-width: 100%;
		width: max-content;
		padding: var(--spacing-md);
		box-sizing: border-box;
	}

	.kanban-column.svelte-17v5cdj {
		flex: 1 0 16rem;
		min-width: 16rem;
		max-width: 22rem;
	}

	.column-header.svelte-17v5cdj {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--spacing-xs);
	}

	.kanban-column-drop.svelte-17v5cdj {
		min-height: var(--height-inbox-item);
		border-radius: var(--border-radius);
	}

	.kanban-column-drop-active.svelte-17v5cdj {
		outline: 2px dashed var(--color-border-default);
		outline-offset: 2px;
		background-color: var(--color-bg-hover);
	}

	.kanban-card-draggable.svelte-17v5cdj {
		cursor: grab;
	}

	.kanban-card-dragging.svelte-17v5cdj {
		opacity: var(--opacity-disabled);
		cursor: grabbing;
	}

	/* Help bypasses Dashboard — fill the viewport and size panes to 100dvh. */
	.help-shell.svelte-rpspfv {
		position: fixed;
		inset: 0;
		width: 100%;
		height: 100dvh;
		--height-content: 100dvh;
		background-color: var(--color-bg-primary);
		/* Help bypasses Dashboard, so absorb the notch inset itself (viewport-fit=cover). */
		padding-top: env(safe-area-inset-top, 0px);
	}

	.help-close.svelte-rpspfv {
		position: absolute;
		top: max(var(--spacing-sm), env(safe-area-inset-top, 0px));
		right: max(var(--spacing-sm), env(safe-area-inset-right, 0px));
		z-index: var(--z-index-dropdown);
	}

	.meter-header.svelte-dgpmys {
		justify-content: space-between;
		align-items: baseline;
		gap: var(--spacing-sm);
		min-width: 0;
	}

	.meter-label.svelte-dgpmys {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		color: var(--color-text-primary);
		text-decoration: none;
		font-size: var(--font-size-sm);
	}

	a.meter-label.svelte-dgpmys:hover {
		background-color: var(--color-bg-hover);
	}

	.meter-value.svelte-dgpmys {
		flex-shrink: 0;
		font-size: var(--font-size-sm);
		color: var(--color-text-secondary);
		font-variant-numeric: tabular-nums;
	}

	.meter.svelte-dgpmys [data-meter-root],
	.meter.svelte-dgpmys .meter-track {
		all: unset;
		box-sizing: border-box;
		display: block;
		position: relative;
		width: 100%;
		height: 8px;
		overflow: hidden;
		border-radius: var(--border-radius);
		background-color: var(--color-bg-hover);
		border: var(--border-default);
	}

	.meter-fill.svelte-dgpmys {
		height: 100%;
		border-radius: inherit;
		background-color: var(--color-text-primary);
		transition: width 0.2s ease;
	}

	.inbox.svelte-1t57rwi {
		height: var(--height-content);
		padding: var(--spacing-md);
		grid-template-rows: none;
		align-content: start;
	}

	.common.svelte-py537s {
		all: unset;
		box-sizing: border-box;
		color: var(--color-text-secondary);
		display: inline-flex;
		align-items: center;
		gap: 2px;
		text-decoration: underline;
		cursor: pointer;
		&:hover {
			color: var(--color-text-primary);
		}
		&:disabled {
			opacity: var(--opacity-disabled);
			cursor: not-allowed;
			pointer-events: none;
		}
	}

	.metadata-table.svelte-1l421uk {
		display: grid;
		grid-template-columns: max-content 1fr;
		row-gap: var(--spacing-md);
		column-gap: var(--spacing-sm);
		align-items: start;
		@media (max-width: 768px) {
			display: flex;
			flex-direction: column;
			gap: var(--spacing-xl);
		}
	}
	.metadata-table-item.svelte-1l421uk {
		display: contents;
		@media (max-width: 768px) {
			display: flex;
			flex-direction: column;
			gap: 0;
		}
	}
	.metadata-table-label.svelte-1l421uk {
		font-weight: bold;
		display: flex;
		flex-direction: row;
		align-items: start;
		gap: var(--spacing-sm);
		max-width: 250px;
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
		color: var(--color-text-secondary);
		line-height: 1;
		text-transform: capitalize;
		padding-right: var(--spacing-sm);
		@media (max-width: 768px) {
			max-width: none;
			white-space: normal;
			padding-right: 0;
			margin-bottom: 0;
		}
	}
	.metadata-table-value.svelte-1l421uk {
		min-width: 0;
		line-height: 1;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	.metadata-table-value.svelte-1l421uk a,
	.metadata-table-value.svelte-1l421uk code {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.did-copy-field.svelte-a6b2gg {
		display: flex;
		flex-wrap: wrap;
		gap: var(--spacing-sm);
		align-items: center;
	}

	.label.svelte-a6b2gg {
		font-size: var(--font-size-sm);
		color: var(--color-text-secondary);
	}

	code.svelte-a6b2gg {
		flex: 1 1 12rem;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-size: var(--font-size-sm);
		padding: var(--spacing-xs) var(--spacing-sm);
		background: var(--color-bg-paper);
		border: var(--border-default);
		border-radius: var(--border-radius);
	}

	.geoteams-id-qr.svelte-1r19g7d {
		width: min(12rem, 100%);
		line-height: 0;
	}

	.geoteams-id-qr.svelte-1r19g7d svg {
		display: block;
		width: 100%;
		height: auto;
	}

	.title-box.svelte-ycfj51 {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.link-secondary.svelte-ycfj51 {
		display: inline-flex;
		align-items: center;
		font-size: var(--font-size-sm);
		gap: var(--spacing-xs);
		color: var(--color-text-secondary);
		text-decoration: none;
		&:hover {
			opacity: var(--opacity-hover);
		}
	}
.ProseMirror {
  word-wrap: break-word;
  white-space: pre-wrap;
  white-space: break-spaces;
  -webkit-font-variant-ligatures: none;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0;
  position: relative;
}

.ProseMirror pre {
  white-space: pre-wrap;
}

.ProseMirror li {
  position: relative;
}

.ProseMirror-hideselection ::selection {
  background: none;
}

.ProseMirror-hideselection ::selection {
  background: none;
}

.ProseMirror-hideselection {
  caret-color: #0000;
}

.ProseMirror [draggable][contenteditable="false"] {
  user-select: text;
}

.ProseMirror-selectednode {
  outline: 2px solid #8cf;
}

li.ProseMirror-selectednode {
  outline: none;
}

li.ProseMirror-selectednode:after {
  content: "";
  pointer-events: none;
  border: 2px solid #8cf;
  position: absolute;
  inset: -2px -2px -2px -32px;
}

img.ProseMirror-separator {
  border: none !important;
  margin: 0 !important;
  display: inline !important;
}

:root {
  --prosekit-list-bullet-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='2.5' fill='currentColor'/%3E%3C/svg%3E");
  --prosekit-list-toggle-open-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpolygon points='8,10 12,14 16,10' fill='currentColor'/%3E%3C/svg%3E");
  --prosekit-list-toggle-closed-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpolygon points='10,8 14,12 10,16' fill='currentColor'/%3E%3C/svg%3E");
}

.prosemirror-flat-list {
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
}

.prosemirror-flat-list > .list-marker {
  width: 1.5em;
  width: 1lh;
  height: 1.5em;
  text-align: center;
  height: 1lh;
  position: absolute;
  inset-inline-start: 0;
}

.prosemirror-flat-list > .list-content {
  margin-inline-start: 1.5em;
  margin-inline-start: 1lh;
}

.prosemirror-flat-list[data-list-kind="bullet"] > .list-marker, .prosemirror-flat-list[data-list-kind="toggle"] > .list-marker {
  background-color: currentColor;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.prosemirror-flat-list[data-list-kind="bullet"] > .list-marker {
  mask-image: var(--prosekit-list-bullet-icon);
}

.prosemirror-flat-list[data-list-kind="toggle"] > .list-marker {
  mask-image: var(--prosekit-list-toggle-open-icon);
}

.prosemirror-flat-list[data-list-kind="toggle"][data-list-collapsable][data-list-collapsed] > .list-marker {
  mask-image: var(--prosekit-list-toggle-closed-icon);
}

.prosemirror-flat-list[data-list-kind="ordered"] > * {
  contain: style;
}

.prosemirror-flat-list[data-list-kind="ordered"]:before {
  inset-inline-end: calc(100% - 1.5em);
  content: counter(prosemirror-flat-list-counter, decimal) ". ";
  font-variant-numeric: tabular-nums;
  position: absolute;
  inset-inline-end: calc(100% - 1lh);
}

.prosemirror-flat-list[data-list-kind="ordered"] {
  counter-increment: prosemirror-flat-list-counter;
}

.prosemirror-flat-list[data-list-kind="ordered"]:first-child, :not(.prosemirror-flat-list[data-list-kind="ordered"]) + .prosemirror-flat-list[data-list-kind="ordered"] {
  counter-reset: prosemirror-flat-list-counter;
}

@supports (counter-set: prosemirror-flat-list-counter 1) {
  :is(.prosemirror-flat-list[data-list-kind="ordered"]:first-child, :not(.prosemirror-flat-list[data-list-kind="ordered"]) + .prosemirror-flat-list[data-list-kind="ordered"])[data-list-order] {
    counter-set: prosemirror-flat-list-counter var(--prosemirror-flat-list-order);
  }
}

@supports not (counter-set: prosemirror-flat-list-counter 1) {
  :is(.prosemirror-flat-list[data-list-kind="ordered"]:first-child, :not(.prosemirror-flat-list[data-list-kind="ordered"]) + .prosemirror-flat-list[data-list-kind="ordered"])[data-list-order] {
    counter-increment: prosemirror-flat-list-counter var(--prosemirror-flat-list-order);
  }
}

.prosemirror-flat-list[data-list-kind="task"] > .list-marker, .prosemirror-flat-list[data-list-kind="task"] > .list-marker * {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  display: flex;
}

.prosemirror-flat-list[data-list-kind="toggle"][data-list-collapsable] > .list-marker {
  cursor: pointer;
}

.prosemirror-flat-list[data-list-kind="toggle"]:not([data-list-collapsable]) > .list-marker {
  opacity: .4;
  pointer-events: none;
}

.prosemirror-flat-list[data-list-kind="toggle"][data-list-collapsable][data-list-collapsed] > .list-content > :nth-child(n+2) {
  display: none;
}

.ProseMirror .tableWrapper {
  overflow-x: auto;
}

.ProseMirror table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}

.ProseMirror td, .ProseMirror th {
  box-sizing: border-box;
  vertical-align: top;
  border-width: 1px;
  padding-left: .75rem;
  padding-right: .75rem;
  position: relative;
}

prosekit-table-handle-drop-indicator {
  background-color: highlighttext;
}

.ProseMirror .column-resize-handle {
  z-index: 20;
  pointer-events: none;
  background-color: highlighttext;
  width: 4px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -2px;
}

.ProseMirror.resize-cursor {
  cursor: ew-resize;
  cursor: col-resize;
}

.ProseMirror .selectedCell {
  --color: 210, 100%, 56%;
  border: 1px double hsl(var(--color));
  background-color: hsla(var(--color), 20%);
}

.prosekit-placeholder:before {
  content: attr(data-placeholder);
  opacity: .3;
  pointer-events: none;
  height: 0;
  position: absolute;
}

.prosekit-virtual-selection {
  background-color: #8888884d;
  border-radius: 2px;
  box-shadow: 0 0 0 2px #8888884d;
}

.prosekit-commit-deletion {
  background-color: #e5534b80;
  text-decoration: line-through;
}

.prosekit-commit-addition {
  background-color: #53e54b80;
}

.ProseMirror-gapcursor {
  pointer-events: none;
  display: none;
  position: relative;
}

.ProseMirror-gapcursor:after {
  content: "";
  border-top: 1px solid;
  width: 20px;
  animation: 1.1s steps(2, start) infinite ProseMirror-cursor-blink;
  display: block;
  position: absolute;
  top: -2px;
}

@keyframes ProseMirror-cursor-blink {
  to {
    visibility: hidden;
  }
}

.ProseMirror-focused .ProseMirror-gapcursor {
  display: block;
}

prosekit-autocomplete-root, prosekit-block-handle-root, prosekit-table-handle-root, prosekit-table-handle-column-menu-root, prosekit-table-handle-row-menu-root, prosekit-tooltip-root, prosekit-menu-root {
  display: contents;
}

prosekit-tooltip-positioner, prosekit-autocomplete-positioner, prosekit-menu-positioner, prosekit-popover-positioner, prosekit-inline-popover-positioner, prosekit-block-handle-positioner, prosekit-table-handle-column-positioner, prosekit-table-handle-row-positioner {
  background: none;
}

:is(prosekit-tooltip-positioner, prosekit-autocomplete-positioner, prosekit-menu-positioner, prosekit-popover-positioner, prosekit-inline-popover-positioner, prosekit-block-handle-positioner, prosekit-table-handle-column-positioner, prosekit-table-handle-row-positioner):not([data-state]) {
  display: none;
}

	.editor-content.svelte-1katzwh {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: var(--spacing-sm);
		box-sizing: border-box;
		position: relative;
	}

	.editor-content.svelte-1katzwh,
	.editor-content-inner.svelte-1katzwh {
		box-sizing: border-box;
		width: 100%;
		flex: 1;
	}

	/* Typography / lists: `.prose` in styles/src/prose.css (do not import ProseKit list CSS). */
	.ProseMirror {
		box-sizing: border-box;
		font-size: var(--font-size-md);
		line-height: var(--line-height-prose);
		/* Match TextField: one-line control height; grows with content. */
		min-height: var(--height-field);
		padding-inline: var(--spacing-sm);
		padding-block: calc((var(--height-field) - 1lh) / 2);
		border: none;
		margin-block-end: 0 !important;
		outline: none;
	}

	.ProseMirror span[data-mention] {
		color: var(--color-text-link);
		font-weight: var(--font-weight-bold);
	}

	.rich-text-field-container.svelte-3yz11m {
		border: var(--border-default);
		border-radius: var(--border-radius);
		overflow: hidden;
	}

	.rich-text-field-container.svelte-3yz11m:focus-within {
		border-color: var(--color-focus);
	}

	.picker-row.svelte-3wiuj8 {
		display: flex;
		align-items: center;
		gap: var(--spacing-sm);
		min-width: 0;
	}

	.picker-field.svelte-3wiuj8 {
		flex: 1;
		min-width: 0;
	}

	.changelog.svelte-c3nf25 {
		height: var(--height-content);
		overflow-y: auto;
		padding: var(--spacing-lg);
	}

	.history.svelte-1cbqzu8 {
		margin-top: var(--spacing-md);
	}

	.field-panel.svelte-3zkb6h {
		padding-top: var(--spacing-md);
	}

	.geo-block.svelte-3zkb6h {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-sm);
	}

	.geo-place-btn.svelte-3zkb6h {
		align-self: flex-start;
	}

	.read-only.svelte-3zkb6h {
		opacity: 0.95;
	}

	.message-editor-container.svelte-2j5mco {
		display: flex;
		gap: var(--spacing-md);
		width: 100%;
		align-items: flex-end;
	}
	.message-editor-wrapper.svelte-2j5mco {
		border: var(--border-default);
		background-color: var(--color-bg-paper);
		border-radius: var(--border-radius);
	}

	.message-editor-wrapper.svelte-2j5mco:focus-within {
		border-color: var(--color-focus);
	}

	.comms-wrapper.svelte-1qjr2ln {
		display: flex;
		flex-direction: column;
		height: var(--height-content);
		min-height: 0;
		overflow: hidden;
	}

	.messages-container.svelte-1qjr2ln {
		flex: 1;
		padding: var(--spacing-md);
		display: flex;
		flex-direction: column;
		overflow: hidden;
		min-height: 0;
	}

	.messages-scroll-container.svelte-1qjr2ln {
		overflow-y: auto;
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: var(--spacing-md);
		min-height: 0;
	}

	.message-editor-wrapper.svelte-1qjr2ln {
		flex: 0 0 auto;
		border-top: var(--border-default);
		background-color: var(--color-bg-primary);
		padding: var(--spacing-md);
	}

	.day-separator.svelte-1qjr2ln {
		text-align: center;
		font-size: var(--font-size-xs);
		color: var(--color-text-secondary);
		padding: var(--spacing-xs) 0;
	}

	.message-bubble.svelte-1qjr2ln {
		width: 100%;
		padding: var(--spacing-sm) var(--spacing-md);
		border-radius: var(--border-radius);
		background-color: var(--color-bg-secondary);
	}

	.message-meta.svelte-1qjr2ln {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: var(--spacing-xs) var(--spacing-sm);
	}

	.author.svelte-1qjr2ln {
		font-size: var(--font-size-xs);
		font-weight: var(--font-weight-bold);
		color: var(--color-text-primary);
	}

	.timestamp.svelte-1qjr2ln {
		font-size: var(--font-size-xs);
		color: var(--color-text-secondary);
	}

	.message-body.svelte-1qjr2ln {
		margin: var(--spacing-xs) 0 0;
		font-size: var(--font-size-sm);
		color: var(--color-text-primary);
		word-break: break-word;
	}

	.message-body.plain.svelte-1qjr2ln {
		white-space: pre-wrap;
	}

	.help-article.svelte-57trw4 {
		overflow-y: auto;
		height: 100%;
		max-height: var(--height-content);
		padding: var(--spacing-lg) 0;
	}
