/* The administrator's area (AdminLayout). Everything is scoped under .admin so the public site and the customer area keep their look. */

/* div.admin, not .admin: the type badge of the audit log is a span with the class "admin" (its text), and must not take the layout. */
div.admin {
	display: grid;
	grid-template-rows: 52px minmax(0, 1fr);
	min-height: 100vh;
	font-size: 13px;
	line-height: 1.45;
}

/* Top bar */
.admin .adm-top {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0 16px;
	border-bottom: 1px solid var(--card-border);
	background: var(--panel);
	position: sticky;
	top: 0;
	z-index: 30;
}

.admin .adm-brand { display: flex; align-items: center; gap: 10px; flex: none; }
.admin .adm-brand .brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.admin .adm-brand .wordmark { font-family: var(--mono); font-weight: 600; font-size: 15px; color: #fff; letter-spacing: -0.02em; }
.admin .adm-tag { font-family: var(--mono); font-size: 11px; color: var(--muted); border: 1px solid var(--control-border); border-radius: 5px; padding: 0 6px; }
.admin .adm-who { margin-left: auto; display: flex; align-items: center; gap: 16px; color: var(--secondary); font-size: 12px; }
.admin .adm-who form { margin: 0; }
.admin .adm-who a { color: var(--secondary); text-decoration: none; }
.admin .adm-who a:hover { color: #fff; }
.admin .adm-avatar { width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--accent); display: grid; place-items: center; font-size: 11px; font-weight: 700; color: #fff; }
.admin .adm-person { display: flex; align-items: center; gap: 8px; color: var(--text); }

/* Sidebar */
.admin .adm-body { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 0; }

.admin .adm-side {
	border-right: 1px solid var(--card-border);
	padding: 14px 10px 24px;
	position: sticky;
	top: 52px;
	height: calc(100vh - 52px);
	overflow: auto;
}

.admin .adm-prompt { font-family: var(--mono); font-size: 12px; color: var(--muted); padding: 0 10px 12px; }
.admin .adm-prompt span { color: var(--accent); }
.admin .adm-group { margin-bottom: 12px; }
.admin .adm-group-label { font-family: var(--mono); font-size: 11px; color: #5f6b65; padding: 0 10px 4px; }

.admin .adm-side a {
	display: flex;
	align-items: center;
	height: 31px;
	padding: 0 10px;
	border-radius: 7px;
	color: var(--secondary);
	text-decoration: none;
	font-weight: 500;
}

.admin .adm-side a:hover { color: #fff; }
.admin .adm-side a.active { color: #fff; background: var(--code-bg); box-shadow: inset 2px 0 0 var(--accent); }
.admin .adm-side .adm-back { margin-top: 8px; border-top: 1px solid var(--card-border); border-radius: 0; padding-top: 6px; height: 37px; }

.admin .adm-main { padding: 16px 24px 40px; min-width: 0; max-width: 1760px; }

/* Page heading, shared by every admin page */
.admin .adm-main h1 { font-size: 22px; font-weight: 800; letter-spacing: -0.02em; margin: 4px 0 0; line-height: 1.2; }
.admin .adm-main .intro { color: var(--secondary); margin: 3px 0 14px; max-width: 860px; }
.admin .adm-main .notice { margin-bottom: 12px; padding: 9px 14px; }

/* Things the older pages already use, restyled to the admin scale. */
.admin .adm-main .toolbar { margin-bottom: 12px; gap: 8px; }
.admin .adm-main .panel { border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; }
.admin .adm-main .panel h2 { font-size: 15px; margin-bottom: 10px; letter-spacing: -0.01em; }

.admin input[type=search], .admin input[type=text], .admin input[type=email], .admin input[type=number], .admin input[type=date], .admin select, .admin textarea {
	min-height: 32px;
	padding: 0 10px;
	border-radius: 8px;
	font-size: 13px;
}

.admin textarea { padding: 6px 10px; }
.admin label.field { font-size: 12px; gap: 5px; }

.admin .button { min-height: 30px; padding: 0 12px; border-radius: 8px; font-size: 13px; font-weight: 600; }
.admin .button.small { min-height: 26px; padding: 0 9px; font-size: 12px; border-radius: 7px; }

.admin .stats { gap: 10px; margin-bottom: 12px; }
.admin .stat { border-radius: 12px; padding: 12px 14px; }
.admin .stat .value { font-size: 24px; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.admin .stat .what { font-size: 12px; }

.admin .table-wrap { border-radius: 12px; background: var(--panel); }
.admin table { font-size: 13px; }
.admin th, .admin td { padding: 7px 10px; border-bottom: 1px solid var(--code-bg); }
.admin th { font-size: 11px; letter-spacing: 0.05em; border-bottom-color: var(--card-border); }
.admin tbody tr:hover td { background: #131816; }

.admin .status { font-size: 11px; padding: 1px 7px; border-radius: 5px; }
.admin .console { border-radius: 12px; }

/* The shared grid (AdminGrid) */
.admin .ag-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 4px 0 12px; flex-wrap: wrap; }
.admin .ag-head > div:first-child { min-width: 280px; flex: 1; }
.admin .ag-head .intro { margin-bottom: 0; }

.admin .ag-stats { display: flex; border: 1px solid var(--card-border); border-radius: 10px; background: var(--panel); overflow: hidden; }
.admin .ag-stat { padding: 7px 14px; border-right: 1px solid var(--card-border); }
.admin .ag-stat:last-child { border-right: none; }
.admin .ag-stat .l { font-size: 11px; color: var(--muted); white-space: nowrap; }
.admin .ag-stat .v { font-family: var(--mono); color: #fff; font-size: 14px; white-space: nowrap; }

.admin .ag-card { border: 1px solid var(--card-border); border-radius: 12px; background: var(--panel); overflow: hidden; }

.admin .ag-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 9px 12px;
	border-bottom: 1px solid var(--card-border);
	flex-wrap: wrap;
}

.admin .ag-bar .sep { width: 1px; height: 20px; background: var(--control-border); margin: 0 6px; }
.admin .ag-bar .lead { color: var(--muted); font-size: 12px; }
.admin .ag-bar .grow { margin-left: auto; }
.admin .ag-bar input[type=search] { width: 340px; max-width: 100%; }

.admin .ag-tab {
	height: 28px;
	padding: 0 10px;
	border-radius: 7px;
	border: 1px solid transparent;
	background: transparent;
	color: var(--secondary);
	font: inherit;
	font-weight: 600;
	font-size: 12px;
	display: inline-flex;
	gap: 6px;
	align-items: center;
	cursor: pointer;
}

.admin .ag-tab:hover { color: #fff; }
.admin .ag-tab .n { font-family: var(--mono); font-weight: 500; color: var(--muted); }
.admin .ag-tab[aria-pressed=true] { background: var(--code-bg); border-color: var(--control-border); color: #fff; }
.admin .ag-tab[aria-pressed=true] .n { color: var(--accent); }

.admin .ag-scroll { overflow: auto; max-height: calc(100vh - 290px); min-height: 200px; }

.admin .ag-table { width: 100%; border-collapse: collapse; }
.admin .ag-table th {
	position: sticky;
	top: 0;
	z-index: 2;
	height: 34px;
	background: var(--panel);
	text-align: left;
	white-space: nowrap;
	user-select: none;
	color: var(--muted);
	font-weight: 600;
	cursor: pointer;
	padding: 0 10px;
}

.admin .ag-table th:hover { color: #fff; }
.admin .ag-table th .arrow { color: var(--accent); margin-left: 4px; }
.admin .ag-table th.r, .admin .ag-table td.r { text-align: right; }
.admin .ag-table th.act { cursor: default; }
.admin .ag-table td { padding: 0 10px; height: 36px; border-bottom: 1px solid var(--code-bg); white-space: nowrap; max-width: 360px; overflow: hidden; text-overflow: ellipsis; }
.admin .ag-table td.act { text-align: right; width: 1%; }
.admin .ag-table td.act .button + .button { margin-left: 4px; }

.admin .c-strong { color: #fff; font-weight: 600; }
.admin .c-mono { font-family: var(--mono); font-size: 12px; color: var(--secondary); }
.admin .c-mstrong { font-family: var(--mono); font-size: 12px; color: #fff; font-weight: 500; }
.admin .c-muted { color: var(--muted); }
.admin .c-num, .admin .c-money { font-family: var(--mono); font-size: 12px; }
.admin .c-bar { display: inline-flex; align-items: center; gap: 8px; }
.admin .c-bar .track { width: 60px; height: 5px; border-radius: 3px; background: var(--card-border); overflow: hidden; }
.admin .c-bar .fill { height: 100%; background: var(--accent); }
.admin .c-bar .t { font-family: var(--mono); font-size: 12px; }

.admin .ag-empty { padding: 48px; text-align: center; color: var(--muted); }

.admin .ag-foot { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border-top: 1px solid var(--card-border); color: var(--secondary); font-size: 12px; flex-wrap: wrap; }
.admin .ag-foot .range { font-family: var(--mono); }
.admin .ag-foot .sorted { color: var(--muted); }
.admin .ag-foot .pager { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.admin .ag-foot .pager .lead { color: var(--muted); }

.admin .ag-btn {
	height: 26px;
	min-width: 28px;
	padding: 0 8px;
	border-radius: 6px;
	border: 1px solid var(--control-border);
	background: transparent;
	color: var(--text);
	cursor: pointer;
	font-family: var(--mono);
	font-size: 12px;
}

.admin .ag-btn[aria-pressed=true] { border-color: var(--accent); color: #fff; }
.admin .ag-btn[disabled] { opacity: 0.4; cursor: default; }

/* Grid v2: toolbar buttons, selection, row menu, columns, filters */
.admin .ag-ghost {
	height: 30px;
	padding: 0 10px;
	border-radius: 8px;
	border: 1px solid transparent;
	background: transparent;
	color: var(--text);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.admin .ag-ghost:hover:not([disabled]) { border-color: var(--control-border); }
.admin .ag-ghost.bordered { border-color: var(--control-border); font-weight: 500; }
.admin .ag-ghost.bordered[aria-pressed=true] { border-color: var(--accent); }
.admin .ag-ghost.danger { color: var(--error); border-color: #5a2a2a; }
.admin .ag-ghost.accent { color: var(--accent); }
.admin .ag-ghost.muted { color: var(--muted); font-weight: 400; }
.admin .ag-ghost[disabled] { opacity: 0.4; cursor: default; }
.admin .ag-bar .sel { font-family: var(--mono); font-size: 12px; color: var(--muted); margin-right: 4px; }
.admin .ag-bar .sel.on { color: var(--accent); }
.admin .ag-tools { display: flex; gap: 6px; position: relative; }
.admin .ag-columns { position: relative; }

.admin .ag-columns-panel {
	position: absolute;
	right: 0;
	top: 34px;
	z-index: 40;
	min-width: 200px;
	padding: 8px;
	border: 1px solid var(--control-border);
	border-radius: 10px;
	background: var(--panel);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
}

.admin .ag-columns-panel label { display: flex; gap: 8px; align-items: center; padding: 5px 6px; border-radius: 6px; cursor: pointer; }
.admin .ag-columns-panel label:hover { background: #131816; }

.admin .ag-filter { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }
.admin .ag-filter select { min-height: 28px; font-size: 12px; padding: 0 6px; }

.admin .ag-table th.chk, .admin .ag-table td.chk { width: 34px; text-align: center; padding: 0; }
.admin .ag-table th.menu, .admin .ag-table td.menu { width: 34px; text-align: center; padding: 0; }
.admin .ag-table input[type=checkbox] { accent-color: var(--accent); margin: 0; }
.admin .ag-table tr.openable { cursor: pointer; }
.admin .ag-table tbody tr:hover td { background: #131816; }
.admin .ag-table tr.open td { background: #161b18; box-shadow: inset 0 -1px 0 var(--control-border); }
.admin .ag-card.compact .ag-table td { height: 28px; }

.admin .ag-dots {
	width: 24px;
	height: 24px;
	border-radius: 6px;
	border: 1px solid transparent;
	background: transparent;
	color: var(--secondary);
	cursor: pointer;
	font-size: 14px;
	line-height: 1;
}

.admin .ag-dots:hover { border-color: var(--control-border); color: #fff; }

.admin .ag-backdrop { position: fixed; inset: 0; z-index: 50; background: rgba(0, 0, 0, 0.45); }
.admin .ag-backdrop.clear { background: transparent; z-index: 45; }

.admin .ag-menu {
	position: fixed;
	z-index: 60;
	min-width: 190px;
	padding: 6px;
	border: 1px solid var(--control-border);
	border-radius: 10px;
	background: var(--panel);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
}

.admin .ag-menu button {
	display: block;
	width: 100%;
	height: 30px;
	padding: 0 10px;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: var(--text);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.admin .ag-menu button:hover { background: #131816; }
.admin .ag-menu button.danger { color: var(--error); }
.admin .ag-menu .sep-line { height: 1px; background: var(--card-border); margin: 4px 2px; }

/* The record panel */
.admin .ag-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 70;
	width: min(520px, 100vw);
	overflow: auto;
	padding: 18px 20px 32px;
	border-left: 1px solid var(--control-border);
	background: var(--bg);
	box-shadow: -20px 0 60px rgba(0, 0, 0, 0.5);
	outline: none;
}

.admin .ag-drawer header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.admin .ag-drawer .type { font-family: var(--mono); font-size: 11px; color: var(--muted); text-transform: lowercase; }
.admin .ag-drawer h2 { font-size: 18px; margin: 2px 0 0; overflow-wrap: anywhere; letter-spacing: -0.01em; }
.admin .ag-drawer .sub { color: var(--secondary); margin-top: 2px; overflow-wrap: anywhere; }
.admin .ag-drawer .end { display: flex; gap: 8px; align-items: center; }
.admin .ag-drawer .actions { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }

.admin .ag-drawer .fields {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 0;
	margin: 0 0 16px;
	border: 1px solid var(--card-border);
	border-radius: 10px;
	background: var(--panel);
}

.admin .ag-drawer .fields dt, .admin .ag-drawer .fields dd { margin: 0; padding: 7px 12px; border-bottom: 1px solid var(--code-bg); overflow-wrap: anywhere; }
.admin .ag-drawer .fields dt { color: var(--muted); font-size: 12px; }
.admin .ag-drawer .fields dt:nth-last-of-type(1), .admin .ag-drawer .fields dd:last-of-type { border-bottom: none; }

.admin .ag-drawer section { margin-bottom: 16px; }
.admin .ag-drawer h3 { font-size: 13px; margin: 0 0 6px; letter-spacing: 0; }
.admin .ag-drawer h3 .n { font-family: var(--mono); color: var(--muted); font-weight: 500; margin-left: 4px; }
.admin .ag-drawer table { font-size: 12px; border: 1px solid var(--card-border); border-radius: 10px; }
.admin .ag-drawer table th { padding: 5px 10px; }
.admin .ag-drawer table td { padding: 5px 10px; }
.admin .ag-drawer .none { margin: 0; }
.admin .ag-drawer .timeline { list-style: none; margin: 0; padding: 0; }
.admin .ag-drawer .timeline li { padding: 5px 0; border-bottom: 1px solid var(--code-bg); }
.admin .ag-drawer .timeline .when { font-family: var(--mono); font-size: 11px; color: var(--muted); margin-right: 8px; }

/* Overview: what needs attention */
.admin .attention h2 { font-size: 14px; }
.admin .attn-row {
	display: grid;
	grid-template-columns: 10px minmax(0, 1fr) auto 12px;
	gap: 10px;
	align-items: center;
	padding: 7px 6px;
	border-bottom: 1px solid var(--code-bg);
	border-radius: 6px;
	color: var(--text);
	text-decoration: none;
}

.admin .attn-row:last-child { border-bottom: none; }
.admin .attn-row:hover { background: #131816; }
.admin .attn-row .n { font-family: var(--mono); font-weight: 600; }
.admin .attn-row .go { color: var(--muted); }
.admin .attention .dot { width: 7px; height: 7px; margin: 0; box-shadow: none; }

/* Phones and small tablets: the sidebar becomes a tab bar again. */
@media (max-width: 860px) {
	.admin .adm-body { grid-template-columns: minmax(0, 1fr); }
	.admin .adm-side { position: static; height: auto; border-right: none; border-bottom: 1px solid var(--card-border); padding: 8px; overflow-x: auto; display: flex; gap: 2px; }
	.admin .adm-prompt, .admin .adm-group-label { display: none; }
	.admin .adm-group { display: flex; margin: 0; gap: 2px; }
	.admin .adm-side a { white-space: nowrap; }
	.admin .adm-side a.active { box-shadow: inset 0 -2px 0 var(--accent); }
	.admin .adm-side .adm-back { margin: 0; border: none; padding: 0 10px; height: 31px; }
	.admin .adm-main { padding: 12px 14px 32px; }
	.admin .adm-person .email, .admin .adm-who .region { display: none; }
	.admin .ag-bar input[type=search] { width: 100%; }
	.admin .ag-head > div:first-child { min-width: 0; }
	.admin .ag-stats { flex-wrap: wrap; }
	.admin .adm-top { gap: 8px; padding: 0 10px; }
}

/* Status colours for the states the admin lists show beyond the site-wide set. */
.admin .status.succeeded, .admin .status.live, .admin .status.published, .admin .status.synced, .admin .status.full { color: var(--accent); border-color: #3c5a20; }
.admin .status.failed, .admin .status.disputed, .admin .status.rejected { color: var(--error); border-color: #5a2a2a; }
.admin .status.partiallyrefunded, .admin .status.draft, .admin .status.invited, .admin .status.notsynced, .admin .status.partial, .admin .status.scheduled, .admin .status.exhausted { color: var(--amber); border-color: #5a4512; }
.admin .status.canceled, .admin .status.withdrawn, .admin .status.planned, .admin .status.credited, .admin .status.disabled, .admin .status.sandbox { color: var(--muted); }

/* Settings and the audit/status pages built from panels */
.admin .set-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.admin .set-grid .panel { margin: 0; }
.admin .set-grid .kv { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--code-bg); }
.admin .set-grid .kv:last-of-type { border-bottom: none; }
.admin .set-grid .kv > span:first-child { color: var(--secondary); }
.admin .set-grid .kv > span:last-child { text-align: right; }
.admin .set-grid .mono { font-family: var(--mono); font-size: 12px; }
.admin .set-grid .wrap { overflow-wrap: anywhere; }
.admin .set-grid .inline { display: inline-flex; align-items: center; gap: 8px; }
.admin .set-grid .small { font-size: 12px; margin: 10px 0 0; }
@media (max-width: 1100px) { .admin .set-grid { grid-template-columns: minmax(0, 1fr); } }

/* Dashboard */
.admin .ranges { display: flex; gap: 4px; }
.admin .dash-two { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 12px; margin-bottom: 12px; }
.admin .dash-two.even { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.admin .dash-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.admin .dash-two .panel, .admin .dash-three .panel { margin: 0; }
.admin .dash-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.admin .dash-head .big { font-size: 26px; font-weight: 800; letter-spacing: -0.03em; color: #fff; font-variant-numeric: tabular-nums; }
.admin .right { text-align: right; }
.admin .mono { font-family: var(--mono); font-size: 12px; }
.admin .bars { display: flex; align-items: flex-end; gap: 2px; height: 170px; margin-top: 12px; border-bottom: 1px solid var(--control-border); }
.admin .bars .bar { flex: 1; background: #2c4a1a; border-radius: 2px 2px 0 0; min-height: 2px; }
.admin .bars .bar:hover { background: var(--accent); }
.admin .bars-axis { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 11px; color: var(--muted); margin-top: 6px; }
.admin .mini-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 1px; background: var(--card-border); margin-top: 12px; border: 1px solid var(--card-border); border-radius: 8px; overflow: hidden; }
.admin .mini-stats div { background: var(--panel); padding: 8px 12px; }
.admin .mini-stats span { display: block; font-size: 11px; color: var(--muted); }
.admin .mini-stats b { font-family: var(--mono); font-weight: 500; color: #fff; font-size: 13px; }
.admin .mixbar { display: flex; height: 10px; border-radius: 5px; overflow: hidden; margin: 12px 0; background: var(--card-border); }
.admin .swatch { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 6px; }
.admin .dash-three .kv { display: flex; justify-content: space-between; padding: 4px 0; }
.admin table.mini { font-size: 12px; }
.admin table.mini th, .admin table.mini td { padding: 5px 4px; }
.admin table.mini th.r, .admin table.mini td.r { text-align: right; }
.admin .ver { display: grid; grid-template-columns: 56px minmax(0, 1fr) 40px; gap: 8px; align-items: center; padding: 5px 0; }
.admin .ver .track { height: 8px; background: var(--card-border); border-radius: 4px; overflow: hidden; }
.admin .ver .track span { display: block; height: 100%; background: var(--accent); }
.admin .panel h2 .more { float: right; font-size: 12px; font-weight: 500; letter-spacing: 0; }
.admin .line { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 6px 4px; border-bottom: 1px solid var(--code-bg); color: var(--text); text-decoration: none; border-radius: 6px; }
.admin a.line:hover { background: #131816; }
.admin .line .clip { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin .line .acc { color: var(--accent); }
@media (max-width: 1100px) { .admin .dash-two, .admin .dash-two.even, .admin .dash-three { grid-template-columns: minmax(0, 1fr); } }

/* Global search in the top bar */
.admin .adm-search-wrap { flex: 1; max-width: 580px; position: relative; }
.admin .adm-search { position: relative; }
.admin .adm-search input[type=search] { width: 100%; height: 34px; padding-right: 36px; background: var(--bg); }
.admin .adm-search .slash { position: absolute; right: 8px; top: 7px; font-family: var(--mono); font-size: 11px; color: var(--muted); border: 1px solid var(--control-border); border-radius: 4px; padding: 0 6px; pointer-events: none; }
.admin .adm-results { position: absolute; z-index: 60; top: 40px; left: 0; right: 0; max-height: 440px; overflow: auto; padding: 6px; border: 1px solid var(--control-border); border-radius: 10px; background: var(--panel); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6); }
.admin .adm-results a { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 7px 10px; border-radius: 6px; color: var(--text); text-decoration: none; }
.admin .adm-results a:hover { background: #161b18; }
.admin .adm-results .t { font-family: var(--mono); font-size: 11px; color: var(--muted); }
.admin .adm-results .title { color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin .adm-results .sub { color: var(--muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
.admin .adm-results .none { padding: 10px; color: var(--muted); }
.admin .adm-search-wrap { min-width: 120px; }
@media (max-width: 600px) { .admin .adm-who a { display: none; } .admin .adm-search .slash { display: none; } }

/* Editing a record: in the side panel (one column), or as a full page for the larger forms */
.admin .ag-drawer.editing .form-grid { grid-template-columns: 1fr; align-items: stretch; gap: 12px; }
.admin .ag-drawer.editing .form-grid input, .admin .ag-drawer.editing .form-grid select { width: 100%; }
.admin .ag-drawer.editing .form-grid > .button { justify-self: start; }
.admin .ag-drawer.editing .notice { margin-bottom: 12px; }

.admin .ag-page { max-width: 880px; }
.admin .ag-page-bar { margin-bottom: 14px; }
.admin .ag-page-head { margin-bottom: 16px; }
.admin .ag-page-head .type { font-family: var(--mono); font-size: 11px; color: var(--muted); text-transform: lowercase; }
.admin .ag-page-head h1 { font-size: 22px; margin: 2px 0 0; letter-spacing: -0.01em; overflow-wrap: anywhere; }
.admin .ag-page-body .form-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.admin .ag-page-body .form-grid .wide { grid-column: 1 / -1; }
.admin .ag-page-body .form-actions { display: flex; gap: 8px; margin-top: 18px; }
