.tim-app {
	--tim-ink: #172033;
	--tim-muted: #617089;
	--tim-line: #dce3ec;
	--tim-soft: #f4f7fb;
	--tim-card: #fff;
	--tim-accent: #2457d6;
	--tim-accent-dark: #173d9d;
	--tim-warning: #a74700;
	color: var(--tim-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	box-sizing: border-box;
	margin: 1.25rem auto;
	max-width: 1440px;
	min-width: 0;
	width: 100%;
}

/* TIM 3.0 collector-grade media, evidence, and operations interfaces. */
.tim-media-editor-grid,
.tim-photo-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

.tim-media-editor-card,
.tim-photo-gallery figure {
	margin: 0;
	padding: .75rem;
	border: 1px solid var(--tim-border, #d8e1ee);
	border-radius: 12px;
	background: #fff;
}

.tim-media-editor-card img,
.tim-photo-gallery img {
	display: block;
	width: 100%;
	height: 150px;
	object-fit: contain;
	border-radius: 8px;
	background: #f7f9fc;
}

.tim-media-editor-card input,
.tim-media-editor-card select {
	width: 100%;
	margin-top: .5rem;
}

.tim-media-editor-card label {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	margin: .6rem .75rem 0 0;
}

.tim-media-editor-card label input {
	width: auto;
	margin: 0;
}

.tim-photo-gallery figcaption {
	display: grid;
	gap: .2rem;
	margin-top: .65rem;
}

.tim-photo-gallery figcaption span,
.tim-photo-gallery figcaption strong {
	overflow-wrap: anywhere;
}

.tim-document-editor-list,
.tim-custom-fields {
	display: grid;
	gap: .65rem;
	margin-top: 1rem;
}

.tim-document-editor-list > div,
.tim-custom-fields > div {
	display: grid;
	grid-template-columns: minmax(180px, 1.4fr) minmax(160px, 1fr) minmax(140px, .8fr) auto;
	gap: .65rem;
	align-items: center;
}

.tim-custom-fields > div {
	grid-template-columns: minmax(160px, .8fr) minmax(220px, 1.5fr);
}

.tim-compact-table {
	margin-top: 1rem;
}

.tim-notice-warning {
	background: #fff8e6;
	border-left: 4px solid #d97706;
	color: #815600;
}

.tim-barcode-field {
	display: flex;
	gap: .5rem;
}

.tim-barcode-field input {
	min-width: 0;
	flex: 1;
}

.tim-barcode-dialog {
	width: min(92vw, 620px);
	border: 0;
	border-radius: 16px;
	padding: 1rem;
	box-shadow: 0 24px 80px rgb(15 23 42 / .35);
}

.tim-barcode-dialog::backdrop {
	background: rgb(15 23 42 / .72);
}

.tim-barcode-dialog form {
	float: right;
}

.tim-barcode-dialog video {
	display: block;
	width: 100%;
	max-height: 55vh;
	object-fit: cover;
	border-radius: 10px;
	background: #111827;
}

@media (max-width: 760px) {
	.tim-document-editor-list > div,
	.tim-custom-fields > div {
		grid-template-columns: 1fr;
	}
}

.tim-app *,
.tim-app *::before,
.tim-app *::after {
	box-sizing: border-box;
}

.tim-header,
.tim-actions,
.tim-section-heading,
.tim-nav,
.tim-filters {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.tim-actions {
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 1rem 0;
}

.tim-header {
	background: linear-gradient(135deg, #16233d, #274c77);
	border-radius: 18px 18px 0 0;
	color: #fff;
	min-height: 0;
	padding: 1.2rem 1.6rem;
	position: relative;
}

.tim-header h1,
.tim-section-heading h2,
.tim-panel h3,
.tim-item-card h3 {
	margin: 0;
}

.tim-header h1,
.tim-header .tim-eyebrow {
	color: #fff !important;
}

.tim-header h1 {
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.1;
	margin: .15rem 0 .45rem !important;
	padding: 0 !important;
}

.tim-eyebrow {
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .12em;
	margin: 0 0 .35rem;
	text-transform: uppercase;
}

.tim-header .tim-eyebrow {
	line-height: 1.1;
	margin: 0 0 .25rem !important;
}

.tim-muted,
.tim-app small {
	color: var(--tim-muted);
}

.tim-header .tim-muted {
	color: #d8e4f5;
	line-height: 1.35;
	margin: 0 !important;
}

.tim-access-required {
	background: #fff;
	border: 1px solid var(--tim-line);
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(23, 32, 51, .08);
	margin: 2rem auto;
	max-width: 760px;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.tim-access-required h1 {
	font-size: clamp(1.7rem, 3vw, 2.35rem);
	margin: .25rem 0 .75rem;
}

.tim-access-required p:not(.tim-eyebrow) {
	color: var(--tim-muted);
	font-size: 1.05rem;
	line-height: 1.55;
	margin: 0 0 1rem;
}

.tim-login-required {
	max-width: 1440px;
}

.tim-public-gate {
	background: #fff;
	border: 1px solid var(--tim-line);
	border-radius: 28px;
	box-shadow: 0 28px 80px rgba(23, 32, 51, .1);
	overflow: hidden;
}

.tim-public-landing {
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(135deg, rgba(36, 87, 214, .4), rgba(229, 116, 36, .35)) border-box;
	border: 1px solid transparent;
}

.tim-public-hero {
	align-items: stretch;
	background: linear-gradient(135deg, #16233d, #274c77);
	color: #fff;
	display: grid;
	gap: clamp(2rem, 4vw, 4.5rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
	overflow: hidden;
	padding: clamp(2rem, 4vw, 3.75rem);
	position: relative;
}

.tim-public-hero::before {
	background:
		radial-gradient(circle at 20% 20%, rgba(255, 255, 255, .16), transparent 28%),
		linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px);
	background-size: auto, 70px 70px;
	content: "";
	inset: 0;
	opacity: .55;
	position: absolute;
}

.tim-public-copy,
.tim-public-scene {
	position: relative;
	z-index: 1;
}

.tim-public-copy {
	align-self: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 720px;
}

.tim-public-copy .tim-eyebrow {
	font-size: clamp(1.55rem, 2.4vw, 2.25rem);
	letter-spacing: .08em;
	line-height: 1.1;
	margin: 0 0 .8rem;
}

.tim-public-copy h1 {
	color: #fff;
	font-size: clamp(2.65rem, 5.2vw, 5rem);
	line-height: 1.05;
	letter-spacing: -.05em;
	margin: 0 0 1rem;
}

.tim-public-lede {
	color: #d8e4f5;
	font-size: clamp(1.05rem, 1.8vw, 1.35rem);
	line-height: 1.55;
	margin: 0 0 1.5rem;
	max-width: 680px;
}

.tim-public-scene {
	align-self: center;
	min-width: 0;
}

.tim-public-preview {
	background: rgba(248, 251, 255, .98);
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 24px;
	box-shadow: 0 28px 70px rgba(5, 15, 35, .3);
	color: var(--tim-ink);
	overflow: hidden;
}

.tim-public-preview-head,
.tim-public-preview-footer {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 1.15rem 1.25rem;
}

.tim-public-preview-head {
	border-bottom: 1px solid var(--tim-line);
}

.tim-public-preview-head > div:first-child {
	display: grid;
	gap: .25rem;
}

.tim-public-preview-kicker,
.tim-public-feature-kicker {
	color: var(--tim-accent);
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.tim-public-preview-status {
	background: #e4f7ef;
	border: 1px solid #a9dfc9;
	border-radius: 999px;
	color: #126348;
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .05em;
	padding: .45rem .65rem;
	text-transform: uppercase;
}

.tim-public-preview-identity {
	align-items: center;
	display: flex;
	gap: .85rem;
}

.tim-public-train-mark {
	align-items: center;
	background: linear-gradient(145deg, #fff, #e7effb);
	border: 1px solid #c5d4e8;
	border-radius: 50%;
	box-shadow: 0 10px 25px rgba(23, 61, 157, .18);
	display: inline-flex;
	flex: 0 0 auto;
	height: 96px;
	justify-content: center;
	width: 96px;
}

.tim-public-train-mark img {
	display: block;
	height: 68px;
	object-fit: contain;
	width: 68px;
}

.tim-public-readiness {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: 96px minmax(0, 1fr);
	padding: 1.35rem 1.25rem 1rem;
}

.tim-public-readiness-ring {
	align-items: center;
	background: radial-gradient(circle, #fff 56%, transparent 58%), conic-gradient(#2f72e5 0 86%, #dbe5f2 86% 100%);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	height: 88px;
	justify-content: center;
	width: 88px;
}

.tim-public-readiness-ring strong {
	font-size: 1rem;
	line-height: 1;
}

.tim-public-readiness-ring span {
	color: var(--tim-muted);
	font-size: .68rem;
	margin-top: .25rem;
}

.tim-public-readiness p {
	color: var(--tim-muted);
	font-size: .9rem;
	line-height: 1.45;
	margin: .35rem 0 0;
}

.tim-public-preview-checks {
	display: grid;
	gap: .55rem;
	padding: 0 1.25rem 1.25rem;
}

.tim-public-preview-checks > div {
	align-items: center;
	background: #fff;
	border: 1px solid var(--tim-line);
	border-radius: 12px;
	display: grid;
	gap: .65rem;
	grid-template-columns: 24px minmax(0, 1fr) auto;
	padding: .7rem .8rem;
}

.tim-public-preview-checks span {
	align-items: center;
	background: #e4f7ef;
	border-radius: 50%;
	color: #126348;
	display: inline-flex;
	font-size: .72rem;
	height: 24px;
	justify-content: center;
	width: 24px;
}

.tim-public-preview-checks small {
	color: var(--tim-muted);
}

.tim-public-preview-footer {
	background: #eaf1ff;
	border-top: 1px solid #cfddf5;
	color: var(--tim-accent-dark);
	font-size: .86rem;
}

.tim-public-gate-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	justify-content: flex-start;
	margin-top: 1rem;
}

.tim-button-light {
	background: rgba(255, 255, 255, .12);
	border-color: rgba(255, 255, 255, .35);
	color: #fff;
}

.tim-button-light:hover {
	background: #fff;
	border-color: #fff;
	color: var(--tim-accent-dark);
}

.tim-public-features {
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.tim-public-features-heading {
	margin-bottom: 1.4rem;
	max-width: 760px;
}

.tim-public-features-heading .tim-eyebrow {
	color: var(--tim-accent);
	margin: 0 0 .4rem;
}

.tim-public-features-heading h2 {
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	letter-spacing: -.025em;
	margin: 0 0 .5rem;
}

.tim-public-features-heading > p:last-child {
	color: var(--tim-muted);
	font-size: 1.02rem;
	line-height: 1.5;
	margin: 0;
}

.tim-public-feature-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tim-public-feature {
	background: var(--tim-soft);
	border: 1px solid var(--tim-line);
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	min-height: 190px;
	padding: 1.25rem;
	position: relative;
}

.tim-public-feature::after {
	background: linear-gradient(90deg, var(--tim-accent), #6d9aff);
	border-radius: 999px;
	content: "";
	height: 3px;
	left: 1.25rem;
	top: 0;
	position: absolute;
	width: 42px;
}

.tim-public-feature-highlight {
	background: linear-gradient(145deg, #eef4ff, #f7fbff);
	border-color: #b9cdf4;
}

.tim-public-feature h2 {
	font-size: 1.15rem;
	margin: .7rem 0 .45rem;
}

.tim-public-feature p {
	color: var(--tim-muted);
	line-height: 1.5;
	margin: 0;
}

@media (max-width: 1080px) {
	.tim-public-hero {
		grid-template-columns: 1fr;
	}

	.tim-public-copy {
		max-width: 820px;
	}

	.tim-public-scene {
		max-width: 680px;
		width: 100%;
	}

	.tim-public-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


.tim-context-switcher {
	min-width: 260px;
}

.tim-context-switcher select {
	min-height: 2.6rem;
}

.tim-context-switcher label,
.tim-form label,
.tim-filters label {
	display: grid;
	font-size: .86rem;
	font-weight: 700;
	gap: .35rem;
}

.tim-nav-shell {
	background: #fff;
	border: 1px solid var(--tim-line);
	border-top: 0;
	padding: .5rem;
}

.tim-nav {
	border: 0;
	display: grid;
	gap: .35rem;
	grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
	overflow: visible;
	padding: 0;
}

.tim-nav-toggle {
	display: none;
}

.tim-nav a {
	align-items: center;
	display: flex;
	justify-content: center;
	min-width: 0;
	padding: .6rem 1rem;
	border-radius: 999px;
	color: var(--tim-muted);
	font-weight: 700;
	line-height: 1.25;
	min-height: 42px;
	overflow-wrap: anywhere;
	text-align: center;
	text-decoration: none;
	white-space: normal;
}

.tim-nav a.is-active,
.tim-nav a:hover {
	background: var(--tim-soft);
	color: var(--tim-accent);
}

.tim-main {
	background: #fff;
	border: 1px solid var(--tim-line);
	border-radius: 0 0 18px 18px;
	border-top: 0;
	min-height: 460px;
	padding: 2rem;
}

.tim-section-heading {
	margin-bottom: 1.25rem;
}

.tim-spaced {
	margin-top: 2rem;
}

.tim-pagination {
	display: flex;
	justify-content: center;
	margin-top: 1.5rem;
}

.tim-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tim-pagination a,
.tim-pagination .current {
	display: grid;
	min-width: 40px;
	min-height: 40px;
	padding: .45rem .7rem;
	place-items: center;
	border: 1px solid var(--tim-line);
	border-radius: 9px;
	background: var(--tim-card);
	color: var(--tim-ink);
	text-decoration: none;
}

.tim-pagination .current {
	border-color: var(--tim-primary);
	background: var(--tim-primary);
	color: #fff;
}

.tim-metrics,
.tim-card-grid,
.tim-dashboard-grid,
.tim-detail-grid,
.tim-form-grid {
	display: grid;
	gap: 1rem;
}

.tim-metrics {
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.tim-stat-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	margin: 1rem 0;
}

.tim-metric,
.tim-stat-card,
.tim-panel,
.tim-item-card {
	border: 1px solid var(--tim-line);
	border-radius: 14px;
	background: #fff;
	padding: 1.15rem;
}

.tim-stat-card {
	display: grid;
	gap: .25rem;
}

.tim-stat-card span,
.tim-stat-card small {
	color: var(--tim-muted);
}

.tim-stat-card strong {
	color: var(--tim-ink);
	font-size: 1.1rem;
}

.tim-metric {
	display: grid;
	gap: .2rem;
}

.tim-metric strong {
	font-size: 1.8rem;
}

.tim-metric.warning {
	background: #fff6ed;
	border-color: #f1b98e;
	color: var(--tim-warning);
}

.tim-dashboard-grid,
.tim-detail-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1rem;
}

.tim-dashboard-insights {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	margin-top: 1rem;
}

.tim-insight-panel {
	min-width: 0;
}

.tim-insight-heading {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.tim-insight-copy {
	font-size: .86rem;
	margin: .65rem 0 1rem;
}

.tim-readiness-ring {
	align-items: center;
	background: radial-gradient(circle, var(--tim-card) 59%, transparent 61%), conic-gradient(var(--tim-accent) var(--tim-progress), var(--tim-line) 0);
	border-radius: 50%;
	display: flex;
	flex: 0 0 78px;
	flex-direction: column;
	height: 78px;
	justify-content: center;
	width: 78px;
}

.tim-readiness-ring strong {
	font-size: 1.2rem;
	line-height: 1;
}

.tim-readiness-ring span {
	color: var(--tim-muted);
	font-size: .68rem;
	margin-top: .2rem;
}

.tim-progress-list,
.tim-basis-list,
.tim-category-bars {
	display: grid;
	gap: .75rem;
}

.tim-progress-row,
.tim-basis-row,
.tim-category-bar {
	display: grid;
	gap: .3rem;
}

.tim-progress-row > div:first-child,
.tim-basis-row > div:first-child,
.tim-category-bar > div:first-child {
	display: flex;
	font-size: .82rem;
	gap: .75rem;
	justify-content: space-between;
}

.tim-progress-row a,
.tim-insight-link {
	color: var(--tim-accent);
	font-size: .76rem;
	font-weight: 700;
	text-decoration: none;
}

.tim-progress-track {
	background: var(--tim-soft);
	border-radius: 99px;
	height: 7px;
	overflow: hidden;
}

.tim-progress-track span {
	background: var(--tim-accent);
	border-radius: inherit;
	display: block;
	height: 100%;
}

.tim-basis-row small {
	color: var(--tim-muted);
	font-size: .7rem;
}

.tim-basis-appraised .tim-progress-track span { background: #1f9d73; }
.tim-basis-replacement .tim-progress-track span { background: #2f72e5; }
.tim-basis-estimated .tim-progress-track span { background: #8b5cf6; }
.tim-basis-purchase .tim-progress-track span { background: #d68a16; }
.tim-basis-unvalued .tim-progress-track span { background: #cf6868; }

.tim-category-bar a {
	color: var(--tim-ink);
	font-weight: 700;
	min-width: 0;
	overflow: hidden;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tim-insight-link {
	display: inline-block;
	margin-top: 1rem;
}

.tim-card-grid {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.tim-item-card h3 {
	font-size: 1.05rem;
	margin: .8rem 0 .25rem;
}

.tim-item-card h3 a {
	color: var(--tim-ink);
	text-decoration: none;
}

.tim-item-image {
	background: var(--tim-soft);
	border: 1px solid var(--tim-line);
	border-radius: 12px;
	margin: 0;
	overflow: hidden;
	position: relative;
}

.tim-item-image img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.tim-item-image-link {
	color: inherit;
	display: block;
	text-decoration: none;
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.tim-item-image-link:hover {
	border-color: var(--tim-accent);
	box-shadow: 0 8px 22px rgb(36 87 214 / .16);
	transform: translateY(-1px);
}

.tim-item-image-link:focus-visible {
	border-color: var(--tim-accent);
	box-shadow: 0 0 0 3px rgb(36 87 214 / .24);
	outline: 2px solid transparent;
}

.tim-item-image-card {
	aspect-ratio: 4 / 3;
	margin-bottom: 1rem;
}

.tim-item-image-detail,
.tim-item-image-form {
	margin-bottom: 1rem;
	max-width: 420px;
}

.tim-related-set-image {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(190px, .65fr) minmax(280px, 1.35fr);
	margin: 0 0 1.25rem;
	max-width: 820px;
}

.tim-related-set-image .tim-button {
	align-self: end;
}

.tim-item-image-set img {
	max-height: 440px;
	object-fit: contain;
}

.tim-item-image-detail img,
.tim-item-image-form img {
	height: auto;
}

.tim-item-image-table {
	height: 64px;
	min-width: 84px;
	width: 84px;
}

.tim-item-image-placeholder {
	align-items: center;
	color: var(--tim-muted);
	display: flex;
	flex-direction: column;
	gap: .35rem;
	justify-content: center;
	min-height: 120px;
	padding: 1rem;
	text-align: center;
}

.tim-item-image-placeholder span {
	font-size: 1.5rem;
}

.tim-item-image-placeholder a {
	color: var(--tim-accent);
}

.tim-item-image-table.tim-item-image-placeholder {
	font-size: .72rem;
	min-height: 64px;
	padding: .35rem;
}

.tim-item-image-table.tim-item-image-placeholder span {
	display: none;
}

.tim-reference-image-caption {
	background: var(--tim-soft);
	display: grid;
	font-size: .82rem;
	gap: .25rem;
	padding: .75rem;
}

.tim-reference-image-caption small {
	color: var(--tim-muted);
}

.tim-card-topline,
.tim-stat-list li,
.tim-details div,
.tim-link-list li {
	align-items: baseline;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.tim-card-topline {
	color: var(--tim-muted);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.tim-mini-details,
.tim-details {
	display: grid;
	gap: .5rem;
	margin: 1rem 0 0;
}

.tim-mini-details div {
	display: grid;
	gap: .75rem;
	grid-template-columns: minmax(4.5rem, auto) minmax(0, 1fr);
}

.tim-mini-details dt,
.tim-details dt {
	color: var(--tim-muted);
}

.tim-mini-details dt {
	white-space: nowrap;
}

.tim-mini-details dd,
.tim-details dd {
	font-weight: 700;
	margin: 0;
	text-align: right;
}

.tim-mini-details dd {
	min-width: 0;
	overflow-wrap: anywhere;
}

.tim-inventory-number {
	border-top: 1px solid var(--tim-line);
	color: #7b879a;
	font-size: .72rem;
	font-weight: 400;
	margin: 1rem 0 0;
	padding-top: .75rem;
}

.tim-inventory-number span {
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.tim-stat-list,
.tim-link-list,
.tim-timeline {
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
}

.tim-stat-list li,
.tim-link-list li {
	border-bottom: 1px solid var(--tim-line);
	padding: .65rem 0;
}

.tim-link-list li > strong {
	flex: 0 0 auto;
	white-space: nowrap;
}

.tim-reference-list li {
	align-items: flex-start;
}

.tim-reference-note {
	color: var(--tim-muted);
	display: block;
	font-size: .78rem;
	margin-top: .2rem;
}

.tim-reference-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	justify-content: flex-end;
	text-align: right;
}

.tim-reference-actions form {
	margin: 0;
}

.tim-help-note {
	background: var(--tim-soft);
	border-left: 4px solid var(--tim-accent);
	border-radius: 10px;
	color: var(--tim-muted);
	margin: 1rem 0 0;
	padding: .85rem 1rem;
}

.tim-stat-list a {
	color: var(--tim-ink);
	text-decoration: none;
}

.tim-stat-list a:hover {
	color: var(--tim-accent);
	text-decoration: underline;
}

.tim-conflict {
	background: #fff6ed;
	border-left: 4px solid #e57424;
	display: grid;
	gap: .2rem;
	margin-top: .7rem;
	padding: .75rem;
}

.tim-disclaimer {
	background: #f8fbff;
	border-left: 4px solid var(--tim-accent);
	margin-bottom: 1.25rem;
}

.tim-disclaimer p {
	color: var(--tim-muted);
	margin: .5rem 0 0;
}

.tim-filters {
	background: var(--tim-soft);
	border-radius: 12px;
	justify-content: flex-start;
	margin-bottom: 1.25rem;
	padding: 1rem;
}

.tim-filter-row {
	align-items: end;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(220px, 1.35fr) minmax(190px, .8fr) minmax(180px, .65fr) auto;
	width: 100%;
}

.tim-filter-row-expanded {
	grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
}

.tim-filter-row-expanded .tim-filter-search {
	grid-column: span 2;
}

.tim-filter-toolbar {
	align-items: end;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	grid-column: 1 / -1;
}

.tim-filter-toolbar > label {
	flex: 0 1 200px;
}

.tim-filter-view-switch {
	flex: 0 0 280px;
}

.tim-filter-view-switch a {
	min-width: 0;
	white-space: nowrap;
}

.tim-filter-actions {
	align-items: end;
	display: flex;
	flex-wrap: nowrap;
	gap: .5rem;
	min-height: 100%;
	white-space: nowrap;
}

.tim-filter-count {
	color: var(--tim-muted);
	font-size: .85rem;
	margin: 0 0 .7rem auto;
	white-space: nowrap;
}

.tim-view-switch {
	display: grid;
	gap: .45rem;
}

.tim-view-switch > span {
	color: var(--tim-ink);
	font-size: .82rem;
	font-weight: 800;
}

.tim-view-switch a {
	align-items: center;
	background: #fff;
	border: 1px solid #b7c7dc;
	color: var(--tim-ink);
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 44px;
	padding: .55rem .85rem;
	text-decoration: none;
}

.tim-view-switch a:first-of-type {
	border-radius: 8px 0 0 8px;
}

.tim-view-switch a:last-of-type {
	border-left: 0;
	border-radius: 0 8px 8px 0;
}

.tim-view-switch a.is-active {
	background: var(--tim-accent);
	border-color: var(--tim-accent);
	color: #fff;
}

.tim-view-switch a:not(.is-active):hover {
	background: #f8fbff;
	color: var(--tim-accent);
}

.tim-view-switch {
	grid-template-columns: 1fr 1fr;
}

.tim-view-switch > span {
	grid-column: 1 / -1;
}

.tim-heading-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: flex-end;
}

.tim-view-switch-inline {
	align-items: end;
	display: flex;
	gap: 0;
}

.tim-view-switch-inline > span {
	margin-right: .55rem;
}

.tim-view-switch-inline a {
	min-height: 36px;
	padding: .42rem .75rem;
}

.tim-table-wrap {
	border: 1px solid var(--tim-line);
	border-radius: 14px;
	overflow-x: auto;
	width: 100%;
}

.tim-spreadsheet {
	border-collapse: separate;
	border-spacing: 0;
	font-size: .9rem;
	min-width: 1180px;
	width: 100%;
}

.tim-spreadsheet-compact {
	min-width: 920px;
}

.tim-spreadsheet th,
.tim-spreadsheet td {
	border-bottom: 1px solid var(--tim-line);
	padding: .75rem .85rem;
	text-align: left;
	vertical-align: top;
}

.tim-spreadsheet thead th {
	background: var(--tim-soft);
	color: var(--tim-muted);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	position: sticky;
	text-transform: uppercase;
	top: 0;
	z-index: 1;
}

.tim-sort-link {
	color: inherit;
	display: inline-flex;
	gap: .2rem;
	text-decoration: none;
	white-space: nowrap;
}

.tim-sort-link:hover {
	color: var(--tim-accent);
	text-decoration: underline;
}

.tim-spreadsheet tbody tr:hover {
	background: #f8fbff;
}

.tim-spreadsheet tbody tr:last-child th,
.tim-spreadsheet tbody tr:last-child td {
	border-bottom: 0;
}

.tim-spreadsheet a {
	color: var(--tim-ink);
	text-decoration: none;
}

.tim-spreadsheet a:hover {
	color: var(--tim-accent);
	text-decoration: underline;
}

.tim-spreadsheet .tim-number {
	text-align: right;
	white-space: nowrap;
}

.tim-inventory-cell {
	color: var(--tim-muted);
	font-size: .8rem;
	white-space: nowrap;
}

.tim-photo-cell {
	width: 110px;
}

.tim-item-navigation {
	align-items: stretch;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	margin: 0 0 1.25rem;
}

.tim-item-navigation > a,
.tim-item-navigation > span {
	background: var(--tim-soft);
	border: 1px solid var(--tim-line);
	border-radius: 10px;
	color: var(--tim-ink);
	display: grid;
	font-size: .82rem;
	gap: .15rem;
	justify-content: start;
	padding: .65rem .8rem;
	text-decoration: none;
}

.tim-item-navigation > :last-child {
	justify-content: end;
	text-align: right;
}

.tim-item-navigation .tim-item-navigation-back {
	align-items: center;
	display: flex;
	justify-content: center;
}

.tim-item-navigation .is-disabled {
	color: var(--tim-muted);
	opacity: .65;
}

.tim-form {
	display: grid;
	gap: 1.25rem;
}

.tim-form.compact {
	gap: .8rem;
	padding-top: 1rem;
}

.tim-form fieldset {
	border: 1px solid var(--tim-line);
	border-radius: 14px;
	padding: 1rem;
}

.tim-form legend {
	font-weight: 800;
	padding: 0 .4rem;
}

.tim-form-grid {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.tim-checkbox-field {
	align-items: start;
	background: var(--tim-soft);
	border: 1px solid var(--tim-line);
	border-radius: 10px;
	display: flex !important;
	gap: .75rem !important;
	margin-top: 1rem;
	padding: .85rem 1rem;
}

.tim-checkbox-field input[type="checkbox"] {
	flex: 0 0 auto;
	height: 1.1rem;
	margin-top: .15rem;
	width: 1.1rem;
}

.tim-checkbox-field span {
	display: grid;
	gap: .2rem;
}

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

.tim-app input,
.tim-app select,
.tim-app textarea {
	background: #fff;
	border: 1px solid #bcc8d8;
	border-radius: 8px;
	color: var(--tim-ink);
	font: inherit;
	padding: .65rem .75rem;
	width: 100%;
}

.tim-app select[multiple] {
	min-height: 180px;
}

.tim-settings-primary h4 {
	margin: 0 0 .35rem;
}

.tim-settings-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.tim-settings-grid > div {
	background: var(--tim-soft);
	border: 1px solid transparent;
	border-radius: 12px;
	padding: 1rem;
}

.tim-settings-grid > .tim-settings-card-import {
	border-color: #d7b77b;
}

.tim-settings-grid > .tim-settings-card-export {
	border-color: #b9c8da;
}

.tim-settings-grid > .tim-settings-card-photo,
.tim-photo-enrichment-panel {
	border-color: #8fc4a6;
}

.tim-project-guide {
	margin-bottom: 1.25rem;
}

.tim-project-items {
	border-top: 1px solid var(--tim-line);
	list-style: none;
	margin: 1rem 0;
	padding: .75rem 0 0;
}

.tim-project-items li {
	margin: .25rem 0;
}

.tim-reference-scope {
	color: var(--tim-muted);
	font-size: .72rem;
	font-weight: 700;
	margin-left: .35rem;
}

.tim-reference-scope.is-shared {
	color: #0f7a4f;
}

.tim-reference-scope.is-private {
	color: var(--tim-muted);
}

.tim-button {
	background: #fff;
	border: 1px solid #aab8cc;
	border-radius: 8px;
	color: var(--tim-ink);
	cursor: pointer;
	display: inline-block;
	font-weight: 800;
	padding: .65rem 1rem;
	text-decoration: none;
	width: fit-content;
}

.tim-button-small {
	border-radius: 7px;
	font-size: .82rem;
	padding: .35rem .65rem;
}

.tim-button-primary {
	background: var(--tim-accent);
	border-color: var(--tim-accent);
	color: #fff;
}

.tim-button-danger {
	background: #fff4f4;
	border-color: #cf6868;
	color: #8b2525;
}

.tim-button-danger:hover {
	background: #8b2525;
	border-color: #8b2525;
	color: #fff;
}

.tim-inline-action {
	display: inline-flex;
	margin: 0;
}

.tim-button:hover {
	border-color: var(--tim-accent);
	color: var(--tim-accent-dark);
}

.tim-button-primary:hover {
	background: var(--tim-accent-dark);
	color: #fff;
}

.tim-notice {
	border-radius: 10px;
	margin-bottom: 1rem;
	padding: .8rem 1rem;
}

.tim-notice-success {
	background: #e8f7ee;
	color: #176436;
}

.tim-notice-error {
	background: #fff0f0;
	color: #992f2f;
}

.tim-import-preview {
	border-left: 4px solid var(--tim-accent);
}

.tim-import-recovery {
	border-left: 5px solid #c06b00;
	margin-bottom: 1.25rem;
}

.tim-import-recovery.is-urgent {
	background: #fff8ed;
	border-color: #d56a00;
}

.tim-import-confirm {
	align-items: flex-start;
	background: var(--tim-soft);
	border-radius: 10px;
	margin: 1rem 0;
	padding: 1rem;
}

.tim-import-diagnostics {
	margin-top: 1rem;
}

.tim-import-diagnostics summary {
	cursor: pointer;
	font-weight: 700;
	padding: .5rem 0;
}

.tim-import-error,
.tim-import-warning,
.tim-import-success {
	display: block;
}

.tim-import-error {
	color: #992f2f;
}

.tim-import-warning {
	color: #815600;
}

.tim-import-success {
	color: #176436;
	font-weight: 700;
}

.tim-photo-match-thumbnail {
	background: #fff;
	border: 1px solid var(--tim-line);
	border-radius: 8px;
	display: block;
	height: 84px;
	object-fit: contain;
	width: 120px;
}

.tim-photo-review-table {
	min-width: 1040px;
}

.tim-import-row-table {
	min-width: 900px;
}

.tim-data-table tr.is-selected {
	background: var(--tim-soft);
}

.tim-empty {
	background: var(--tim-soft);
	border-radius: 10px;
	color: var(--tim-muted);
	padding: 1rem;
}

.tim-inline-form {
	border-top: 1px solid var(--tim-line);
	margin-top: 1rem;
	padding-top: 1rem;
}

.tim-inline-form summary {
	cursor: pointer;
	font-weight: 800;
}

.tim-timeline li {
	border-left: 3px solid var(--tim-line);
	margin-bottom: .8rem;
	padding: .25rem 0 .25rem .8rem;
}

.tim-timeline li span {
	color: var(--tim-muted);
	font-size: .8rem;
	margin-left: .6rem;
}

.tim-timeline li p {
	margin: .25rem 0 0;
}

@media (max-width: 760px) {
	.tim-header,
	.tim-section-heading,
	.tim-filters,
	.tim-filter-row,
	.tim-public-hero {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.tim-public-feature-grid {
		grid-template-columns: 1fr;
	}

	.tim-public-scene {
		min-height: 0;
	}

	.tim-public-preview-head,
	.tim-public-preview-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.tim-public-preview-identity {
		justify-content: space-between;
		width: 100%;
	}

	.tim-public-train-mark {
		height: 70px;
		width: 70px;
	}

	.tim-public-train-mark img {
		height: 50px;
		width: 50px;
	}

	.tim-public-readiness {
		grid-template-columns: 76px minmax(0, 1fr);
	}

	.tim-public-readiness-ring {
		height: 70px;
		width: 70px;
	}

	.tim-public-preview-checks > div {
		grid-template-columns: 24px minmax(0, 1fr);
	}

	.tim-public-preview-checks small {
		grid-column: 2;
	}

	.tim-dashboard-grid,
	.tim-detail-grid,
	.tim-dashboard-insights {
		grid-template-columns: 1fr;
	}

	.tim-related-set-image {
		grid-template-columns: 1fr;
	}

	.tim-filter-row-expanded .tim-filter-search {
		grid-column: auto;
	}

	.tim-filter-toolbar {
		display: grid;
		grid-template-columns: 1fr;
	}

	.tim-filter-toolbar > label,
	.tim-filter-view-switch {
		width: 100%;
	}

	.tim-filter-count {
		margin: 0;
	}

	.tim-item-navigation {
		grid-template-columns: 1fr;
	}

	.tim-item-navigation > :last-child {
		justify-content: start;
		text-align: left;
	}

	.tim-main,
	.tim-header {
		padding: 1.2rem;
	}
}

/* Responsive application shell and touch layouts. */
.tim-app,
.tim-app main,
.tim-app section,
.tim-app article,
.tim-app header,
.tim-app nav,
.tim-app form,
.tim-app fieldset,
.tim-app div,
.tim-app dl,
.tim-app ul {
	min-width: 0;
}

.tim-app img,
.tim-app video,
.tim-app canvas,
.tim-app svg {
	max-width: 100%;
}

.tim-app h1,
.tim-app h2,
.tim-app h3,
.tim-app h4,
.tim-app p,
.tim-app a,
.tim-app dd,
.tim-app dt,
.tim-app td,
.tim-app th,
.tim-app label,
.tim-app button {
	overflow-wrap: anywhere;
}

.tim-button,
.tim-app button,
.tim-app input,
.tim-app select,
.tim-app textarea {
	max-width: 100%;
}

.tim-app a:focus-visible,
.tim-app button:focus-visible,
.tim-app input:focus-visible,
.tim-app select:focus-visible,
.tim-app textarea:focus-visible,
.tim-app summary:focus-visible {
	outline: 3px solid rgb(36 87 214 / .35);
	outline-offset: 2px;
}

@media (max-width: 980px) {
	.tim-main {
		padding: 1.5rem;
	}

	.tim-nav {
		grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
	}

	.tim-filter-row,
	.tim-filter-row-expanded {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tim-filter-row-expanded .tim-filter-search,
	.tim-filter-toolbar {
		grid-column: 1 / -1;
	}
}

@media (min-width: 761px) {
	.tim-nav-shell.is-collapsible .tim-nav {
		display: grid;
	}
}

@media (max-width: 760px) {
	.tim-app {
		border-radius: 14px;
		margin: .5rem auto;
		max-width: 100%;
	}

	.tim-header {
		align-items: stretch;
		border-radius: 14px 14px 0 0;
		flex-direction: column;
	}

	.tim-context-switcher {
		min-width: 0;
		width: 100%;
	}

	.tim-context-switcher select {
		width: 100%;
	}

	.tim-nav-shell {
		padding: .55rem;
	}

	.tim-nav-shell.is-collapsible .tim-nav-toggle {
		align-items: center;
		background: #fff;
		border: 1px solid #b7c7dc;
		border-radius: 10px;
		color: var(--tim-ink);
		cursor: pointer;
		display: grid;
		font: inherit;
		gap: .6rem;
		grid-template-columns: auto minmax(0, 1fr) 20px;
		min-height: 48px;
		padding: .65rem .8rem;
		text-align: left;
		width: 100%;
	}

	.tim-nav-toggle-label {
		color: var(--tim-muted);
		font-size: .76rem;
		font-weight: 800;
		letter-spacing: .07em;
		text-transform: uppercase;
	}

	.tim-nav-toggle-current {
		font-weight: 800;
		text-align: right;
	}

	.tim-nav-toggle-icon,
	.tim-nav-toggle-icon::before,
	.tim-nav-toggle-icon::after {
		background: currentColor;
		border-radius: 2px;
		display: block;
		height: 2px;
		position: relative;
		transition: transform .18s ease;
		width: 20px;
	}

	.tim-nav-toggle-icon::before,
	.tim-nav-toggle-icon::after {
		content: "";
		position: absolute;
	}

	.tim-nav-toggle-icon::before {
		top: -6px;
	}

	.tim-nav-toggle-icon::after {
		top: 6px;
	}

	.tim-nav-shell.is-open .tim-nav-toggle-icon {
		background: transparent;
	}

	.tim-nav-shell.is-open .tim-nav-toggle-icon::before {
		top: 0;
		transform: rotate(45deg);
	}

	.tim-nav-shell.is-open .tim-nav-toggle-icon::after {
		top: 0;
		transform: rotate(-45deg);
	}

	.tim-nav-shell.is-collapsible .tim-nav {
		display: none;
	}

	.tim-nav-shell.is-collapsible.is-open .tim-nav {
		display: grid;
	}

	.tim-nav {
		gap: .25rem;
		grid-template-columns: 1fr;
		padding-top: .45rem;
	}

	.tim-nav a {
		border-radius: 8px;
		justify-content: flex-start;
		min-height: 44px;
		padding: .65rem .8rem;
		text-align: left;
	}

	.tim-main {
		min-height: 0;
		padding: 1.1rem;
	}

	.tim-section-heading,
	.tim-heading-actions,
	.tim-card-topline,
	.tim-stat-list li,
	.tim-link-list li,
	.tim-reference-actions {
		align-items: stretch;
		flex-direction: column;
		justify-content: flex-start;
		text-align: left;
	}

	.tim-heading-actions,
	.tim-reference-actions {
		width: 100%;
	}

	.tim-section-heading > .tim-button,
	.tim-heading-actions > .tim-button,
	.tim-reference-actions .tim-button {
		justify-content: center;
		text-align: center;
		width: 100%;
	}

	.tim-dashboard-grid,
	.tim-detail-grid,
	.tim-settings-grid,
	.tim-card-grid,
	.tim-media-editor-grid,
	.tim-photo-gallery,
	.tim-form-grid,
	.tim-metrics,
	.tim-stat-grid {
		grid-template-columns: 1fr;
	}

	.tim-related-set-image,
	.tim-document-editor-list > div,
	.tim-custom-fields > div {
		grid-template-columns: 1fr;
		max-width: 100%;
	}

	.tim-filters {
		display: block;
		padding: .85rem;
	}

	.tim-filter-row,
	.tim-filter-row-expanded,
	.tim-filter-toolbar {
		display: grid;
		grid-template-columns: 1fr;
	}

	.tim-filter-row-expanded .tim-filter-search,
	.tim-filter-toolbar {
		grid-column: auto;
	}

	.tim-filter-toolbar > label,
	.tim-filter-view-switch {
		flex-basis: auto;
		width: 100%;
	}

	.tim-filter-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		white-space: normal;
	}

	.tim-filter-actions .tim-button {
		align-items: center;
		display: flex;
		justify-content: center;
		width: 100%;
	}

	.tim-filter-count {
		margin: 0;
		white-space: normal;
	}

	.tim-view-switch,
	.tim-view-switch-inline {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.tim-view-switch-inline > span {
		grid-column: 1 / -1;
		margin: 0 0 .35rem;
	}

	.tim-view-switch a {
		white-space: normal;
	}

	.tim-actions {
		align-items: stretch;
	}

	.tim-button,
	.tim-app button,
	.tim-app summary {
		min-height: 44px;
		touch-action: manipulation;
	}

	.tim-button {
		align-items: center;
		display: inline-flex;
		justify-content: center;
	}

	.tim-actions .tim-button {
		align-items: center;
		display: flex;
		flex: 1 1 9rem;
		justify-content: center;
		min-height: 44px;
		text-align: center;
		width: auto;
	}

	.tim-form fieldset {
		padding: .8rem;
	}

	.tim-app input,
	.tim-app select,
	.tim-app textarea {
		font-size: 16px;
		min-height: 44px;
	}

	.tim-app input[type="checkbox"],
	.tim-app input[type="radio"] {
		min-height: 0;
	}

	.tim-app input[type="file"] {
		overflow: hidden;
		padding: .55rem;
	}

	.tim-checkbox-field {
		align-items: flex-start;
	}

	.tim-details div,
	.tim-mini-details div {
		align-items: start;
		display: grid;
		gap: .75rem;
		grid-template-columns: minmax(90px, .8fr) minmax(0, 1.2fr);
	}

	.tim-details dd,
	.tim-mini-details dd {
		overflow-wrap: anywhere;
	}

	.tim-item-navigation {
		grid-template-columns: 1fr;
	}

	.tim-item-navigation > :last-child {
		justify-content: start;
		text-align: left;
	}

	.tim-barcode-dialog {
		max-height: calc(100dvh - 1rem);
		overflow-y: auto;
		width: calc(100% - 1rem);
	}

	.tim-table-wrap.tim-mobile-table-wrap {
		border: 0;
		overflow: visible;
	}

	.tim-app table.tim-mobile-table,
	.tim-app table.tim-mobile-table tbody,
	.tim-app table.tim-mobile-table tr {
		display: block;
		min-width: 0;
		width: 100%;
	}

	.tim-app table.tim-mobile-table {
		border: 0;
		border-collapse: separate;
		font-size: .9rem;
	}

	.tim-app table.tim-mobile-table thead {
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.tim-app table.tim-mobile-table tbody {
		display: grid;
		gap: .85rem;
	}

	.tim-app table.tim-mobile-table tbody tr {
		background: #fff;
		border: 1px solid var(--tim-line);
		border-radius: 12px;
		overflow: hidden;
	}

	.tim-app table.tim-mobile-table tbody td,
	.tim-app table.tim-mobile-table tbody th[scope="row"] {
		align-items: start;
		border: 0;
		border-bottom: 1px solid var(--tim-line);
		display: grid;
		gap: .75rem;
		grid-template-columns: minmax(92px, 36%) minmax(0, 1fr);
		min-width: 0;
		padding: .7rem .75rem;
		text-align: left;
		white-space: normal;
		width: 100%;
	}

	.tim-app table.tim-mobile-table tbody tr > :last-child {
		border-bottom: 0;
	}

	.tim-app table.tim-mobile-table tbody td::before,
	.tim-app table.tim-mobile-table tbody th[scope="row"]::before {
		color: var(--tim-muted);
		content: attr(data-label);
		font-size: .72rem;
		font-weight: 800;
		letter-spacing: .05em;
		line-height: 1.35;
		text-transform: uppercase;
	}

	.tim-app table.tim-mobile-table tbody td[colspan] {
		grid-template-columns: 1fr;
	}

	.tim-app table.tim-mobile-table tbody td[colspan]::before {
		display: none;
	}

	.tim-app table.tim-mobile-table .tim-photo-cell,
	.tim-app table.tim-mobile-table .tim-number,
	.tim-app table.tim-mobile-table .tim-inventory-cell {
		text-align: left;
		white-space: normal;
		width: 100%;
	}

	.tim-app table.tim-mobile-table .tim-item-image-table,
	.tim-app table.tim-mobile-table .tim-photo-match-thumbnail {
		min-width: 0;
		width: 96px;
	}

	.tim-app table.tim-mobile-table td form {
		display: grid;
		gap: .5rem;
		grid-template-columns: 1fr;
		width: 100%;
	}
}

@media (max-width: 420px) {
	.tim-header,
	.tim-main {
		padding: .85rem;
	}

	.tim-nav-toggle-current {
		font-size: .9rem;
	}

	.tim-panel,
	.tim-item-card,
	.tim-metric,
	.tim-stat-card {
		padding: .9rem;
	}

	.tim-details div,
	.tim-mini-details div,
	.tim-app table.tim-mobile-table tbody td,
	.tim-app table.tim-mobile-table tbody th[scope="row"] {
		grid-template-columns: 1fr;
		gap: .25rem;
	}
}

/* CamFam-inspired application frame: compact, full-width, and mode-aware. */
.tim-app-shell {
	--tim-app-bg: #edf2f7;
	--tim-sidebar: #0c1c2a;
	--tim-sidebar-soft: #152c3b;
	--tim-sidebar-text: #dce9f3;
	background: var(--tim-app-bg);
}

.tim-app-notices:empty {
	display: none;
}

.tim-header-tools {
	align-items: end;
	display: flex;
	gap: .65rem;
	padding-right: 3rem;
}

.tim-header-identity {
	align-items: center;
	display: flex;
	gap: .75rem;
}

.tim-header-icon,
.tim-nav-brand-icon {
	background: #fff;
	border: 1px solid rgb(255 255 255 / .35);
	border-radius: 10px;
	box-shadow: 0 4px 14px rgb(0 0 0 / .18);
	flex: 0 0 auto;
	height: 44px;
	object-fit: contain;
	padding: 3px;
	width: 44px;
}

.tim-theme-toggle,
.tim-sidebar-toggle {
	align-items: center;
	border: 1px solid rgb(255 255 255 / .24);
	border-radius: 9px;
	background: rgb(255 255 255 / .1);
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: .82rem;
	font-weight: 800;
	gap: .4rem;
	justify-content: center;
	min-height: 42px;
	padding: .55rem .7rem;
	white-space: nowrap;
}

.tim-theme-toggle {
	height: 34px;
	min-height: 34px;
	padding: 0;
	position: absolute;
	right: .65rem;
	top: .65rem;
	width: 34px;
	z-index: 2;
}

.tim-theme-toggle [data-tim-theme-label] {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.tim-theme-toggle:hover,
.tim-sidebar-toggle:hover {
	background: rgb(255 255 255 / .18);
}

.tim-theme-toggle-icon {
	font-size: 1rem;
	line-height: 1;
}

.tim-nav-brand,
.tim-nav-section-label,
.tim-nav-icon,
.tim-filter-toggle {
	display: none;
}

.tim-filter-content {
	min-width: 0;
	width: 100%;
}

@media (min-width: 761px) {
	.tim-app-shell {
		font-size: .94rem;
	}

	.tim-app-shell .tim-header {
		padding: .85rem 1.15rem;
	}

	.tim-app-shell .tim-header h1 {
		font-size: 1.55rem;
	}

	.tim-app-shell .tim-main {
		padding: 1.25rem;
	}

	.tim-app-shell .tim-section-heading {
		margin-bottom: .9rem;
	}

	.tim-app-shell .tim-section-heading h2 {
		font-size: 1.55rem;
	}

	.tim-app-shell .tim-metrics,
	.tim-app-shell .tim-card-grid,
	.tim-app-shell .tim-dashboard-grid,
	.tim-app-shell .tim-detail-grid,
	.tim-app-shell .tim-form-grid,
	.tim-app-shell .tim-settings-grid,
	.tim-app-shell .tim-stat-grid {
		gap: .75rem;
	}

	.tim-app-shell .tim-panel,
	.tim-app-shell .tim-item-card,
	.tim-app-shell .tim-metric,
	.tim-app-shell .tim-stat-card {
		padding: .9rem;
	}

	.tim-app-shell .tim-card-grid {
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	}

	.tim-app-shell .tim-item-image-card {
		aspect-ratio: 16 / 10;
		margin-bottom: .7rem;
	}

	.tim-app-shell .tim-item-card h3 {
		margin-top: .55rem;
	}

	.tim-app-shell .tim-mini-details,
	.tim-app-shell .tim-details {
		gap: .35rem;
		margin-top: .65rem;
	}

	.tim-app-shell .tim-inventory-number {
		margin-top: .65rem;
		padding-top: .55rem;
	}

	.tim-app-shell .tim-filters {
		margin-bottom: .9rem;
		padding: .75rem;
	}

	.tim-app-shell .tim-filter-row,
	.tim-app-shell .tim-filter-toolbar {
		gap: .7rem;
	}

	.tim-app-shell .tim-form fieldset {
		padding: .85rem;
	}
}

@media (min-width: 1320px) {
	.tim-app-shell {
		border: 1px solid var(--tim-line);
		border-radius: 16px;
		box-shadow: 0 18px 52px rgb(15 23 42 / .1);
		display: grid;
		grid-template-areas:
			"notices notices"
			"sidebar header"
			"sidebar main";
		grid-template-columns: 220px minmax(0, 1fr);
		left: 50%;
		margin: .75rem 0 1.5rem;
		max-width: 1900px;
		position: relative;
		transform: translateX(-50%);
		transition: grid-template-columns .18s ease;
		width: calc(100vw - 24px);
	}

	.tim-app-shell.is-sidebar-collapsed {
		grid-template-columns: 72px minmax(0, 1fr);
	}

	.tim-app-shell .tim-app-notices {
		grid-area: notices;
		padding: .75rem .75rem 0;
	}

	.tim-app-shell .tim-app-notices .tim-notice {
		margin-bottom: 0;
	}

	.tim-app-shell .tim-header {
		border-radius: 0 15px 0 0;
		grid-area: header;
	}

	.tim-app-shell .tim-main {
		border: 0;
		border-radius: 0 0 15px;
		grid-area: main;
		padding: 1rem;
	}

	.tim-app-shell .tim-nav-shell {
		align-self: stretch;
		background: linear-gradient(180deg, var(--tim-sidebar), #102738);
		border: 0;
		border-radius: 15px 0 0 15px;
		display: flex;
		flex-direction: column;
		grid-area: sidebar;
		padding: .8rem;
	}

	.tim-app-shell .tim-nav-brand {
		align-items: center;
		border-bottom: 1px solid rgb(255 255 255 / .13);
		color: #fff;
		display: grid;
		gap: .55rem;
		grid-template-columns: 38px minmax(0, 1fr) 28px;
		margin-bottom: .7rem;
		padding: .25rem .15rem .8rem;
	}

	.tim-app-shell .tim-nav-brand div {
		display: grid;
		gap: .05rem;
		min-width: 0;
	}

	.tim-app-shell .tim-nav-brand-icon {
		height: 38px;
		width: 38px;
	}

	.tim-app-shell .tim-nav-brand span {
		color: #8fb7bd;
		font-size: .65rem;
		font-weight: 800;
		letter-spacing: .1em;
		text-transform: uppercase;
	}

	.tim-app-shell .tim-nav-brand strong {
		display: block;
		font-size: .9rem;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.tim-app-shell .tim-sidebar-toggle {
		flex: 0 0 28px;
		font-size: 1rem;
		height: 28px;
		min-height: 28px;
		padding: 0;
		width: 28px;
	}

	.tim-app-shell .tim-nav {
		display: grid;
		gap: .22rem;
		grid-template-columns: 1fr;
	}

	.tim-app-shell .tim-nav-section-label {
		color: #81a5ad;
		display: block;
		font-size: .64rem;
		font-weight: 800;
		letter-spacing: .12em;
		margin: .65rem .55rem .18rem;
		text-transform: uppercase;
	}

	.tim-app-shell .tim-nav a {
		border: 1px solid transparent;
		border-radius: 8px;
		color: var(--tim-sidebar-text);
		display: grid;
		font-size: .86rem;
		gap: .55rem;
		grid-template-columns: 22px minmax(0, 1fr);
		justify-content: stretch;
		min-height: 38px;
		padding: .45rem .55rem;
		text-align: left;
	}

	.tim-app-shell .tim-nav a:hover {
		background: rgb(255 255 255 / .09);
		color: #fff;
	}

	.tim-app-shell .tim-nav a.is-active {
		background: var(--tim-sidebar-soft);
		border-color: #2d5961;
		color: #fff;
	}

	.tim-app-shell .tim-nav-icon {
		align-items: center;
		color: #76b8b4;
		display: inline-flex;
		font-size: 1rem;
		font-weight: 800;
		justify-content: center;
	}

	.tim-app-shell .tim-nav-label {
		align-self: center;
		min-width: 0;
	}

	.tim-app-shell.is-sidebar-collapsed .tim-nav-brand div,
	.tim-app-shell.is-sidebar-collapsed .tim-nav-section-label,
	.tim-app-shell.is-sidebar-collapsed .tim-nav-label {
		display: none;
	}

	.tim-app-shell.is-sidebar-collapsed .tim-nav-brand {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.tim-app-shell.is-sidebar-collapsed .tim-nav-brand-icon {
		height: 36px;
		width: 36px;
	}

	.tim-app-shell .tim-header-icon {
		display: none;
	}

	.tim-app-shell.is-sidebar-collapsed .tim-nav a {
		grid-template-columns: 1fr;
		padding-left: .25rem;
		padding-right: .25rem;
	}

	.tim-app-shell.is-sidebar-collapsed .tim-nav-icon {
		font-size: 1.1rem;
	}

	.tim-app-shell .tim-filter-row-expanded {
		grid-template-columns: minmax(260px, 1.7fr) repeat(auto-fit, minmax(130px, 1fr));
	}
}

/* A complete dark mode, persisted by the frontend controller. */
.tim-app-shell[data-theme="dark"] {
	--tim-ink: #e8eff7;
	--tim-muted: #9eb0c2;
	--tim-line: #293d4d;
	--tim-soft: #132532;
	--tim-card: #0d1c28;
	--tim-accent: #4c87f7;
	--tim-accent-dark: #8cb2ff;
	--tim-app-bg: #07131c;
	color-scheme: dark;
	color: var(--tim-ink);
}

.tim-app-shell[data-theme="dark"] .tim-main h1,
.tim-app-shell[data-theme="dark"] .tim-main h2,
.tim-app-shell[data-theme="dark"] .tim-main h3,
.tim-app-shell[data-theme="dark"] .tim-main h4,
.tim-app-shell[data-theme="dark"] .tim-main h5,
.tim-app-shell[data-theme="dark"] .tim-main h6,
.tim-app-shell[data-theme="dark"] .tim-main legend {
	color: var(--tim-ink) !important;
}

.tim-app-shell[data-theme="dark"] .tim-main,
.tim-app-shell[data-theme="dark"] .tim-nav-shell,
.tim-app-shell[data-theme="dark"] .tim-panel,
.tim-app-shell[data-theme="dark"] .tim-item-card,
.tim-app-shell[data-theme="dark"] .tim-metric,
.tim-app-shell[data-theme="dark"] .tim-stat-card,
.tim-app-shell[data-theme="dark"] .tim-media-editor-card,
.tim-app-shell[data-theme="dark"] .tim-photo-gallery figure,
.tim-app-shell[data-theme="dark"] .tim-form fieldset,
.tim-app-shell[data-theme="dark"] .tim-table-wrap,
.tim-app-shell[data-theme="dark"] .tim-settings-grid > div {
	background: #0d1c28;
}

.tim-app-shell[data-theme="dark"] .tim-header {
	background: linear-gradient(135deg, #0a1b2d, #153c55);
}

.tim-app-shell[data-theme="dark"] .tim-filters,
.tim-app-shell[data-theme="dark"] .tim-empty,
.tim-app-shell[data-theme="dark"] .tim-help-note,
.tim-app-shell[data-theme="dark"] .tim-checkbox-field,
.tim-app-shell[data-theme="dark"] .tim-disclaimer,
.tim-app-shell[data-theme="dark"] .tim-item-navigation > a,
.tim-app-shell[data-theme="dark"] .tim-item-navigation > span,
.tim-app-shell[data-theme="dark"] .tim-reference-image-caption,
.tim-app-shell[data-theme="dark"] .tim-import-confirm,
.tim-app-shell[data-theme="dark"] .tim-item-image,
.tim-app-shell[data-theme="dark"] .tim-media-editor-card img,
.tim-app-shell[data-theme="dark"] .tim-photo-gallery img {
	background: var(--tim-soft);
}

.tim-app-shell[data-theme="dark"] input,
.tim-app-shell[data-theme="dark"] select,
.tim-app-shell[data-theme="dark"] textarea,
.tim-app-shell[data-theme="dark"] .tim-view-switch a,
.tim-app-shell[data-theme="dark"] .tim-button:not(.tim-button-primary):not(.tim-button-danger),
.tim-app-shell[data-theme="dark"] .tim-nav-toggle,
.tim-app-shell[data-theme="dark"] .tim-filter-toggle {
	background: #102331;
	border-color: #395064;
	color: var(--tim-ink);
}

.tim-app-shell[data-theme="dark"] .tim-spreadsheet thead th,
.tim-app-shell[data-theme="dark"] .tim-data-table thead th {
	background: #142735;
	color: #aebfd0;
}

.tim-app-shell[data-theme="dark"] .tim-spreadsheet tbody tr:hover,
.tim-app-shell[data-theme="dark"] .tim-data-table tbody tr:hover {
	background: #122736;
}

.tim-app-shell[data-theme="dark"] .tim-spreadsheet a,
.tim-app-shell[data-theme="dark"] .tim-item-card h3 a,
.tim-app-shell[data-theme="dark"] .tim-stat-list a,
.tim-app-shell[data-theme="dark"] .tim-item-navigation > a {
	color: var(--tim-ink);
}

.tim-app-shell[data-theme="dark"] .tim-button-primary {
	background: #3977e6;
	border-color: #3977e6;
}

.tim-app-shell[data-theme="dark"] .tim-notice-success {
	background: #123626;
	color: #9ce6bc;
}

.tim-app-shell[data-theme="dark"] .tim-notice-error {
	background: #3a1d22;
	color: #ffb3bb;
}

.tim-app-shell[data-theme="dark"] .tim-notice-warning,
.tim-app-shell[data-theme="dark"] .tim-import-recovery.is-urgent {
	background: #3a2a12;
	border-color: #f0b44d;
	color: #ffe6a3 !important;
}

.tim-app-shell[data-theme="dark"] .tim-notice-warning strong,
.tim-app-shell[data-theme="dark"] .tim-import-recovery.is-urgent strong {
	color: #fff4cf !important;
}

.tim-app-shell[data-theme="dark"] .tim-import-warning {
	color: #ffd27d;
}

.tim-app-shell[data-theme="dark"] .tim-metric.warning {
	background: #332514;
	border-color: #9a6a32;
	color: #ffd79a;
}

.tim-app-shell[data-theme="dark"] .tim-metric.warning strong {
	color: #fff0cf;
}

.tim-app-shell[data-theme="dark"] .tim-conflict {
	background: #2b1d13;
	border-left-color: #fb923c;
	color: #f8fafc;
}

.tim-app-shell[data-theme="dark"] .tim-conflict strong {
	color: #fed7aa;
}

.tim-app-shell[data-theme="dark"] .tim-conflict span {
	color: #e2e8f0;
}

@media (max-width: 760px) {
	.tim-app-shell {
		background: #fff;
		margin: .35rem auto;
	}

	.tim-app-shell .tim-header {
		gap: .7rem;
		padding: .85rem;
	}

	.tim-app-shell .tim-header h1 {
		font-size: 1.4rem;
	}

	.tim-header-tools {
		align-items: end;
		display: block;
		padding-right: 3rem;
	}

	.tim-theme-toggle {
		height: 40px;
		min-height: 40px;
		width: 40px;
	}

	.tim-nav-brand {
		display: none;
	}

	.tim-app-shell .tim-nav-shell {
		position: sticky;
		top: 0;
		z-index: 50;
	}

	body.admin-bar .tim-app-shell .tim-nav-shell {
		top: 46px;
	}

	.tim-app-shell .tim-nav-shell.is-open .tim-nav {
		background: #fff;
		border: 1px solid var(--tim-line);
		border-radius: 10px;
		box-shadow: 0 18px 45px rgb(15 23 42 / .2);
		display: grid;
		left: .55rem;
		max-height: min(68vh, 580px);
		overflow-y: auto;
		padding: .45rem;
		position: absolute;
		right: .55rem;
		top: calc(100% - .15rem);
	}

	.tim-app-shell .tim-nav-section-label {
		color: var(--tim-muted);
		display: block;
		font-size: .66rem;
		font-weight: 800;
		letter-spacing: .1em;
		padding: .55rem .7rem .1rem;
		text-transform: uppercase;
	}

	.tim-app-shell .tim-nav a {
		display: grid;
		gap: .65rem;
		grid-template-columns: 24px minmax(0, 1fr);
	}

	.tim-app-shell .tim-nav-icon {
		align-items: center;
		color: var(--tim-accent);
		display: inline-flex;
		font-size: 1rem;
		justify-content: center;
	}

	.tim-app-shell .tim-main {
		padding: .8rem;
	}

	.tim-app-shell .tim-section-heading {
		align-items: end;
		display: grid;
		gap: .65rem;
		grid-template-columns: minmax(0, 1fr) auto;
		margin-bottom: .8rem;
	}

	.tim-app-shell .tim-section-heading > .tim-button {
		padding-left: .8rem;
		padding-right: .8rem;
		width: auto;
	}

	.tim-app-shell .tim-filters {
		border: 1px solid var(--tim-line);
		margin-bottom: .8rem;
		padding: .5rem;
	}

	.tim-app-shell .tim-filter-toggle {
		align-items: center;
		background: #fff;
		border: 1px solid #b7c7dc;
		border-radius: 9px;
		color: var(--tim-ink);
		cursor: pointer;
		display: grid;
		font: inherit;
		gap: .5rem;
		grid-template-columns: minmax(0, 1fr) auto auto;
		min-height: 46px;
		padding: .6rem .7rem;
		text-align: left;
		width: 100%;
	}

	.tim-app-shell .tim-filter-toggle > span:first-child {
		font-weight: 800;
	}

	.tim-app-shell .tim-filter-toggle strong {
		color: var(--tim-muted);
		font-size: .76rem;
	}

	.tim-app-shell .tim-filter-toggle > span:last-child {
		font-size: 1.1rem;
		transition: transform .18s ease;
	}

	.tim-app-shell .tim-filters.is-collapsible .tim-filter-content {
		display: none;
	}

	.tim-app-shell .tim-filters.is-collapsible.is-open .tim-filter-content {
		display: block;
		padding-top: .7rem;
	}

	.tim-app-shell .tim-filters.is-open .tim-filter-toggle > span:last-child {
		transform: rotate(180deg);
	}

	.tim-app-shell .tim-item-card {
		display: grid;
		gap: .35rem .75rem;
		grid-template-columns: 88px minmax(0, 1fr);
		padding: .7rem;
	}

	.tim-app-shell .tim-item-card .tim-item-image-card {
		align-self: start;
		aspect-ratio: 1;
		grid-column: 1;
		grid-row: 1 / span 6;
		height: 88px;
		margin: 0;
		width: 88px;
	}

	.tim-app-shell .tim-item-card .tim-card-topline,
	.tim-app-shell .tim-item-card h3,
	.tim-app-shell .tim-item-card > .tim-muted,
	.tim-app-shell .tim-item-card .tim-mini-details,
	.tim-app-shell .tim-item-card .tim-inventory-number {
		grid-column: 2;
	}

	.tim-app-shell .tim-item-card .tim-card-topline {
		align-items: baseline;
		flex-direction: row;
		gap: .4rem;
	}

	.tim-app-shell .tim-item-card h3 {
		font-size: 1rem;
		margin: .15rem 0;
	}

	.tim-app-shell .tim-item-card > .tim-muted {
		font-size: .84rem;
		margin: 0;
	}

	.tim-app-shell .tim-item-card .tim-mini-details {
		display: grid;
		gap: .2rem .65rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: .35rem 0 0;
	}

	.tim-app-shell .tim-item-card .tim-mini-details div {
		display: flex;
		gap: .35rem;
		grid-template-columns: none;
		justify-content: space-between;
	}

	.tim-app-shell .tim-item-card .tim-mini-details dt {
		font-size: .72rem;
	}

	.tim-app-shell .tim-item-card .tim-mini-details dd {
		font-size: .78rem;
	}

	.tim-app-shell .tim-item-card .tim-inventory-number {
		font-size: .67rem;
		margin: .35rem 0 0;
		padding-top: .35rem;
	}

	.tim-app-shell[data-theme="dark"],
	.tim-app-shell[data-theme="dark"] .tim-nav-shell.is-open .tim-nav {
		background: #07131c;
	}
}

@media (min-width: 600px) and (max-width: 760px) {
	.tim-app-shell .tim-metrics,
	.tim-app-shell .tim-stat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	.tim-app-shell .tim-section-heading h2 {
		font-size: 1.35rem;
	}

	.tim-app-shell .tim-section-heading > .tim-button {
		font-size: .82rem;
	}

	.tim-app-shell .tim-item-card {
		grid-template-columns: 72px minmax(0, 1fr);
	}

	.tim-app-shell .tim-item-card .tim-item-image-card {
		height: 72px;
		width: 72px;
	}

	.tim-app-shell .tim-item-card .tim-mini-details {
		grid-template-columns: 1fr;
	}
}

.tim-saved-views,
.tim-bulk-toolbar,
.tim-nfc-tools {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: .75rem 0;
}

.tim-saved-views form,
.tim-save-view-form {
	align-items: center;
	display: inline-flex;
	gap: .4rem;
	margin: 0;
}

.tim-chip {
	background: var(--tim-soft);
	border: 1px solid var(--tim-line);
	border-radius: 999px;
	color: var(--tim-ink);
	font-size: .78rem;
	font-weight: 700;
	padding: .35rem .65rem;
	text-decoration: none;
}

.tim-chip-remove {
	border-radius: 50%;
	line-height: 1;
	padding: .25rem .4rem;
}

.tim-bulk-toolbar {
	background: var(--tim-soft);
	border: 1px solid var(--tim-line);
	border-radius: 12px;
	padding: .65rem;
}

.tim-bulk-toolbar label {
	font-size: .76rem;
	min-width: 140px;
}

.tim-bulk-select-all {
	align-items: center;
	display: inline-flex !important;
	flex-direction: row !important;
	gap: .4rem;
	min-width: auto !important;
}

.tim-bulk-select-all input,
.tim-card-select input {
	height: 18px;
	width: 18px;
}

.tim-item-card {
	position: relative;
}

.tim-card-select {
	background: var(--tim-soft);
	border: 1px solid var(--tim-line);
	border-radius: 8px;
	left: .65rem;
	line-height: 1;
	padding: .3rem;
	position: absolute;
	top: .65rem;
	z-index: 2;
}

.tim-storage-grid {
	display: grid;
	gap: .75rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.tim-storage-card {
	display: grid;
	gap: .35rem;
	text-decoration: none;
}

.tim-storage-card > span {
	color: var(--tim-muted);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.tim-storage-card > strong {
	color: var(--tim-ink);
}

.tim-lifecycle-list {
	display: grid;
	gap: .6rem;
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

.tim-lifecycle-list li {
	border-left: 3px solid var(--tim-accent);
	display: grid;
	gap: .15rem;
	padding: .35rem .7rem;
}

.tim-lifecycle-list span,
.tim-lifecycle-list p {
	color: var(--tim-muted);
	font-size: .84rem;
	margin: 0;
}

.tim-support-grid {
	display: grid;
	gap: .85rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tim-support-checklist {
	display: grid;
	gap: .45rem;
	margin: .75rem 0 0;
	padding-left: 1.25rem;
}

.tim-app-footer {
	align-items: center;
	border-top: 1px solid var(--tim-line);
	color: var(--tim-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: .8rem;
	gap: .4rem;
	justify-content: center;
	margin-top: 1.25rem;
	padding: 1rem .25rem 0;
}

.tim-app-footer a {
	font-weight: 700;
}

@media (max-width: 760px) {
	.tim-support-grid {
		grid-template-columns: 1fr;
	}

	.tim-save-view-form,
	.tim-save-view-form label,
	.tim-save-view-form input,
	.tim-bulk-toolbar,
	.tim-bulk-toolbar label,
	.tim-bulk-toolbar select {
		width: 100%;
	}

	.tim-card-select {
		left: .35rem;
		top: .35rem;
	}
}

/* TIM 3.2 mobile workspace: phone-first navigation and dense, touch-safe content. */
.tim-mobile-current,
.tim-nav-backdrop {
	display: none;
}

.tim-app .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	white-space: nowrap;
	width: 1px;
}

.tim-filter-bar {
	align-items: end;
	background: var(--tim-soft);
	border-radius: 12px;
	display: flex;
	gap: .75rem;
	margin-bottom: 1rem;
	padding: .8rem;
}

.tim-filter-bar label {
	display: grid;
	flex: 1 1 auto;
	font-size: .86rem;
	font-weight: 700;
	gap: .35rem;
}

@media (max-width: 760px) {
	body.tim-mobile-nav-open {
	overflow: hidden;
	}

	.tim-app-shell {
		border-radius: 0;
		display: flex;
		flex-direction: column;
		margin: 0 auto;
		max-width: 100%;
		width: 100%;
	}

	.tim-app-shell .tim-app-notices {
		order: 0;
	}

	.tim-app-shell .tim-nav-shell {
		align-items: center;
		background: #0c1c2a;
		border: 0;
		box-shadow: 0 1px 0 rgb(255 255 255 / .12), 0 5px 18px rgb(15 23 42 / .18);
		display: grid;
		gap: .5rem;
		grid-template-columns: minmax(0, 1fr) 48px;
		min-height: 60px;
		order: 1;
		padding: max(.55rem, env(safe-area-inset-top)) max(.65rem, env(safe-area-inset-right)) .55rem max(.65rem, env(safe-area-inset-left));
		position: sticky;
		top: 0;
		z-index: 100;
	}

	body.admin-bar .tim-app-shell .tim-nav-shell {
		top: 46px;
	}

	.tim-app-shell .tim-nav-brand {
		align-items: center;
		border: 0;
		color: #fff;
		display: grid;
		gap: .65rem;
		grid-template-columns: 40px minmax(0, 1fr);
		margin: 0;
		min-width: 0;
		padding: 0;
		position: relative;
		z-index: 3;
	}

	.tim-app-shell .tim-nav-brand-icon {
		box-shadow: none;
		height: 40px;
		width: 40px;
	}

	.tim-app-shell .tim-nav-brand-copy {
		display: grid;
		gap: .05rem;
		min-width: 0;
	}

	.tim-app-shell .tim-nav-brand-copy > span {
		color: #8fb7bd;
		font-size: .63rem;
		font-weight: 800;
		letter-spacing: .1em;
		line-height: 1.2;
		text-transform: uppercase;
	}

	.tim-app-shell .tim-desktop-brand-title {
		display: none;
	}

	.tim-app-shell .tim-mobile-current {
		display: block;
		font-size: 1rem;
		line-height: 1.25;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.tim-app-shell .tim-sidebar-toggle {
		display: none;
	}

	.tim-app-shell .tim-nav-toggle,
	.tim-nav-shell.is-collapsible .tim-nav-toggle {
		align-items: center;
		background: rgb(255 255 255 / .1);
		border: 1px solid rgb(255 255 255 / .24);
		border-radius: 10px;
		color: #fff;
		display: flex;
		height: 46px;
		justify-content: center;
		min-height: 46px;
		padding: 0;
		position: relative;
		width: 46px;
		z-index: 3;
	}

	.tim-app-shell .tim-nav-toggle-label,
	.tim-app-shell .tim-nav-toggle-current {
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.tim-app-shell .tim-nav-toggle-icon,
	.tim-app-shell .tim-nav-toggle-icon::before,
	.tim-app-shell .tim-nav-toggle-icon::after {
		background: currentColor;
	}

	.tim-app-shell .tim-nav-backdrop {
		background: rgb(7 19 28 / .6);
		border: 0;
		border-radius: 0;
		inset: 0;
		min-height: 100dvh;
		padding: 0;
		position: fixed;
		width: 100vw;
		z-index: 1;
	}

	.tim-app-shell .tim-nav-shell.is-open .tim-nav-backdrop {
		display: block;
	}

	.tim-app-shell .tim-nav-shell.is-open .tim-nav {
		background: #fff;
		border: 0;
		border-radius: 0 0 14px 14px;
		box-shadow: 0 22px 50px rgb(7 19 28 / .35);
		display: grid;
		grid-column: 1 / -1;
		left: 0;
		max-height: calc(100dvh - 72px - env(safe-area-inset-top));
		overscroll-behavior: contain;
		padding: .45rem max(.65rem, env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left));
		right: 0;
		top: 100%;
		z-index: 2;
	}

	.tim-app-shell .tim-nav-section-label {
		padding-top: .45rem;
	}

	.tim-app-shell .tim-nav a {
		border: 1px solid transparent;
		min-height: 46px;
		padding: .62rem .75rem;
	}

	.tim-app-shell .tim-nav a.is-active {
		background: #eaf1ff;
		border-color: #c7d8fa;
		color: #173d9d;
	}

	.tim-app-shell .tim-header {
		border-radius: 0;
		gap: .5rem;
		order: 2;
		padding: .7rem max(.8rem, env(safe-area-inset-right)) .75rem max(.8rem, env(safe-area-inset-left));
	}

	.tim-app-shell .tim-header-identity {
		padding-right: 2.8rem;
	}

	.tim-app-shell .tim-header-icon,
	.tim-app-shell .tim-header .tim-eyebrow {
		display: none;
	}

	.tim-app-shell .tim-header h1 {
		font-size: 1.08rem;
		line-height: 1.25;
		margin: 0 0 .1rem !important;
	}

	.tim-app-shell .tim-header .tim-muted {
		font-size: .76rem;
	}

	.tim-app-shell .tim-header-tools {
		padding-right: 0;
	}

	.tim-app-shell .tim-context-switcher {
		min-width: 0;
		padding-right: 2.8rem;
	}

	.tim-app-shell .tim-context-switcher label {
		font-size: .72rem;
	}

	.tim-app-shell .tim-theme-toggle {
		height: 38px;
		min-height: 38px;
		right: .7rem;
		top: .7rem;
		width: 38px;
	}

	.tim-app-shell .tim-main {
		border: 0;
		border-radius: 0;
		min-height: 0;
		order: 3;
		padding: .85rem max(.75rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));
	}

	.tim-app-shell .tim-section-heading {
		align-items: center;
		gap: .55rem;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.tim-app-shell .tim-section-heading .tim-eyebrow {
		font-size: .66rem;
		margin-bottom: .18rem;
	}

	.tim-app-shell .tim-section-heading h2 {
		font-size: 1.42rem;
		line-height: 1.15;
	}

	.tim-app-shell .tim-section-heading .tim-muted {
		font-size: .86rem;
		line-height: 1.45;
		margin: .35rem 0 0;
	}

	.tim-app-shell .tim-section-heading > .tim-button {
		min-height: 42px;
		padding: .55rem .75rem;
	}

	.tim-app-shell .tim-spaced {
		margin-top: 1.15rem;
	}

	.tim-app-shell .tim-metrics {
		display: grid;
		gap: .6rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tim-app-shell .tim-metric {
		align-content: start;
		gap: .16rem;
		min-height: 108px;
		padding: .72rem;
	}

	.tim-app-shell .tim-metric > span {
		font-size: .78rem;
		font-weight: 700;
	}

	.tim-app-shell .tim-metric strong {
		font-size: clamp(1.2rem, 7vw, 1.55rem);
		line-height: 1.12;
	}

	.tim-app-shell .tim-metric small {
		font-size: .68rem;
		line-height: 1.35;
	}

	.tim-app-shell .tim-metric:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.tim-app-shell .tim-dashboard-insights,
	.tim-app-shell .tim-dashboard-grid,
	.tim-app-shell .tim-detail-grid,
	.tim-app-shell .tim-card-grid {
		gap: .7rem;
	}

	.tim-app-shell .tim-panel,
	.tim-app-shell .tim-stat-card {
		border-radius: 12px;
		padding: .85rem;
	}

	.tim-app-shell .tim-item-card:not(.tim-item-card-media) {
		display: block;
		padding: .85rem;
	}

	.tim-app-shell .tim-item-card:not(.tim-item-card-media) > * {
		grid-column: auto;
	}

	.tim-app-shell .tim-item-card-media {
		grid-template-columns: 84px minmax(0, 1fr);
	}

	.tim-app-shell .tim-item-card-media .tim-item-image-card {
		height: 84px;
		width: 84px;
	}

	.tim-app-shell .tim-item-card-media .tim-item-image-placeholder {
		font-size: .67rem;
		min-height: 100%;
		padding: .35rem;
	}

	.tim-app-shell .tim-item-card-media .tim-item-image-placeholder span {
		font-size: 1.1rem;
	}

	.tim-app-shell .tim-item-card-media .tim-mini-details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tim-app-shell .tim-item-card-media .tim-mini-details div {
		display: block;
	}

	.tim-app-shell .tim-item-card-media .tim-mini-details dd {
		font-size: .8rem;
		margin-top: .08rem;
		text-align: left;
	}

	.tim-app-shell .tim-card-select {
		align-items: center;
		display: flex;
		height: 34px;
		justify-content: center;
		width: 34px;
	}

	.tim-app-shell .tim-storage-grid {
		gap: .6rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tim-app-shell .tim-storage-card {
		min-height: 92px;
		padding: .75rem;
	}

	.tim-app-shell .tim-link-list li,
	.tim-app-shell .tim-stat-list li {
		align-items: start;
		flex-direction: row;
		gap: .75rem;
		text-align: left;
	}

	.tim-app-shell .tim-link-list li > :last-child,
	.tim-app-shell .tim-stat-list li > :last-child {
		flex: 0 0 auto;
		text-align: right;
	}

	.tim-app-shell .tim-link-list li > :first-child,
	.tim-app-shell .tim-stat-list li > :first-child {
		min-width: 0;
		overflow-wrap: anywhere;
	}

	.tim-app-shell .tim-reference-list li {
		flex-direction: column;
	}

	.tim-app-shell .tim-filter-bar {
		align-items: stretch;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		padding: .65rem;
	}

	.tim-app-shell .tim-filter-bar .tim-button {
		align-self: end;
		min-height: 44px;
	}

	.tim-app-shell .tim-saved-views {
		align-items: stretch;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(120px, auto));
		width: 100%;
	}

	.tim-app-shell .tim-saved-views > strong,
	.tim-app-shell .tim-save-view-form {
		grid-column: 1 / -1;
	}

	.tim-app-shell .tim-save-view-form {
		display: grid;
		gap: .5rem;
		grid-template-columns: minmax(0, 1fr) minmax(104px, auto);
	}

	.tim-app-shell .tim-save-view-form label,
	.tim-app-shell .tim-save-view-form input {
		min-width: 0;
		width: 100%;
	}

	.tim-app-shell .tim-inline-form {
		background: var(--tim-card);
		border: 1px solid var(--tim-line);
		border-radius: 12px;
		padding: 0;
	}

	.tim-app-shell .tim-inline-form > summary {
		align-items: center;
		display: flex;
		font-size: .92rem;
		justify-content: space-between;
		list-style: none;
		padding: .72rem .8rem;
	}

	.tim-app-shell .tim-inline-form > summary::-webkit-details-marker {
		display: none;
	}

	.tim-app-shell .tim-inline-form > summary::after {
		color: var(--tim-accent);
		content: "+";
		font-size: 1.25rem;
		line-height: 1;
	}

	.tim-app-shell .tim-inline-form[open] > summary {
		border-bottom: 1px solid var(--tim-line);
	}

	.tim-app-shell .tim-inline-form[open] > summary::after {
		content: "−";
	}

	.tim-app-shell .tim-inline-form > .tim-form,
	.tim-app-shell .tim-inline-form > .tim-form-grid {
		padding: .8rem;
	}

	.tim-app-shell .tim-form fieldset {
		border-radius: 12px;
		padding: .75rem;
	}

	.tim-app-shell .tim-barcode-field {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.tim-app-shell .tim-section > .tim-form > .tim-actions:last-child {
		background: rgb(255 255 255 / .94);
		border: 1px solid var(--tim-line);
		border-radius: 12px;
		bottom: max(.5rem, env(safe-area-inset-bottom));
		box-shadow: 0 10px 32px rgb(15 23 42 / .18);
		margin: .25rem 0 0;
		padding: .55rem;
		position: sticky;
		z-index: 20;
	}

	.tim-app-shell[data-theme="dark"] .tim-section > .tim-form > .tim-actions:last-child {
		background: rgb(13 28 40 / .94);
	}

	.tim-app-shell .tim-table-wrap.tim-mobile-table-wrap {
		border-radius: 0;
	}

	.tim-app-shell table.tim-mobile-table tbody {
		gap: .65rem;
	}

	.tim-app-shell table.tim-mobile-table tbody tr {
		border-radius: 12px;
		box-shadow: 0 3px 12px rgb(15 23 42 / .06);
	}

	.tim-app-shell[data-theme="dark"] table.tim-mobile-table tbody tr {
		background: var(--tim-card);
		border-color: var(--tim-line);
		box-shadow: 0 4px 16px rgb(0 0 0 / .24);
		color: var(--tim-ink);
	}

	.tim-app-shell[data-theme="dark"] table.tim-mobile-table tbody td,
	.tim-app-shell[data-theme="dark"] table.tim-mobile-table tbody th[scope="row"] {
		border-color: var(--tim-line);
		color: var(--tim-ink);
	}

	.tim-app-shell[data-theme="dark"] table.tim-mobile-table tbody th[scope="row"] {
		background: var(--tim-soft);
	}

	.tim-app-shell[data-theme="dark"] table.tim-mobile-table a {
		color: #b9d2ff;
	}

	.tim-app-shell table.tim-mobile-table tbody th[scope="row"] {
		background: var(--tim-soft);
		font-size: 1rem;
		font-weight: 800;
		order: -2;
	}

	.tim-app-shell table.tim-mobile-table .tim-photo-cell {
		order: -1;
	}

	.tim-app-shell table.tim-mobile-table tbody td,
	.tim-app-shell table.tim-mobile-table tbody th[scope="row"] {
		grid-template-columns: minmax(86px, 31%) minmax(0, 1fr);
		padding: .62rem .7rem;
	}

	.tim-app-shell table.tim-mobile-table tbody td::before,
	.tim-app-shell table.tim-mobile-table tbody th[scope="row"]::before {
		font-size: .64rem;
		letter-spacing: .025em;
	}

	.tim-app-shell table.tim-mobile-table td .tim-button,
	.tim-app-shell table.tim-mobile-table td form .tim-button {
		width: 100%;
	}

	.tim-app-shell .tim-pagination {
		justify-content: stretch;
	}

	.tim-app-shell .tim-pagination ul {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
		width: 100%;
	}

	.tim-app-shell .tim-app-footer {
		line-height: 1.5;
		padding-bottom: env(safe-area-inset-bottom);
		text-align: center;
	}
}

@media (max-width: 480px) {
	.tim-app-shell .tim-filter-bar {
		grid-template-columns: 1fr;
	}

	.tim-app-shell .tim-filter-bar .tim-button {
		width: 100%;
	}

	.tim-app-shell .tim-link-list li,
	.tim-app-shell .tim-stat-list li {
		flex-wrap: wrap;
	}

	.tim-app-shell .tim-link-list li > :last-child,
	.tim-app-shell .tim-stat-list li > :last-child {
		flex-basis: 100%;
		text-align: left;
	}
}

@media (min-width: 761px) and (max-width: 980px) {
	body.tim-mobile-nav-open {
		overflow: hidden;
	}

	.tim-app-shell .tim-nav-shell {
		position: sticky;
		top: 0;
		z-index: 80;
	}

	body.admin-bar .tim-app-shell .tim-nav-shell {
		top: 32px;
	}

	.tim-app-shell .tim-nav-shell.is-collapsible .tim-nav-toggle {
		align-items: center;
		background: #fff;
		border: 1px solid #b7c7dc;
		border-radius: 10px;
		color: var(--tim-ink);
		cursor: pointer;
		display: grid;
		font: inherit;
		gap: .65rem;
		grid-template-columns: auto minmax(0, 1fr) 20px;
		min-height: 48px;
		padding: .65rem .8rem;
		text-align: left;
		width: 100%;
	}

	.tim-app-shell .tim-nav-toggle-label {
		color: var(--tim-muted);
		font-size: .72rem;
		font-weight: 800;
		letter-spacing: .08em;
		text-transform: uppercase;
	}

	.tim-app-shell .tim-nav-toggle-current {
		font-weight: 800;
		text-align: right;
	}

	.tim-app-shell .tim-nav-toggle-icon,
	.tim-app-shell .tim-nav-toggle-icon::before,
	.tim-app-shell .tim-nav-toggle-icon::after {
		background: currentColor;
		border-radius: 2px;
		display: block;
		height: 2px;
		position: relative;
		transition: transform .18s ease;
		width: 20px;
	}

	.tim-app-shell .tim-nav-toggle-icon::before,
	.tim-app-shell .tim-nav-toggle-icon::after {
		content: "";
		position: absolute;
	}

	.tim-app-shell .tim-nav-toggle-icon::before {
		top: -6px;
	}

	.tim-app-shell .tim-nav-toggle-icon::after {
		top: 6px;
	}

	.tim-app-shell .tim-nav-shell.is-open .tim-nav-toggle-icon {
		background: transparent;
	}

	.tim-app-shell .tim-nav-shell.is-open .tim-nav-toggle-icon::before {
		top: 0;
		transform: rotate(45deg);
	}

	.tim-app-shell .tim-nav-shell.is-open .tim-nav-toggle-icon::after {
		top: 0;
		transform: rotate(-45deg);
	}

	.tim-app-shell .tim-nav-shell.is-collapsible .tim-nav {
		display: none;
	}

	.tim-app-shell .tim-nav-shell.is-collapsible.is-open .tim-nav {
		background: #fff;
		border: 1px solid var(--tim-line);
		border-radius: 12px;
		box-shadow: 0 20px 46px rgb(15 23 42 / .25);
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		left: .5rem;
		max-height: calc(100dvh - 64px);
		overflow-y: auto;
		padding: .55rem;
		position: absolute;
		right: .5rem;
		top: calc(100% - .1rem);
		z-index: 2;
	}

	.tim-app-shell .tim-nav-shell.is-open .tim-nav-backdrop {
		background: rgb(7 19 28 / .48);
		border: 0;
		display: block;
		inset: 0;
		min-height: 100dvh;
		padding: 0;
		position: fixed;
		width: 100vw;
		z-index: 1;
	}

	.tim-app-shell .tim-nav-shell.is-open .tim-nav-toggle {
		position: relative;
		z-index: 3;
	}

	.tim-app-shell .tim-nav-section-label {
		color: var(--tim-muted);
		display: block;
		font-size: .66rem;
		font-weight: 800;
		grid-column: 1 / -1;
		letter-spacing: .1em;
		padding: .45rem .65rem .05rem;
		text-transform: uppercase;
	}

	.tim-app-shell .tim-nav a {
		border-radius: 8px;
		display: grid;
		gap: .55rem;
		grid-template-columns: 22px minmax(0, 1fr);
		justify-content: flex-start;
		text-align: left;
	}

	.tim-app-shell .tim-nav-icon {
		align-items: center;
		color: var(--tim-accent);
		display: inline-flex;
		justify-content: center;
	}

	.tim-app-shell[data-theme="dark"] .tim-nav-shell.is-collapsible.is-open .tim-nav,
	.tim-app-shell[data-theme="dark"] .tim-nav-shell.is-collapsible .tim-nav-toggle {
		background: #102331;
	}
}

@media (min-width: 400px) and (max-width: 760px) {
	.tim-app-shell .tim-media-editor-grid,
	.tim-app-shell .tim-photo-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 390px) {
	.tim-app-shell .tim-section-heading:has(> .tim-button) {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.tim-app-shell .tim-section-heading > .tim-button {
		width: 100%;
	}

	.tim-app-shell .tim-storage-grid {
		grid-template-columns: 1fr;
	}

	.tim-app-shell .tim-filter-bar {
		grid-template-columns: 1fr;
	}

	.tim-app-shell .tim-filter-bar .tim-button {
		width: 100%;
	}

	.tim-app-shell .tim-barcode-field {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tim-app-shell,
	.tim-app-shell *,
	.tim-app-shell *::before,
	.tim-app-shell *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* Product Catalog workspace. */
.tim-app-shell .tim-catalog-filters {
	display: grid;
	grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(150px, 1fr)) auto auto;
}

.tim-app-shell .tim-catalog-results,
.tim-app-shell .tim-catalog-card-footer {
	align-items: center;
	display: flex;
	gap: .75rem;
	justify-content: space-between;
}

.tim-app-shell .tim-catalog-results {
	color: var(--tim-muted);
	margin: .25rem 0 1rem;
}

.tim-app-shell .tim-catalog-results strong {
	color: var(--tim-ink);
}

.tim-app-shell .tim-catalog-grid {
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
}

.tim-app-shell .tim-catalog-card {
	display: flex;
	flex-direction: column;
	gap: .7rem;
	min-width: 0;
	padding: .85rem;
}

.tim-app-shell .tim-catalog-card h3,
.tim-app-shell .tim-catalog-card p {
	margin: 0;
}

.tim-app-shell .tim-catalog-card h3 a,
.tim-app-shell .tim-catalog-card-footer a,
.tim-app-shell .tim-back-link {
	color: var(--tim-primary);
	font-weight: 800;
	text-decoration: none;
}

.tim-app-shell .tim-catalog-image {
	align-items: center;
	background: var(--tim-soft);
	border-radius: 10px;
	display: flex;
	height: 160px;
	justify-content: center;
	overflow: hidden;
}

.tim-app-shell .tim-catalog-image img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.tim-app-shell .tim-catalog-image-empty span {
	color: var(--tim-muted);
	font-size: 2.4rem;
}

.tim-app-shell .tim-catalog-card-footer {
	border-top: 1px solid var(--tim-line);
	font-size: .82rem;
	margin-top: auto;
	padding-top: .7rem;
}

.tim-app-shell .tim-catalog-card-footer span {
	color: var(--tim-muted);
}

.tim-app-shell .tim-catalog-empty {
	padding: 2rem;
	text-align: center;
}

.tim-app-shell .tim-catalog-detail .tim-back-link {
	display: inline-block;
	margin-bottom: 1.25rem;
}

.tim-app-shell .tim-catalog-detail-hero {
	align-items: center;
	background: var(--tim-soft);
	border: 1px solid var(--tim-line);
	border-radius: 16px;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(220px, .75fr) minmax(300px, 1.25fr);
	padding: 1.25rem;
}

.tim-app-shell .tim-catalog-detail-hero > div:only-child {
	grid-column: 1 / -1;
}

.tim-app-shell .tim-catalog-detail-image {
	background: #fff;
	border-radius: 12px;
	display: grid;
	height: 280px;
	overflow: hidden;
	place-items: center;
}

.tim-app-shell .tim-catalog-detail-image img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.tim-app-shell .tim-catalog-add-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin-top: 1rem;
}

.tim-app-shell[data-theme="dark"] .tim-catalog-detail-image {
	background: #f8fafc;
}

@media (max-width: 1100px) {
	.tim-app-shell .tim-catalog-filters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tim-app-shell .tim-catalog-search {
		grid-column: span 3;
	}
}

@media (max-width: 760px) {
	.tim-app-shell .tim-catalog-filters,
	.tim-app-shell .tim-catalog-detail-hero {
		grid-template-columns: 1fr;
	}

	.tim-app-shell .tim-catalog-search {
		grid-column: auto;
	}

	.tim-app-shell .tim-catalog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tim-app-shell .tim-catalog-image {
		height: 130px;
	}
}

@media (max-width: 480px) {
	.tim-app-shell .tim-catalog-grid {
		grid-template-columns: 1fr;
	}

	.tim-app-shell .tim-catalog-card-footer,
	.tim-app-shell .tim-catalog-results {
		align-items: flex-start;
		flex-direction: column;
	}
}
