/* FIDO Household visual system
   Warm, formal and family-oriented. The dark/acid corporate identity remains
   reserved for the FIDO shell while coral leads the working content. */

html[data-fido-page="control"] {
	--paper: #f7f4ec;
	--line: #e2ddd2;
	--coral: #ee755d;
	--content-accent: var(--coral);
	--content-accent-ink: #ffffff;
	--wash: #fbeee9;
	--wash-line: #f0c4b7;
	--ready: #55dfb0;
	--ok: #79a843;
}

html[data-fido-page="control"] body {
	background:
		radial-gradient(circle at 88% 2%, rgba(238, 117, 93, .08), transparent 28rem),
		linear-gradient(180deg, #fbf8f1 0, var(--paper) 28rem);
}

.fido-icon-sprite { position: absolute; overflow: hidden; pointer-events: none; }

/* Shell: preserve the dark/acid identity, add only restrained detail. */
html[data-fido-page="control"] .sidebar {
	position: sticky;
	overflow-x: hidden;
	background:
		linear-gradient(180deg, rgba(255,255,255,.018), transparent 35%),
		var(--sidebar);
}
html[data-fido-page="control"] .sidebar > *:not(.sidebar-paws) { position: relative; z-index: 1; }
.sidebar-paws {
	position: absolute;
	right: -8px;
	bottom: 150px;
	width: 80px;
	color: rgba(216,240,107,.10);
	pointer-events: none;
}
html[dir="rtl"] .sidebar-paws { right: auto; left: -8px; transform: scaleX(-1); }
html[data-fido-page="control"] .topbar {
	background: rgba(247,244,236,.9);
	border-color: rgba(80,70,57,.12);
}
html[data-fido-page="control"] main { max-width: 1740px; }
html[data-fido-page="control"] .button { min-height: 38px; }
html[data-fido-page="control"] .workspace .button-primary,
html[data-fido-page="control"] .button-content {
	border-color: var(--coral);
	background: var(--coral);
	color: white;
	box-shadow: 0 9px 22px rgba(188,76,55,.16);
}
html[data-fido-page="control"] .workspace .button-primary:hover,
html[data-fido-page="control"] .button-content:hover { background: #db624b; }
html[data-fido-page="control"] .panel {
	border-radius: 18px;
	box-shadow: 0 12px 34px rgba(49,39,29,.045);
}
html[data-fido-page="control"] .page-intro {
	position: relative;
	margin-bottom: 20px;
	padding-left: 17px;
}
html[data-fido-page="control"] .page-intro::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	bottom: 3px;
	width: 3px;
	border-radius: 9px;
	background: var(--coral);
}
html[dir="rtl"][data-fido-page="control"] .page-intro { padding-right: 17px; padding-left: 0; }
html[dir="rtl"][data-fido-page="control"] .page-intro::before { right: 0; left: auto; }
html[data-fido-page="control"] .page-intro h2 { font-size: clamp(27px,3vw,39px); }
html[data-fido-page="control"] .page-intro > p:last-child,
html[data-fido-page="control"] .split-intro > div > p:last-child { max-width: 750px; font-size: 11px; line-height: 1.55; }
html[data-fido-page="control"] .eyebrow { color: var(--coral); }


/* ===========================================================================
   Control Centre — compact, calm data.
   One presentation rule for every collection: the ledger. Dense rows, hairlines,
   alternating pastel tints for rhythm, click to open detail, paginated for
   hundreds of rows. No card walls, no dead space.
   =========================================================================== */
html[data-fido-page="control"] {
	--row-line: #ebe7de;
	--row-blue: #f1f8ff;
	--row-green: #eff9f3;
	--row-yellow: #fff8dd;
	--row-pink: #fbf0f7;
	--row-violet: #f4f1ff;
	--fresh: #edf8ee;
	--row-pad: 6px;
	--row-min: 38px;
}
html[data-fido-page="control"][data-density="comfortable"] { --row-pad: 10px; --row-min: 50px; }
html[data-fido-page="control"] main { padding: clamp(14px, 1.8vw, 22px) clamp(18px, 2.4vw, 34px); }
html[data-fido-page="control"] .topbar { height: 78px; padding-top: 14px; padding-bottom: 14px; }
html[data-fido-page="control"] .topbar h1 { font-size: 22px; }
html[data-fido-page="control"] .page-intro { margin-bottom: 12px; padding-left: 14px; }
html[data-fido-page="control"] .page-intro h2 { margin: 3px 0 4px; font-size: clamp(20px, 2.1vw, 26px); line-height: 1.1; }
html[data-fido-page="control"] .page-intro > p:last-child,
html[data-fido-page="control"] .split-intro > div > p:last-child { margin: 0; max-width: 720px; font-size: 10.5px; line-height: 1.5; }
html[data-fido-page="control"] .split-intro .button { min-height: 34px; padding: 7px 13px; font-size: 10px; }
html[data-fido-page="control"] .panel { border-radius: 16px; }
html[data-fido-page="control"] .panel-heading { padding: 12px 16px 10px; }
html[data-fido-page="control"] .panel-heading h2 { font-size: 15px; }
html[data-fido-page="control"] .panel-heading .eyebrow { margin-bottom: 2px; }
html[data-fido-page="control"] .eyebrow { font-size: 8px; }

/* Density toggle — three little bars, click to relax the rows */
.density-toggle { display: inline-flex; align-items: center; gap: 3px; height: 34px; padding: 0 11px; border: 1px solid var(--line); border-radius: 99px; background: #fff; color: #5f6964; cursor: pointer; font: inherit; font-size: 10px; font-weight: 700; }
.density-toggle i { width: 10px; height: 2px; border-radius: 2px; background: currentColor; display: block; }
.density-toggle i + i { margin-top: 0; }
.density-toggle span { margin-left: 5px; }
.density-toggle[aria-pressed="true"] i:nth-child(2) { opacity: .35; }
@media (max-width: 900px) { .density-toggle span { display: none; } }

/* Fortnight band: availability + walking weather in one row */
.week { margin-bottom: 12px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.92); box-shadow: 0 8px 25px rgba(49,39,29,.035); display: grid; grid-template-columns: minmax(150px, auto) minmax(0, 1fr) auto; align-items: center; gap: 14px; }
.week-heading { min-width: 0; }
.week-heading .eyebrow { margin-bottom: 2px; font-size: 7.5px; }
.week-heading strong { display: block; font: 500 14px/1.2 Georgia, serif; white-space: nowrap; }
.week-weather-note { display: block; margin-top: 3px; max-width: 220px; overflow: hidden; color: #8a928e; font-size: 7.5px; text-overflow: ellipsis; white-space: nowrap; }
.days { min-width: 0; display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 4px; }
.day { min-width: 0; padding: 0; border: 0; background: transparent; display: grid; grid-template-rows: 18px auto auto; gap: 3px; justify-items: center; color: #8a938e; font: inherit; font-size: 8px; font-variant-numeric: tabular-nums; cursor: pointer; border-radius: 8px; }
.day i { width: 100%; height: 18px; border: 1px solid transparent; border-radius: 5px; background: #efece4; transition: transform .16s ease; }
.day:hover i { transform: translateY(-2px); }
.day:focus-visible { outline: 2px solid var(--coral); outline-offset: 2px; }
.day.booked i { background: var(--sidebar); }
.day.off i { background: var(--coral); }
.day.today i { border-color: var(--ink); box-shadow: inset 0 0 0 2px var(--acid); }
.day.today { color: var(--ink); font-weight: 850; }
.day.weekend > span:first-of-type { color: #b0b6b1; }
.day > span { white-space: nowrap; }
.day .day-date { font-size: 7px; opacity: .8; }
.day .day-weather { min-height: 13px; display: inline-flex; align-items: center; gap: 2px; color: #5f6964; font-size: 8px; }
.day .day-weather b { color: var(--coral); font: 500 11px/1 Georgia, serif; }
.day .day-weather.is-rain b { color: #4f7fb8; }
.day .day-weather.is-snow b { color: #6a8fb6; }
.week-side { display: grid; gap: 5px; justify-items: end; }
.week-key { display: flex; gap: 9px; color: #7d857f; font-size: 7.5px; white-space: nowrap; }
.week-key span { display: inline-flex; align-items: center; gap: 4px; }
.week-key i { width: 8px; height: 8px; border-radius: 2px; }
.week-key .is-booked { background: var(--sidebar); }
.week-key .is-off { background: var(--coral); }
.week-key .is-free { border: 1px solid var(--line); background: #efece4; }
.week-links { display: flex; gap: 10px; }
.week-open { padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; font: inherit; font-size: 8px; font-weight: 850; text-decoration: none; white-space: nowrap; }
.week-open span { color: var(--coral); }
.week-open:hover { color: var(--coral); }

/* Welcome: one compact status band with Today's animals inline */
html[data-fido-page="control"] .welcome-banner { min-height: 0; padding: 16px 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: var(--ink); box-shadow: 0 10px 30px rgba(49,39,29,.045); display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 330px); align-items: center; gap: 18px; }
html[data-fido-page="control"] .welcome-banner::before { width: 260px; height: 260px; right: -140px; top: -170px; border-color: rgba(238,117,93,.2); box-shadow: 0 0 0 36px rgba(238,117,93,.025), 0 0 0 72px rgba(238,117,93,.018); }
html[data-fido-page="control"] .welcome-banner::after { content: none; }
html[data-fido-page="control"] .banner-kicker { color: var(--coral); font-size: 8px; }
html[data-fido-page="control"] .welcome-banner h2 { max-width: none; margin: 5px 0 4px; font-size: clamp(19px, 1.9vw, 24px); line-height: 1.15; }
html[data-fido-page="control"] .welcome-banner p { color: #5a635e; font-size: 10.5px; line-height: 1.5; }
.welcome-copy { min-width: 0; display: grid; gap: 0; }
.welcome-copy .button { justify-self: start; margin-top: 10px; min-height: 32px; padding: 6px 12px; font-size: 10px; }
.today-pets { position: relative; z-index: 1; align-self: stretch; display: grid; align-content: center; gap: 5px; }
.today-pets .eyebrow { margin: 0 0 1px; color: var(--coral); }
.today-pets-list { display: grid; gap: 4px; }
.pet-row { min-width: 0; padding: 5px 8px; border: 1px solid var(--wash-line); border-radius: 9px; background: var(--wash); display: flex; align-items: center; gap: 8px; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.pet-row:hover { box-shadow: 0 6px 14px rgba(238,117,93,.14); }
.pet-row .pet { flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; background: white; color: var(--coral); display: grid; place-items: center; border: 1px solid var(--wash-line); }
.pet-row .pet svg { width: 13px; height: 13px; }
.pet-row > div { min-width: 0; }
.pet-row b, .pet-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pet-row b { font-size: 10.5px; }
.pet-row small { margin-top: 1px; color: #7d857f; font-size: 8px; }
.pet-row time { margin-left: auto; flex: 0 0 auto; font-size: 8px; font-weight: 850; font-variant-numeric: tabular-nums; }
html[dir="rtl"] .pet-row time { margin-left: 0; margin-right: auto; }
.pet-row.is-empty { border-style: dashed; background: #fbfaf6; cursor: default; }
.pet-row.is-empty .pet { background: var(--wash); }
.pet-row.is-next { background: #fff; }

/* Metrics: a slim stat strip */
html[data-fido-page="control"] .metric-grid { margin: 12px 0; gap: 8px; }
html[data-fido-page="control"] .metric-card { min-height: 0; padding: 10px 14px; border-color: var(--line); display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 10px; box-shadow: none; }
html[data-fido-page="control"] .metric-card .metric-label { grid-column: 1; font-size: 7.5px; }
html[data-fido-page="control"] .metric-card strong { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0; font-size: 24px; }
html[data-fido-page="control"] .metric-card .metric-word { font-size: 16px; }
html[data-fido-page="control"] .metric-card small { grid-column: 1; margin: 2px 0 0; font-size: 8.5px; }
html[data-fido-page="control"] .accent-card { border-color: transparent; background: var(--coral); color: white; }
html[data-fido-page="control"] .accent-card .metric-label, html[data-fido-page="control"] .accent-card small { color: white; opacity: .86; }

/* Radar engine: identity + one-line heading + folding search plan */
html[data-fido-page="control"] .search-depth-panel { margin-bottom: 12px; }
html[data-fido-page="control"] .radar-engine-identity { padding: 9px 16px; }
html[data-fido-page="control"] .radar-engine-mark { flex-basis: 28px; width: 28px; height: 28px; font-size: 17px; }
html[data-fido-page="control"] .radar-engine-name strong { font-size: 13px; }
html[data-fido-page="control"] .radar-source-jump { min-height: 30px; padding: 5px 11px; font-size: 9px; }
html[data-fido-page="control"] .search-depth-heading { padding: 11px 16px 10px; }
html[data-fido-page="control"] .search-depth-heading h2 { margin: 1px 0 3px; font-size: 16px; }
html[data-fido-page="control"] .search-depth-heading .button { min-height: 34px; padding: 7px 14px; font-size: 10px; }
.radar-plan { border-bottom: 1px solid #e9ece6; }
.radar-plan > summary { list-style: none; cursor: pointer; padding: 8px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: linear-gradient(130deg, var(--wash), #fff 70%); }
.radar-plan > summary::-webkit-details-marker { display: none; }
.radar-plan-title { min-width: 0; display: flex; align-items: baseline; gap: 8px; }
.radar-plan-title b { font-size: 10px; }
.radar-plan-title span { overflow: hidden; color: #7d857f; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.radar-plan-toggle { color: var(--coral); font-size: 8.5px; font-weight: 850; white-space: nowrap; }
.radar-plan-toggle i:last-child, .radar-plan[open] .radar-plan-toggle i:first-child { display: none; }
.radar-plan[open] .radar-plan-toggle i:last-child { display: inline; }
.radar-plan-toggle i { font-style: normal; }
html[data-fido-page="control"] .radar-scope { padding: 10px 16px; gap: 9px; background: #fffdf8; }
html[data-fido-page="control"] #radar-permanent-tags { max-height: 92px; }
html[data-fido-page="control"] .search-depth-grid { padding: 10px 16px; gap: 7px; }
html[data-fido-page="control"] .search-depth-stat { min-height: 0; padding: 8px 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 8px; }
html[data-fido-page="control"] .search-depth-stat strong { grid-column: 2; grid-row: 1 / 3; font-size: 16px; }
html[data-fido-page="control"] .search-depth-stat small { grid-column: 1; font-size: 7.5px; }
html[data-fido-page="control"] .search-depth-foot { padding: 6px 16px 10px; }

/* Working day: five compact action rows */
html[data-fido-page="control"] .today-panel { margin-bottom: 12px; padding: 0; overflow: hidden; }
html[data-fido-page="control"] .today-heading { padding: 11px 16px 8px; }
html[data-fido-page="control"] .today-heading h2 { font-size: 15px; }
html[data-fido-page="control"] .today-actions { display: block; padding: 0; margin: 0; }
html[data-fido-page="control"] .today-action { width: 100%; min-height: 34px; padding: 5px 16px; border: 0; border-top: 1px solid var(--row-line); border-radius: 0; background: transparent; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 10px; text-align: left; cursor: pointer; transition: background .15s ease; transform: none; box-shadow: none; }
html[data-fido-page="control"] .today-action:nth-child(10n + 2) { background: var(--row-blue); }
html[data-fido-page="control"] .today-action:nth-child(10n + 4) { background: var(--row-green); }
html[data-fido-page="control"] .today-action:nth-child(10n + 6) { background: var(--row-yellow); }
html[data-fido-page="control"] .today-action:nth-child(10n + 8) { background: var(--row-pink); }
html[data-fido-page="control"] .today-action:nth-child(10n + 10) { background: var(--row-violet); }
html[data-fido-page="control"] .today-action:hover { background: #f3f1ea; transform: none; box-shadow: inset 3px 0 var(--coral); }
html[data-fido-page="control"] .today-action > span { width: 22px; height: 22px; border-radius: 6px; background: #edf0e8; font-size: 8.5px; }
html[data-fido-page="control"] .today-action.is-urgent > span { background: var(--coral); color: white; }
html[data-fido-page="control"] .today-action strong { display: inline; margin: 0; font: 600 11px Georgia, serif; }
html[data-fido-page="control"] .today-action small { display: inline; margin: 0 0 0 6px; color: #77807b; font-size: 8.5px; }
html[data-fido-page="control"] .today-action .today-copy { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[data-fido-page="control"] .today-action em { margin: 0; padding: 0; color: var(--coral); font-size: 8px; font-style: normal; font-weight: 850; white-space: nowrap; }
html[dir="rtl"][data-fido-page="control"] .today-action { text-align: right; }
html[dir="rtl"][data-fido-page="control"] .today-action small { margin: 0 6px 0 0; }

/* ---- Ledger ---- */
.ledger { border: 1px solid var(--line); border-radius: 14px; background: var(--surface); overflow: hidden; }
.ledger-head { display: grid; align-items: center; gap: 4px 12px; padding: 6px 14px; background: #f6f3ec; color: #7d857f; font-size: 7.5px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 2; }
.ledger-head span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ledger-head .sortable { cursor: pointer; }
.ledger-head .sortable:hover, .ledger-head .is-sorted { color: var(--ink); }
.ledger-row { position: relative; display: grid; align-items: center; gap: 3px 12px; min-height: var(--row-min); padding: var(--row-pad) 14px; border-top: 1px solid var(--row-line); background: var(--surface); color: inherit; font: inherit; font-size: 11px; text-align: left; transition: background .15s ease; }
.ledger-row:first-child, .ledger-head + .ledger-row { border-top: 0; }
.ledger-row:nth-child(10n + 2) { background: var(--row-blue); }
.ledger-row:nth-child(10n + 4) { background: var(--row-green); }
.ledger-row:nth-child(10n + 6) { background: var(--row-yellow); }
.ledger-row:nth-child(10n + 8) { background: var(--row-pink); }
.ledger-row:nth-child(10n + 10) { background: var(--row-violet); }
.ledger-row.is-clickable { cursor: pointer; }
.ledger-row.is-clickable:hover { box-shadow: inset 3px 0 var(--coral); }
.ledger-row:focus { outline: 0; box-shadow: inset 3px 0 var(--ink); }
.ledger-row:focus-visible { outline: 0; box-shadow: inset 3px 0 var(--ink), inset 0 0 0 1px var(--line); }
html[dir="rtl"] .ledger-row.is-clickable:hover, html[dir="rtl"] .ledger-row:focus { box-shadow: inset -3px 0 var(--coral); }
.ledger-row.is-fresh { background: var(--fresh); box-shadow: inset 3px 0 #7fbf7a; }
.ledger-row.is-applied { background: #fbfdf4; }
.ledger-row.is-rejected { opacity: .6; }
.ledger-row.is-selected { background: #fff3ee; box-shadow: inset 3px 0 var(--coral); }
.ledger-row.is-starred { box-shadow: inset 3px 0 #e8b21e; }
.ledger-row.is-starred:hover { box-shadow: inset 3px 0 #e8b21e, inset 6px 0 rgba(232,178,30,.2); }
.signal-star { color: #e8b21e; font-family: Inter, sans-serif; font-size: 13px; text-shadow: 0 1px 0 rgba(42,36,32,.2); vertical-align: -1px; }
.ledger-signal-band { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:8px 12px 6px; border-top:1px solid var(--row-line); border-bottom:1px solid var(--row-line); background:#fff8dc; color:var(--ink); }
.ledger-signal-band strong { font:800 9px/1.2 Inter, sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.ledger-signal-band span { color:#747b77; font-size:8.5px; }
.ledger-signal-band.is-weak-or-unlocated { background:#f1f1ee; color:#666d69; }
.ledger-signal-band.is-good-potential { background:#e8f4ed; color:#315a47; }
.ledger-signal-band.is-starred { background:#fff8dc; color:var(--ink); }
.ledger-row.is-new-arrival { animation: arrive .7s cubic-bezier(.2,.8,.2,1) both; }
.ledger-row h3 { margin: 0; font: 600 11.5px/1.3 Georgia, serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ledger-row h3 .new-tag { display: inline-block; margin-right: 6px; padding: 2px 5px; border-radius: 99px; background: var(--coral); color: #fff; font: 900 6.5px/1 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; vertical-align: middle; }
.ledger-row .cell { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #5f6964; font-size: 9.5px; }
.ledger-row .cell b { color: var(--ink); font-weight: 700; }
.ledger-row .cell.num { font-variant-numeric: tabular-nums; color: var(--ink); font-weight: 700; }
.ledger-row .cell.dim { color: #8a928e; font-size: 8.5px; }
.ledger-row .cell.actions { overflow: visible; display: flex; justify-content: flex-end; align-items: center; gap: 5px; }
.ledger-main { min-width: 0; }
.ledger-main .meta { display: block; margin-top: 1px; color: #808985; font-size: 8px; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ledger-main .meta b { color: #52645c; }
.ledger-main .meta > * + *::before { content: "·"; margin: 0 5px; color: #b9bfba; }
.ledger-main .petname { display: inline-flex; align-items: center; gap: 3px; margin: 0 6px 0 0; color: var(--coral); font-size: 8.5px; font-weight: 850; text-transform: none; letter-spacing: 0; vertical-align: middle; }
.ledger-main .petname svg { width: 10px; height: 10px; }
.ledger-mark { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--wash); border: 1px solid var(--wash-line); color: var(--coral); font-size: 8px; font-weight: 850; font-variant-numeric: tabular-nums; }
.ledger-mark svg { width: 15px; height: 15px; }
.ledger-mark.is-source { border-radius: 8px; background: var(--sidebar); border-color: transparent; color: var(--acid); font: 800 9.5px Georgia, serif; }
.ledger-mark.is-ring { position: relative; overflow: visible; background: #fff; }
.ledger-mark.is-ring .opp-ring { position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); transform: rotate(-90deg); }
.ledger-mark.is-ring .opp-ring .track { fill: none; stroke: var(--wash-line); stroke-width: 3; }
.ledger-mark.is-ring .opp-ring .fill { fill: none; stroke: var(--coral); stroke-width: 3; stroke-linecap: round; }
.ledger-pill { display: inline-block; padding: 3px 6px; border-radius: 5px; background: #eff1ec; color: #68716c; font-size: 7.5px; font-weight: 820; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.ledger-pill.is-local { background: var(--pastel-green); color: #2f6a45; }
.ledger-pill.is-abroad { background: var(--wash); color: #b5503a; }
.ledger-pill.is-ok { background: #edf5c7; color: #5e6d2b; }
.ledger-pill.is-quiet { background: transparent; border: 1px solid var(--line); }
.ledger-link { color: var(--sidebar); font-size: 8.5px; font-weight: 850; text-decoration: none; white-space: nowrap; padding: 5px 8px; border: 1px solid #d4dbd2; border-radius: 7px; background: rgba(255,255,255,.75); transition: background .15s, color .15s, border-color .15s; }
.ledger-link:hover { background: var(--sidebar); color: #fff; border-color: var(--sidebar); }
.ledger-link.is-primary { background: var(--coral); color: #fff; border-color: var(--coral); }
.ledger-link.is-primary:hover { background: #db624b; border-color: #db624b; }
.ledger-row .button { min-height: 26px; padding: 4px 9px; font-size: 8.5px; }
.ledger-check { width: 14px; height: 14px; margin: 0; accent-color: var(--coral); cursor: pointer; }
.ledger-detail { display: none; grid-column: 1 / -1; padding: 8px 0 4px; border-top: 1px dashed var(--row-line); margin-top: 4px; }
.ledger-row.is-open .ledger-detail { display: grid; gap: 8px; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; }
.ledger-row.is-open .ledger-detail .span-all { grid-column: 1 / -1; }
.ledger-detail .request-post, .ledger-detail .opportunity-translation, .ledger-detail .new-fit, .ledger-detail .source-query { margin: 0; }
.ledger-detail .request-post { padding: 10px 12px; }
.ledger-detail .request-post p { font-size: 12px; }
.ledger-detail .new-fit { padding: 9px 11px; }
.ledger-detail p.plain { margin: 0; color: #5f6964; font-size: 10.5px; line-height: 1.55; white-space: normal; }
.ledger-detail .detail-grid { display: grid; gap: 4px 12px; grid-template-columns: auto minmax(0, 1fr); font-size: 9.5px; }
.ledger-detail .detail-grid dt { color: #8a928e; font-size: 7.5px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ledger-detail .detail-grid dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.ledger-toggle { width: 20px; height: 20px; border: 0; border-radius: 50%; background: transparent; color: #8a928e; font-size: 9px; cursor: pointer; display: grid; place-items: center; transition: transform .18s ease; }
.ledger-row.is-open .ledger-toggle { transform: rotate(180deg); color: var(--ink); }
.ledger-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; padding: 7px 14px; border-top: 1px solid var(--line); background: #faf8f3; color: #7d857f; font-size: 8.5px; }
.ledger-foot kbd { padding: 1px 4px; border: 1px solid var(--line); border-bottom-width: 2px; border-radius: 4px; background: #fff; color: var(--ink); font: 700 7.5px/1.4 ui-monospace, monospace; }
.ledger-pager { display: flex; align-items: center; gap: 4px; }
.ledger-pager button { min-width: 24px; height: 24px; padding: 0 6px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink); cursor: pointer; font: inherit; font-size: 8.5px; font-weight: 800; }
.ledger-pager button:disabled { opacity: .4; cursor: default; }
.ledger-pager button.is-current { background: var(--sidebar); color: #fff; border-color: var(--sidebar); }
.ledger-pager strong { margin: 0 4px; font-size: 8.5px; font-variant-numeric: tabular-nums; }
.ledger-empty { padding: 30px 20px; text-align: center; color: #79817d; font-size: 10.5px; }
.ledger-empty strong { display: block; margin-bottom: 4px; color: var(--ink); font: 500 16px Georgia, serif; }
.ledger-empty .button { margin-top: 10px; }
.ledger-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; }
.ledger-tools > span { color: #747d78; font-size: 9px; white-space: nowrap; }
.ledger-search input, .ledger-sort select { height: 30px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: 10px; }
.ledger-search input { min-width: 200px; }
.ledger-search input:focus, .ledger-sort select:focus { outline: 2px solid var(--coral); outline-offset: 1px; border-color: var(--wash-line); }
.ledger-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.ledger-chips button { display: inline-flex; align-items: center; gap: 4px; height: 26px; padding: 0 8px; border: 1px solid var(--line); border-radius: 99px; background: #fff; color: #6f7773; cursor: pointer; font: inherit; font-size: 9px; font-weight: 750; }
.ledger-chips button svg { width: 11px; height: 11px; color: var(--coral); }
.ledger-chips button b { font-variant-numeric: tabular-nums; }
.ledger-chips button.is-active { background: var(--wash); border-color: var(--wash-line); color: #b5503a; }
.ledger-window { max-height: calc(100vh - 300px); min-height: 200px; overflow: auto; overscroll-behavior: contain; }
.ledger-tools .button { min-height: 30px; padding: 5px 11px; font-size: 9.5px; }
.opportunity-tools { padding: 0 16px 8px; }
html[data-fido-page="control"] .opportunity-list { padding: 0; margin: 0 16px 14px; }
html[data-fido-page="control"] .opportunity-list .empty-opportunities { padding: 30px 14px; }

/* Ledger containers replace the former card grids */
html[data-fido-page="control"] .new-opportunity-grid, html[data-fido-page="control"] .source-grid, html[data-fido-page="control"] .news-grid { display: block; gap: 0; }
html[data-fido-page="control"] .ledger-row .button, html[data-fido-page="control"] .ledger-tools .button { min-height: 26px; padding: 4px 9px; font-size: 8.5px; }
html[data-fido-page="control"] .ledger-tools .button { min-height: 30px; padding: 5px 11px; font-size: 9.5px; }
html[data-fido-page="control"] .source-row .source-check { position: static; right: auto; top: auto; width: 14px; height: 14px; margin: 0; accent-color: var(--coral); }
html[data-fido-page="control"] .source-row h3 { margin: 0; padding: 0; font: 600 11.5px/1.3 Georgia, serif; }
html[data-fido-page="control"] .news-empty, html[data-fido-page="control"] .new-empty, html[data-fido-page="control"] .source-empty { padding: 34px 20px; border-radius: 14px; }
html[data-fido-page="control"] .news-empty span, html[data-fido-page="control"] .new-empty span, html[data-fido-page="control"] .source-empty span { font-size: 24px; }
html[data-fido-page="control"] .news-empty h3, html[data-fido-page="control"] .new-empty h3, html[data-fido-page="control"] .source-empty h3 { margin: 8px 0 4px; font-size: 17px; }
/* Column templates per ledger */
.opportunity-list .ledger-head, .opportunity { grid-template-columns: 28px minmax(0, 1fr) 36px auto; }
.opportunity-list.is-wide .ledger-head, .opportunity-list.is-wide .opportunity { grid-template-columns: 28px minmax(0, 1fr) 140px 108px 36px auto; }
.opportunity .col-wide { display: none; }
.opportunity-list.is-wide .col-wide { display: block; }
.new-opportunity-grid .ledger-head, .new-row { grid-template-columns: 16px 28px minmax(0, 1fr) 62px 112px 84px 190px; }
.source-grid .ledger-head, .source-row { grid-template-columns: 16px 28px minmax(0, 1.4fr) 170px 140px 96px 214px; }
.source-row .cell.country { display: flex; align-items: center; gap: 6px; }
.source-row .cell.actions, .new-row .cell.actions { justify-content: flex-start; }
.source-row .cell.actions > .ledger-link { width: 92px; text-align: center; }
.source-row .cell.actions > .ledger-pill, .new-row .cell.actions > .ledger-pill { min-width: 72px; text-align: center; }
.source-row .cell.actions > .ledger-toggle, .new-row .cell.actions > .ledger-toggle { margin-left: auto; }
.new-row .cell.actions > .button { width: 52px; }
.new-row .cell.actions > .ledger-link { width: 84px; text-align: center; }
.news-grid .ledger-head, .news-row { grid-template-columns: 76px minmax(0, 1fr) 150px 86px auto; }
.news-row .cell.date { color: #5e6d2b; font-weight: 800; font-size: 9px; }
@media (min-width: 1001px) { .news-row .ledger-main .meta { display: none; } }
html[data-fido-page="control"] .source-toolbar { flex-wrap: wrap; gap: 8px 14px; margin-bottom: 10px; }
html[data-fido-page="control"] .filter-pill { padding: 6px 10px; font-size: 9.5px; }
html[data-fido-page="control"] .source-actions .button { min-height: 30px; padding: 5px 11px; font-size: 9.5px; }
html[data-fido-page="control"] .new-rule-banner, html[data-fido-page="control"] .library-health, html[data-fido-page="control"] .platform-note, html[data-fido-page="control"] .calendar-rule, html[data-fido-page="control"] .builder-status { margin-bottom: 10px; padding: 8px 14px; border-radius: 12px; }
html[data-fido-page="control"] .new-rule-banner { border-color: var(--wash-line); background: var(--wash); }
html[data-fido-page="control"] .new-rule-banner strong, html[data-fido-page="control"] .library-health strong { font-size: 10px; }
html[data-fido-page="control"] .new-rule-banner p, html[data-fido-page="control"] .library-health p { margin-top: 2px; font-size: 9px; }
html[data-fido-page="control"] .rule-stack { margin-bottom: 10px; padding: 8px 16px; }
html[data-fido-page="control"] .platform-note { margin-bottom: 10px; }
html[data-fido-page="control"] .request-post { border-left-color: var(--coral); background: #fbf7f1; }
html[dir="rtl"][data-fido-page="control"] .request-post { border-right-color: var(--coral); }
html[data-fido-page="control"] .new-market, html[data-fido-page="control"] .source-ai, html[data-fido-page="control"] .preview-pill, html[data-fido-page="control"] .daily-story-rail header span { background: var(--wash); color: #a34939; }
html[data-fido-page="control"] .filter-pill.is-active, html[data-fido-page="control"] .direction-choices button.is-active { border-color: var(--coral); background: var(--coral); color: white; }
html[data-fido-page="control"] .news-pagination { margin-top: 10px; }
html[data-fido-page="control"] .news-pagination .button { min-height: 30px; padding: 5px 11px; font-size: 9.5px; }
.opp-feed-mix { display: inline-flex; align-items: center; gap: 6px; }
.opp-feed-mix i { display: inline-flex; align-items: center; gap: 3px; font-style: normal; }
.opp-feed-mix svg { width: 11px; height: 11px; color: var(--coral); }
@keyframes arrive { 0% { opacity: 0; transform: translateY(-6px); } 100% { opacity: 1; transform: none; } }

/* Intelligence side panel: compact reasoning + stories */
html[data-fido-page="control"] .intelligence-panel { padding-bottom: 12px; }
html[data-fido-page="control"] .reasoning-stack { padding: 4px 16px 10px; }
html[data-fido-page="control"] .reasoning-step { padding: 7px 0; }
html[data-fido-page="control"] .daily-story-rail { margin: 0 16px 12px; }
html[data-fido-page="control"] .intelligence-panel > .button { width: calc(100% - 32px); margin: 0 16px; min-height: 32px; font-size: 10px; }

/* Source coverage: a compact name grid, six across */
html[data-fido-page="control"] .radar-source-panel { margin-top: 12px; }
html[data-fido-page="control"] .radar-source-heading { min-height: 0; padding: 10px 16px; background: linear-gradient(110deg, var(--row-blue), white 68%); }
html[data-fido-page="control"] .radar-source-heading h2 { margin: 2px 0 3px; font-size: 16px; }
html[data-fido-page="control"] .radar-source-rows { height: auto; max-height: 220px; }
html[data-fido-page="control"] .radar-source-rows.is-tab-grid { padding: 8px 10px; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: 28px; gap: 5px; }
html[data-fido-page="control"] .radar-source-tab { padding: 4px 8px; border-radius: 7px; font-size: 8.5px; }
html[data-fido-page="control"] .radar-source-tab.is-working { border-color: #e6d15a; background: var(--pastel-yellow); }
html[data-fido-page="control"] .radar-source-row { min-height: 0; padding: 7px 14px; }
html[data-fido-page="control"] .radar-source-pagination { padding: 8px 14px; }

/* Other workspaces: same compaction, nothing removed */
html[data-fido-page="control"] .calendar-day { min-height: 62px; padding: 7px 8px; background: #faf9f4; }
html[data-fido-page="control"] .calendar-day.is-unavailable { border-color: var(--wash-line); background: var(--wash); }
html[data-fido-page="control"] .calendar-day.is-unavailable > span { color: #a34939; }
html[data-fido-page="control"] .calendar-day.is-booked { background: var(--sidebar); box-shadow: inset 0 -4px var(--acid); }
html[data-fido-page="control"] .calendar-summary-head { background: var(--sidebar); }
html[data-fido-page="control"] .calendar-rule > span, html[data-fido-page="control"] .media-stat:first-child, html[data-fido-page="control"] .media-empty span, html[data-fido-page="control"] .media-principle > span { background: var(--coral); color: white; }
html[data-fido-page="control"] .site-section-map button:hover, html[data-fido-page="control"] .print-report-option.is-active { background: var(--wash); }
html[data-fido-page="control"] .print-report-option.is-active { border-color: var(--coral); box-shadow: inset 3px 0 var(--coral); }
html[data-fido-page="control"] .source-card, html[data-fido-page="control"] .profile-card, html[data-fido-page="control"] .media-stat, html[data-fido-page="control"] .site-editor-card { border-radius: 14px; }

@keyframes breathe-ok { 0%,100% { box-shadow: 0 0 0 4px rgba(121,168,67,.13); } 50% { box-shadow: 0 0 0 8px rgba(121,168,67,.30); } }
@keyframes breathe-ready { 0%,100% { box-shadow: 0 0 0 4px rgba(85,223,176,.11); } 50% { box-shadow: 0 0 0 7px rgba(85,223,176,.32); } }
@keyframes breathe { 0%,100% { box-shadow: 0 0 0 4px rgba(216,240,107,.12); } 50% { box-shadow: 0 0 0 7px rgba(216,240,107,.28); } }
.system-status span { animation: breathe-ok 2.4s ease-in-out infinite; }
.radar-engine-live i { animation: breathe-ready 2.4s ease-in-out infinite; }
.privacy-card .privacy-dot { animation: breathe 3s ease-in-out infinite; }

/* Radar layout: two working columns on wide screens, the feed gets the height */
@media (min-width: 1181px) {
	html[data-fido-page="control"] #view-radar.is-active { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); grid-template-rows: auto auto auto auto auto auto; gap: 12px; overflow: visible; padding-right: 0; min-height: 0; align-items: start; }
	html[data-fido-page="control"] #view-radar .week { grid-column: 1 / -1; grid-row: 1; margin: 0; }
	html[data-fido-page="control"] #view-radar .welcome-banner { grid-column: 1; grid-row: 2; min-height: 0; padding: 16px 20px; }
	html[data-fido-page="control"] #view-radar .welcome-banner h2 { font-size: clamp(19px, 1.9vw, 24px); }
	html[data-fido-page="control"] #view-radar .metric-card { min-height: 0; padding: 10px 14px; }
	html[data-fido-page="control"] #view-radar .metric-card strong { margin: 0; font-size: 24px; }
	html[data-fido-page="control"] #view-radar .metric-card .metric-word { font-size: 16px; }
	html[data-fido-page="control"] #view-radar .search-depth-heading { padding: 11px 16px 10px; }
	html[data-fido-page="control"] #view-radar .search-depth-grid { padding: 10px 16px; gap: 6px; grid-template-columns: repeat(6, minmax(0, 1fr)); }
	html[data-fido-page="control"] #view-radar .search-depth-stat { min-height: 0; padding: 7px 8px; display: flex; flex-direction: column; gap: 2px; }
	html[data-fido-page="control"] #view-radar .search-depth-stat strong { font-size: 15px; }
	html[data-fido-page="control"] #view-radar .search-depth-stat small { display: none; }
	html[data-fido-page="control"] #view-radar .welcome-banner, html[data-fido-page="control"] #view-radar .metric-grid { align-self: stretch; }
	html[data-fido-page="control"] #view-radar .today-panel { padding: 0; }
	html[data-fido-page="control"] #view-radar .today-actions { margin: 0; gap: 0; }
	html[data-fido-page="control"] #view-radar .today-action { min-height: 34px; padding: 5px 16px; }
	html[data-fido-page="control"] #view-radar .today-action strong { margin: 0; font-size: 11px; }
	html[data-fido-page="control"] #view-radar .opportunity-list { overflow: visible; }
	html[data-fido-page="control"] #view-radar .metric-grid { grid-column: 1; grid-row: 3; margin: 0; }
	html[data-fido-page="control"] #view-radar .search-depth-panel { grid-column: 2; grid-row: 2 / 4; margin: 0; align-self: stretch; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
	html[data-fido-page="control"] #view-radar .search-depth-panel .radar-plan { min-height: 0; overflow: auto; }
	/* The radar grid dissolves so the feed and the reasoning panel join the page grid */
	html[data-fido-page="control"] #view-radar .radar-grid { display: contents; }
	html[data-fido-page="control"] #view-radar .radar-grid > .panel:first-child { grid-column: 1; grid-row: 4 / 6; margin: 0; min-height: 0; }
	html[data-fido-page="control"] #view-radar .today-panel { grid-column: 2; grid-row: 4; margin: 0; }
	html[data-fido-page="control"] #view-radar .intelligence-panel { grid-column: 2; grid-row: 5; margin: 0; }
	html[data-fido-page="control"] #view-radar .radar-source-panel { grid-column: 1 / -1; grid-row: 6; margin: 0; }
}
@media (max-width: 1180px) {
	html[data-fido-page="control"] .radar-grid { grid-template-columns: minmax(0, 1.7fr) minmax(260px, .8fr); }
}
@media (max-width: 1000px) {
	.week { grid-template-columns: 1fr; gap: 8px; }
	.week-side { justify-items: start; }
	html[data-fido-page="control"] .radar-grid { grid-template-columns: 1fr; }
	.new-opportunity-grid .ledger-head, .new-row { grid-template-columns: 16px 28px minmax(0, 1fr) auto; }
	.new-row .col-wide, .new-opportunity-grid .ledger-head .col-wide, .source-row .col-wide, .source-grid .ledger-head .col-wide, .news-row .col-wide, .news-grid .ledger-head .col-wide { display: none; }
	.source-grid .ledger-head, .source-row { grid-template-columns: 16px 28px minmax(0, 1fr) auto; }
	.news-grid .ledger-head, .news-row { grid-template-columns: 76px minmax(0, 1fr) auto; }
	.ledger-row.is-open .ledger-detail { grid-template-columns: 1fr; }
	.new-row .cell.actions > .button, .new-row .cell.actions > .ledger-link, .new-row .cell.actions > .ledger-pill, .source-row .cell.actions > .ledger-link, .source-row .cell.actions > .ledger-pill.is-quiet, .news-row .cell.actions > .ledger-link { display: none; }
	.ledger-row.is-open .cell.actions { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; flex-wrap: wrap; padding: 2px 0 4px 44px; }
	.ledger-row.is-open .cell.actions > * { display: inline-flex !important; opacity: 1; }
	.ledger-row.is-open .cell.actions > .ledger-toggle { margin-left: auto; }
	.ledger-row.is-open .ledger-detail { grid-row: 3; }
	.ledger-group { top: 0; }
}
@media (max-width: 760px) {
	.week { padding: 10px 12px; }
	.days { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
	.day { font-size: 9px; }
	.day i { height: 22px; }
	html[data-fido-page="control"] .welcome-banner { padding: 16px; grid-template-columns: 1fr; }
	html[data-fido-page="control"] .today-pets { width: 100%; }
	html[data-fido-page="control"] .page-intro { padding-left: 12px; }
	html[data-fido-page="control"] .metric-card { padding: 10px 12px; }
	.ledger-search input { min-width: 0; width: 100%; }
	.ledger-head { display: none; }
	.opportunity-list .ledger-head, .opportunity { grid-template-columns: 28px minmax(0, 1fr) auto; }
	.opportunity .cell.num { display: none; }
}
@media (max-width: 900px) {
	html[data-fido-page="control"] .sidebar { position: fixed; top: 0; }
}

/* Public sitter website: retain the sitter's editable palette, tighten the
   composition and echo the Household cards and paper. */
html[data-fido-page="sitter"] { --paper: #f7f4ec; --accent: #ee755d; --soft: #e9e7dc; }
html[data-fido-page="sitter"] .public-header { min-height: 88px; background: rgba(247,244,236,.92); }
html[data-fido-page="sitter"] .public-header nav a { position: relative; }
html[data-fido-page="sitter"] .public-header nav a::after { content: ""; position: absolute; right: 0; bottom: -8px; left: 0; height: 2px; background: var(--accent); transform: scaleX(0); transition: transform .18s ease; }
html[data-fido-page="sitter"] .public-header nav a:hover::after { transform: scaleX(1); }
html[data-fido-page="sitter"] .public-hero { min-height: min(740px,calc(100vh - 88px)); }
html[data-fido-page="sitter"] .hero-shade { background: linear-gradient(90deg,rgba(10,24,19,.88),rgba(10,24,19,.55) 42%,rgba(10,24,19,.08) 75%),linear-gradient(0deg,rgba(10,20,16,.35),transparent 48%); }
html[data-fido-page="sitter"] .hero-copy h1 { max-width: 720px; font-size: clamp(48px,6vw,88px); }
html[data-fido-page="sitter"] .hero-note { border-color: rgba(238,117,93,.58); background: rgba(247,244,236,.94); color: var(--ink); }
html[data-fido-page="sitter"] .trust-strip { min-height: 102px; }
html[data-fido-page="sitter"] .service-list { border-top: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
html[data-fido-page="sitter"] .service-card { min-width: 0; padding: 24px; border: 1px solid color-mix(in srgb,var(--ink) 15%,transparent); border-radius: 18px; background: rgba(255,255,255,.58); display: flex; flex-direction: column; gap: 13px; }
html[data-fido-page="sitter"] .service-card > span { order: -1; display: flex; align-items: center; gap: 10px; }
html[data-fido-page="sitter"] .service-icon { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #fbeee9; border: 1px solid #f0c4b7; color: var(--accent); }
html[data-fido-page="sitter"] .service-icon svg { width: 18px; height: 18px; }
.fido-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
html[data-fido-page="sitter"] .service-card strong { margin-top: auto; align-self: flex-start; background: #fbeee9; color: #9c4635; }
html[data-fido-page="sitter"] .about-section { gap: 0; }
html[data-fido-page="sitter"] .about-image img { transform: none; }
html[data-fido-page="sitter"] .area-section aside { border-radius: 18px; background: rgba(255,255,255,.52); }
html[data-fido-page="sitter"] .availability-section { background: #f2a08f; }
html[data-fido-page="sitter"] .gallery-grid figure { border-radius: 18px; box-shadow: 0 18px 38px rgba(26,38,32,.10); }
html[data-fido-page="sitter"] .contact-form { border: 1px solid color-mix(in srgb,var(--ink) 14%,transparent); border-radius: 20px; background: var(--paper); }
html[data-fido-page="sitter"] .fido-maker-mark strong { font-family: Inter,ui-sans-serif,sans-serif; }

/* Product site: calm the former poster-like treatment into an editorial
   system while keeping the FIDO lockup and acid identity recognizable. */
html[data-fido-page="promo"] { --paper: #f7f4ec; --white: #fffefb; --coral: #ee755d; --line: rgba(23,33,31,.14); --serif: Georgia,"Times New Roman",serif; }
html[data-fido-page="promo"] .promo-header { background: rgba(247,244,236,.92); }
html[data-fido-page="promo"] .button-primary { background: var(--coral); color: white; box-shadow: 0 10px 24px rgba(188,76,55,.18); }
html[data-fido-page="promo"] .hero { min-height: min(820px,calc(100vh - 82px - var(--release-footer-height))); background: radial-gradient(circle at 20% 14%,rgba(238,117,93,.12),transparent 28%),var(--paper); }
html[data-fido-page="promo"] .hero-title em { color: var(--coral); }
html[data-fido-page="promo"] .hero-photo { opacity: .86; filter: saturate(.76) contrast(.92); }
html[data-fido-page="promo"] .signal-card { border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 18px 42px rgba(16,37,31,.16); }
html[data-fido-page="promo"] .paper-call-sign { border-radius: 20px; transform: rotate(2deg); }
html[data-fido-page="promo"] .system-grid { gap: 14px; }
html[data-fido-page="promo"] .system-card { min-height: 420px; border-radius: 22px; transform: none; }
html[data-fido-page="promo"] .system-card.is-lime { border-color: #f0c4b7; background: #fbeee9; }
html[data-fido-page="promo"] .builder-section { background: linear-gradient(132deg,#f7f4ec 0 52%,#e5e8dc 52%); }
html[data-fido-page="promo"] .launch-form { border-radius: 22px; }
html[data-fido-page="promo"] .domain-section { background: linear-gradient(145deg,#f7f4ec 0 48%,#e6e9dd 48%); }
html[data-fido-page="promo"] .domain-route article,
html[data-fido-page="promo"] .registrar-card,
html[data-fido-page="promo"] .price-card { border-radius: 20px; }
html[data-fido-page="promo"] .global-section { background: #d96c56; }
html[data-fido-page="promo"] .price-card.featured { transform: translateY(-10px); }
html[data-fido-page="promo"] .approval-section { background: #ece8de; }

@media (max-width: 1000px) {
	html[data-fido-page="sitter"] .service-list { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	html[data-fido-page="sitter"] .service-card { padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
	*,*::before,*::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
	html { scroll-behavior: auto; }
}

/* ===========================================================================
   37.3 — Calm rows, actual size, two columns.
   Rules: one surface and hairlines; the title is the only dark text; one grey
   for everything else; colour only as state (new dot, approved check).
   The Control Centre no longer zooms: type is set at readable sizes —
   locked scale: comfortable row spacing (12 px padding, 60 px minimum) with
   16 px titles, 14 px facts, 13 px small print, 16 px prose. The density
   toggle offers one larger variant (17 / 15 / 14). Lists run in two columns
   on wide screens, each row growing downward when its text needs the room.
   =========================================================================== */
html[data-fido-page="control"] {
	--row-line: #ece7de;
	--row-blue: var(--surface); --row-green: var(--surface); --row-yellow: var(--surface); --row-pink: var(--surface); --row-violet: var(--surface);
	--fresh: var(--surface);
	--calm-ink2: #6b6159; --calm-ink3: #6f655c; --calm-hover: #f7f3ec; --calm-sel: #fbefe8; --calm-dot: #c9552f;
	--row-pad: 12px; --row-min: 60px;
	--t-title: 16px; --t-body: 14px; --t-small: 13px;
}
html[data-fido-page="control"][data-density="comfortable"] { --row-pad: 14px; --row-min: 66px; --t-title: 17px; --t-body: 15px; --t-small: 14px; }
/* readable base sizes for everything around the lists */
html[data-fido-page="control"] main { font-size: 16px; }
html[data-fido-page="control"] .topbar .button, html[data-fido-page="control"] .topbar select, html[data-fido-page="control"] .topbar .pill, html[data-fido-page="control"] .density-toggle, html[data-fido-page="control"] .topbar > * { font-size: 13px; }
html[data-fido-page="control"] .topbar h1 { font-size: 24px; white-space: nowrap; }
/* 37.3.1 — the topbar is opaque and tall enough for its own content at actual size;
   chips stay on one line at 11 px so nothing wraps or shows through */
html[data-fido-page="control"] .topbar { height: auto; min-height: 72px; background: #f5f5ef; backdrop-filter: none; }
html[data-fido-page="control"] .topbar .trial-chip, html[data-fido-page="control"] .topbar .space-chip, html[data-fido-page="control"] .topbar .back-to-main-site, html[data-fido-page="control"] .topbar .system-status, html[data-fido-page="control"] .topbar select, html[data-fido-page="control"] .density-toggle { font-size: 11px; white-space: nowrap; }
html[data-fido-page="control"] .topbar .trial-chip { max-width: 200px; overflow: hidden; text-overflow: ellipsis; }
html[data-fido-page="control"] .topbar-actions { flex-wrap: wrap; justify-content: flex-end; row-gap: 6px; min-width: 0; }
html[data-fido-page="control"] .topbar > div:first-child { flex: 0 0 auto; margin-right: 12px; }
html[data-fido-page="control"] .topbar .button { white-space: nowrap; }
html[data-fido-page="control"] .page-intro h2 { font-size: clamp(22px, 2vw, 28px); }
html[data-fido-page="control"] .page-intro > p:last-child, html[data-fido-page="control"] .split-intro > div > p:last-child { max-width: 78ch; color: var(--calm-ink2); font-size: 15px; line-height: 1.5; }
html[data-fido-page="control"] .eyebrow { font-size: 10px; }
html[data-fido-page="control"] .panel-heading h2, html[data-fido-page="control"] .today-heading h2, html[data-fido-page="control"] .search-depth-heading h2 { font-size: 18px; }
html[data-fido-page="control"] .new-rule-banner strong, html[data-fido-page="control"] .library-health strong, html[data-fido-page="control"] .platform-note strong { font-size: 15px; }
html[data-fido-page="control"] .new-rule-banner p, html[data-fido-page="control"] .library-health p, html[data-fido-page="control"] .platform-note p { font-size: 14px; line-height: 1.45; }
html[data-fido-page="control"] .new-rule-banner, html[data-fido-page="control"] .library-health, html[data-fido-page="control"] .platform-note { padding: 9px 14px; margin-bottom: 10px; }
html[data-fido-page="control"] .filter-pill { min-height: 32px; padding: 5px 13px; font-size: 14px; }
html[data-fido-page="control"] .filter-pill.is-active, html[data-fido-page="control"] .direction-choices button.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }
html[data-fido-page="control"] .button, html[data-fido-page="control"] .split-intro .button { font-size: 14px; }
html[data-fido-page="control"] .rule-strip { padding: 10px 18px; margin-bottom: 10px; border: 1px solid var(--line); background: var(--surface); color: var(--calm-ink2); }
html[data-fido-page="control"] .rule-step { color: var(--calm-ink3); font-size: 14px; }
html[data-fido-page="control"] .rule-step span { width: 22px; height: 22px; background: transparent; border: 1px solid var(--line); color: var(--calm-ink2); font-size: 12px; }
html[data-fido-page="control"] .rule-step.is-complete { color: var(--ink); }
html[data-fido-page="control"] .rule-step.is-complete span { background: var(--ink); border-color: var(--ink); color: #fff; }
html[data-fido-page="control"] .rule-strip i { background: var(--line); }
html[data-fido-page="control"] .metric-card, html[data-fido-page="control"] .metric-card:nth-child(5n + 1), html[data-fido-page="control"] .metric-card:nth-child(5n + 2), html[data-fido-page="control"] .metric-card:nth-child(5n + 3), html[data-fido-page="control"] .accent-card { background: var(--surface); border-color: var(--line); box-shadow: none; color: var(--ink); }
html[data-fido-page="control"] .metric-card .metric-label { font-size: 12px; }
html[data-fido-page="control"] .metric-card small, html[data-fido-page="control"] .accent-card small { font-size: 13.5px; color: var(--calm-ink2); opacity: 1; }
html[data-fido-page="control"] .accent-card .metric-label { color: var(--calm-ink2); opacity: 1; }
html[data-fido-page="control"] .accent-card strong { color: var(--coral); }
html[data-fido-page="control"] .search-depth-stat { background: var(--surface) !important; border: 1px solid var(--line); }
html[data-fido-page="control"] .search-depth-stat strong { color: var(--ink); font-size: 18px; }
html[data-fido-page="control"] .search-depth-stat small { font-size: 11px; }
html[data-fido-page="control"] .today-action, html[data-fido-page="control"] .today-action:nth-child(10n + 2), html[data-fido-page="control"] .today-action:nth-child(10n + 4), html[data-fido-page="control"] .today-action:nth-child(10n + 6), html[data-fido-page="control"] .today-action:nth-child(10n + 8), html[data-fido-page="control"] .today-action:nth-child(10n + 10) { background: transparent; min-height: 40px; }
html[data-fido-page="control"] .today-action:hover { background: var(--calm-hover); box-shadow: none; }
html[data-fido-page="control"] .today-action > span { background: transparent; color: var(--calm-ink2); font-weight: 600; font-size: 13px; font-variant-numeric: tabular-nums; }
html[data-fido-page="control"] .today-action.is-urgent > span { background: transparent; color: var(--coral); }
html[data-fido-page="control"] .today-action strong { font-weight: 500; font-size: 15.5px; }
html[data-fido-page="control"] .today-action small { font-size: 13.5px; }
html[data-fido-page="control"] .today-action em { color: var(--calm-ink2); font-weight: 600; font-size: 12px; }
html[data-fido-page="control"] .welcome-banner h2 { font-size: clamp(22px, 2vw, 28px); }
html[data-fido-page="control"] .welcome-banner p { font-size: 14px; }
.pet-row { background: var(--surface); border-color: var(--line); }
.pet-row b { font-size: 15px; } .pet-row small, .pet-row time { font-size: 13px; }
.pet-row .pet { color: var(--calm-ink2); border-color: var(--line); }
.pet-row:hover { box-shadow: none; background: var(--calm-hover); }
.week-heading strong { font-size: 17px; } .week-weather-note, .week-heading .eyebrow { font-size: 11px; }
.day { font-size: 12px; }
.radar-plan-title b { font-size: 13.5px; } .radar-plan-title span, .radar-plan-toggle { font-size: 12.5px; }
html[data-fido-page="control"] .radar-engine-name strong { font-size: 16px; }

/* ---- the list ---- */
.ledger { border-radius: 12px; }
.ledger-window { max-height: calc(100vh - 230px); }
.ledger-head { display: none; }
.ledger-row, .ledger-row:nth-child(10n + 2), .ledger-row:nth-child(10n + 4), .ledger-row:nth-child(10n + 6), .ledger-row:nth-child(10n + 8), .ledger-row:nth-child(10n + 10) { background: var(--surface); }
.ledger-row.is-fresh, .ledger-row.is-applied { background: var(--surface); box-shadow: none; }
.ledger-row.is-clickable:hover, .ledger-row.is-open { background: var(--calm-hover); box-shadow: none; }
.ledger-row:focus, html[dir="rtl"] .ledger-row:focus { box-shadow: none; }
.ledger-row:focus-visible { box-shadow: inset 0 0 0 1.5px var(--coral); }
.ledger-row.is-selected { background: var(--calm-sel); box-shadow: none; }
.ledger-row.is-rejected { opacity: .55; }
.ledger-row.is-new-arrival { animation: none; }
/* every row: [mark] [title + facts, wrapping] [right-hand figure] [chevron] */
.new-opportunity-grid .ledger-head, .new-row, .source-grid .ledger-head, .source-row, .opportunity-list .ledger-head, .opportunity, .opportunity-list.is-wide .ledger-head, .opportunity-list.is-wide .opportunity, .news-grid .ledger-head, .news-row { grid-template-columns: 22px minmax(0, 1fr) auto 26px; align-items: start; gap: 2px 10px; padding: var(--row-pad) 12px; }
.new-row { grid-template-columns: 18px 22px minmax(0, 1fr) minmax(150px, auto) 26px; }
.source-row { grid-template-columns: 18px 22px minmax(0, 1fr) 26px; }
.news-row { grid-template-columns: max-content minmax(0, 1fr) 26px; }
.news-row .cell.date { white-space: nowrap; padding-top: 2px; }
.news-row .ledger-main .meta { display: flex; }
.ledger-row h3 { font: 500 var(--t-title)/1.3 Georgia, serif; white-space: normal; overflow: visible; text-overflow: clip; }
.ledger-row h3 .new-tag { display: none; }
.ledger-main .meta { display: flex; flex-wrap: wrap; align-items: baseline; row-gap: 2px; margin-top: 3px; color: var(--calm-ink2); font-size: var(--t-body); line-height: 1.4; text-transform: none; letter-spacing: 0; white-space: normal; overflow: visible; }
.ledger-main .meta b { color: var(--calm-ink2); font-weight: 500; }
.ledger-main .meta > * + *::before { content: none; }
.ledger-main .meta > *:not(:last-child)::after { content: "·"; color: #cfc7bb; margin: 0 6px; }
.ledger-main .meta > * { white-space: nowrap; max-width: 100%; }
.ledger-main .meta > span[dir="auto"] { white-space: normal; }
.ledger-main .meta .place { color: var(--calm-ink3); }
.ledger-main .petname { color: var(--calm-ink2); font-size: var(--t-body); font-weight: 500; }
.ledger-main .petname svg { width: 13px; height: 13px; color: var(--calm-ink3); }
.ledger-row .cell { color: var(--calm-ink2); font-size: var(--t-body); white-space: normal; }
.ledger-row .cell.num { color: var(--calm-ink2); font-weight: 500; text-align: right; white-space: nowrap; }
.ledger-row .cell.num.is-dated { color: var(--ink); }
.ledger-row .cell.dim { color: var(--calm-ink3); font-size: var(--t-small); }
.ledger-mark, .ledger-mark.is-source, .ledger-mark.is-ring { width: 22px; height: 22px; margin-top: 1px; border: 0; background: transparent; color: var(--calm-ink3); font: 500 11px Inter, sans-serif; }
.ledger-mark svg { width: 14px; height: 14px; color: var(--calm-ink3); }
.ledger-mark.is-ring .opp-ring { display: none; }
.ledger-mark.is-dot::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--calm-dot); }
.ledger-mark.is-dot svg { display: none; }
.ledger-pill, .ledger-pill.is-local, .ledger-pill.is-abroad, .ledger-pill.is-ok, .ledger-pill.is-quiet { padding: 0; border: 0; background: transparent; color: var(--calm-ink2); font-size: var(--t-body); font-weight: 500; letter-spacing: 0; text-transform: none; min-width: 0; }
.ledger-pill.is-ok { color: #2f7a4f; }
.ledger-pill.is-local { color: var(--ink); }
/* Owner Requests: the wide-only cells fold into the facts line */
.new-row .cell.col-wide, .source-row .cell.col-wide, .news-row .cell.col-wide, .opportunity .cell.col-wide { display: none; }
.new-row .cell.num.col-wide { display: block; }
.ledger-main .meta .when, .ledger-main .meta .found { color: var(--calm-ink2); }
.ledger-main .meta .when.is-dated { color: var(--ink); font-weight: 500; }
/* actions: chevron always, the rest on hover / open / selection, floating at the right */
.ledger-row .cell.actions { grid-column: -2; position: static; justify-content: flex-end; gap: 4px; overflow: visible; }
.ledger-row .cell.actions > .button, .ledger-row .cell.actions > .ledger-link, .ledger-row .cell.actions > .ledger-pill.is-quiet { position: absolute; right: 44px; top: var(--row-pad); display: none; }
.ledger-row:hover .cell.actions > .ledger-link, .ledger-row:focus-within .cell.actions > .ledger-link, .ledger-row.is-open .cell.actions > .ledger-link, .ledger-row.is-selected .cell.actions > .ledger-link, .ledger-row:hover .cell.actions > .button, .ledger-row.is-open .cell.actions > .button { display: inline-flex; align-items: center; }
.ledger-row:hover .cell.num, .ledger-row.is-open .cell.num, .ledger-row:focus-within .cell.num { visibility: hidden; }
.ledger-x { width: 22px; height: 22px; border: 0; border-radius: 50%; background: transparent; color: var(--calm-ink3); font: 500 16px/1 Inter, sans-serif; cursor: pointer; display: none; align-items: center; justify-content: center; }
.ledger-x:hover { background: var(--wash); color: var(--coral); }
.ledger-row:hover .ledger-x, .ledger-row:focus-within .ledger-x, .ledger-row.is-open .ledger-x, .ledger-row.is-selected .ledger-x { display: inline-flex; }
.ledger-link, html[data-fido-page="control"] .ledger-row .button { min-height: 30px; padding: 4px 12px; border-color: var(--line); background: var(--surface); color: var(--ink); font-size: 13.5px; font-weight: 600; }
.ledger-link:hover { background: var(--calm-hover); color: var(--ink); border-color: var(--line); }
.ledger-link.is-primary, .ledger-row:hover .cell.actions > .ledger-link.is-primary { background: var(--ink); color: #fff; border-color: var(--ink); }
.ledger-link.is-primary:hover { background: #2f3a36; border-color: #2f3a36; }
.source-row .cell.actions > .ledger-pill.is-ok { position: static; display: inline-flex; width: 22px; justify-content: center; font-size: 0; color: #2f7a4f; }
.source-row .cell.actions > .ledger-pill.is-ok::before { content: "✓"; font-size: 13px; font-weight: 700; }
.ledger-toggle { width: 22px; height: 22px; color: #8a7f76; font-size: 11px; }
.ledger-check, html[data-fido-page="control"] .source-row .source-check { width: 15px; height: 15px; margin-top: 4px; opacity: 0; transition: opacity .12s ease; accent-color: var(--ink); }
.ledger-row:hover .ledger-check, .ledger-row:focus-within .ledger-check, .ledger-row.is-selected .ledger-check, .ledger-check:checked, .has-selection .ledger-check { opacity: 1; }
/* two columns on wide screens; headers, footers and open rows span both */
@media (min-width: 1100px) {
	.new-opportunity-grid, .source-grid, .news-grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0; align-items: stretch; }
	.new-opportunity-grid > .ledger-row:nth-child(2n), .source-grid > .ledger-row:nth-child(2n), .news-grid > .ledger-row:nth-child(2n) { border-left: 1px solid var(--row-line); }
	.ledger-group, .ledger-foot, .ledger-empty, .source-grid > details, .ledger-row.is-open { grid-column: 1 / -1; }
	.ledger-row.is-open { border-left: 0 !important; }
	.source-grid > details > .ledger { display: grid; grid-template-columns: 1fr 1fr; }
	.source-grid > details > .ledger > .ledger-row:nth-child(2n) { border-left: 1px solid var(--row-line); }
}
.ledger-group { position: sticky; top: 0; z-index: 2; display: flex; align-items: baseline; gap: 8px; padding: 10px 12px 4px; background: var(--surface); border-top: 1px solid var(--line); color: var(--ink); font-size: 14px; font-weight: 600; }
.ledger-group:first-child { border-top: 0; }
.ledger-group .n { color: var(--calm-ink3); font-weight: 500; font-variant-numeric: tabular-nums; }
html[dir="rtl"] .ledger-group { text-align: right; }
.ledger-detail { grid-column: 1 / -1; border-top: 1px solid var(--row-line); padding: 10px 0 6px; }
.ledger-detail .request-post, .ledger-detail .opportunity-translation, .ledger-detail .new-fit, .ledger-detail .source-query { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: none; }
.ledger-detail .request-post strong, .ledger-detail .new-fit strong, .ledger-detail .opportunity-translation strong, .ledger-detail .source-query strong { color: var(--calm-ink3); font-size: 10.5px; letter-spacing: .06em; }
.ledger-detail .request-post p { font: 500 16px/1.5 Georgia, serif; }
.ledger-detail .request-post span, .ledger-detail .request-post small { font-size: 13.5px; color: var(--calm-ink3); }
.ledger-detail .new-fit span, .ledger-detail p.plain, .ledger-detail .opportunity-translation p, .ledger-detail .source-query { font-size: 14.5px; line-height: 1.5; }
.ledger-foot { background: var(--surface); color: var(--calm-ink3); font-size: 13.5px; padding: 9px 12px; }
.ledger-foot kbd { font-size: 11px; }
.ledger-pager button { min-width: 28px; height: 28px; font-size: 12.5px; }
.ledger-tools { gap: 6px 10px; }
.ledger-tools > span { font-size: 14px; }
.ledger-chips button { height: 32px; padding: 0 11px; font-size: 14px; color: var(--calm-ink2); font-weight: 600; }
.ledger-chips button svg { width: 13px; height: 13px; color: var(--calm-ink3); }
.ledger-chips button.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }
.ledger-chips button.is-active svg { color: #fff; }
.ledger-search input, .ledger-sort select { height: 34px; font-size: 14px; }
.ledger-tools .button, html[data-fido-page="control"] .ledger-tools .button { min-height: 34px; padding: 6px 13px; font-size: 14px; }
#include-undated-requests + span { font-size: 14px; color: var(--calm-ink2); }
label:has(> #include-undated-requests) { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
#include-undated-requests { width: 15px; height: 15px; margin: 0; accent-color: var(--ink); }
.ledger-empty { font-size: 14px; } .ledger-empty strong { font-size: 20px; }
.source-grid details > summary { padding: 12px; color: var(--calm-ink2); font-size: 14.5px; font-weight: 600; cursor: pointer; }
html[data-fido-page="control"] .source-row h3 { font: 500 var(--t-title)/1.3 Georgia, serif; }
.news-row .cell.date { color: var(--calm-ink2); font-weight: 500; font-size: var(--t-body); font-variant-numeric: tabular-nums; }
@media (max-width: 1000px) {
	.ledger-row .cell.actions > .button, .ledger-row .cell.actions > .ledger-link, .ledger-row:hover .cell.actions > .ledger-link, .ledger-row:hover .cell.actions > .button { position: static; display: none; }
	.ledger-row.is-open .cell.actions { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; flex-wrap: wrap; padding: 4px 0 6px 40px; }
	.ledger-row.is-open .cell.actions > .button, .ledger-row.is-open .cell.actions > .ledger-link { display: inline-flex; }
	.ledger-row.is-open .cell.actions > .ledger-toggle { margin-left: auto; }
	.ledger-row.is-open .ledger-detail { grid-row: 3; }
	.ledger-row .cell.num { visibility: visible !important; }
}
@media (hover: none) { .ledger-check, html[data-fido-page="control"] .source-row .source-check { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ledger-check { transition: none; } }
/* 37.3.1 — the desktop rule above gives <body> overflow-y:auto, which makes the
   body (not the viewport) the sticky container, so the sidebar and topbar scrolled
   away with the page once the Control Centre stopped zooming. Body overflow stays
   visible; <html> keeps overflow-x hidden. */
@media (min-width: 901px) { html[data-fido-page="control"] body { overflow: visible; } }
/* placement overrides (must follow the generic action rules) */
.new-row .cell.num.col-wide { grid-column: 4; grid-row: 1; }
.new-row .cell.actions { grid-column: 4 / 6; grid-row: 1; }
.new-row .cell.actions > .ledger-link, .new-row .cell.actions > .button, .new-row .cell.actions > .ledger-pill { position: static; width: auto; flex: 0 0 auto; }
.new-row .cell.actions { gap: 6px; }
.new-row .cell.actions > .ledger-toggle { margin-left: 0; }
.source-row .cell.actions > .ledger-link, .news-row .cell.actions > .ledger-link { width: auto; }
.opportunity .cell.num { grid-column: 3; grid-row: 1; }
.opportunity .cell.actions { grid-column: 3 / 5; grid-row: 1; }
.opportunity .cell.actions > .ledger-link { position: static; display: inline-flex; padding: 3px 7px; min-height: 24px; }
.opportunity-list .ledger-head, .opportunity, .opportunity-list.is-wide .opportunity { grid-template-columns: 22px minmax(0, 1fr) minmax(64px, auto) 26px; }
.opportunity:hover .cell.num, .opportunity.is-open .cell.num { visibility: visible; }
.source-row .cell.actions > .ledger-link { right: 72px; }
.news-row .cell.actions > .ledger-link { right: 44px; }
.new-row .cell.actions > .ledger-link.is-primary, .new-row .cell.actions > .ledger-link, .new-row .cell.actions > .button { top: auto; right: auto; transform: none; }
@media (max-width: 1000px) { .new-row .cell.actions { grid-column: 1 / -1; } .new-row.is-open .cell.actions { grid-row: 2; } .new-row:not(.is-open) .cell.actions { grid-column: 4 / 6; grid-row: 1; } }
@media (min-width: 1001px) {
	.new-row .meta .when { display: none; }
	/* 37.3.1 — dates stay top right; View / Apply and × sit bottom right; chevron top right */
	.new-row .ledger-check, .new-row .ledger-mark { grid-row: 1 / 3; align-self: start; }
	.new-row .ledger-main { grid-row: 1 / 3; min-height: 50px; }
	.new-row .cell.num.col-wide { grid-column: 4; grid-row: 1 / 3; align-self: start; justify-self: end; }
	.new-row:hover .cell.num, .new-row.is-open .cell.num, .new-row:focus-within .cell.num { visibility: visible; }
	.new-row .cell.actions { display: contents; }
	.new-row .cell.actions > .ledger-toggle { grid-column: 5; grid-row: 1; align-self: start; justify-self: end; margin: 0; }
	.new-row .cell.actions > .ledger-link, .new-row .cell.actions > .button { grid-column: 4; grid-row: 1 / 3; align-self: end; justify-self: end; min-height: 28px; padding: 3px 11px; margin: 0; }
	.new-row .cell.actions > .ledger-x { grid-column: 5; grid-row: 1 / 3; align-self: end; justify-self: end; margin: 0; }
	.new-row .ledger-detail { grid-row: 3; }
}
@media (max-width: 1000px) {
	.new-row, .new-row:not(.is-open) { grid-template-columns: 18px 22px minmax(0, 1fr) 26px; }
	.new-row .cell.num.col-wide { display: none; }
	.new-row:not(.is-open) .cell.actions { grid-column: 4; grid-row: 1; }
	.ledger-main .meta > * { white-space: normal; }
	.ledger-row .cell.actions > .ledger-x { display: none; }
	.ledger-row.is-open .cell.actions > .ledger-x { display: inline-flex; }
}
/* mixed-direction facts stay in order */
.ledger-main .meta > * { unicode-bidi: isolate; }
html[dir="rtl"] .ledger-group { direction: rtl; justify-content: flex-start; }
html[dir="rtl"] .ledger-row h3 { text-align: start; }
html[dir="rtl"] .ledger-main .meta { direction: ltr; text-align: right; justify-content: flex-end; }
