:root {
	color-scheme: light;
	--ink: #17213a;
	--muted: #667085;
	--line: #e4e8f1;
	--surface: #ffffff;
	--canvas: #f3f5f9;
	--navy: #101a32;
	--blue: #365cf5;
	--blue-soft: #edf1ff;
	--green: #16794c;
	--green-soft: #e8f7ef;
	--amber: #9a5b08;
	--amber-soft: #fff4dc;
	--red: #b42318;
	--red-soft: #feebe9;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-size: 15px; }
a { color: inherit; }
button, input, select { font: inherit; }
.admin-shell { min-height: 100vh; }
.admin-header { position: sticky; top: 0; z-index: 10; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; min-height: 74px; padding: 12px clamp(18px, 4vw, 56px); color: #fff; background: color-mix(in srgb, var(--navy) 96%, transparent); box-shadow: 0 8px 30px rgb(16 26 50 / 14%); }
.admin-brand { display: flex; align-items: center; gap: 11px; color: #fff; text-decoration: none; }
.admin-brand-mark, .admin-login-brand span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #fff; background: linear-gradient(145deg, #6f88ff, var(--blue)); font-weight: 800; box-shadow: 0 8px 22px rgb(54 92 245 / 36%); }
.admin-brand strong, .admin-brand small { display: block; }
.admin-brand small { margin-top: 2px; color: #aeb8d6; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.admin-nav { display: flex; align-items: center; gap: 6px; }
.admin-nav a, .admin-logout button { padding: 9px 13px; border: 0; border-radius: 9px; color: #bac3df; background: transparent; text-decoration: none; cursor: pointer; }
.admin-nav a:hover, .admin-nav a[aria-current="page"], .admin-logout button:hover { color: #fff; background: rgb(255 255 255 / 10%); }
.is-anonymous .admin-nav, .is-anonymous .admin-logout { display: none; }
.admin-main { width: min(1480px, 100%); margin: 0 auto; padding: 42px clamp(18px, 4vw, 56px) 72px; }
.admin-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.admin-page-heading h1, .admin-login h1 { margin: 5px 0 7px; font-size: clamp(28px, 4vw, 42px); letter-spacing: -.04em; }
.admin-page-heading p, .admin-panel header p, .admin-login p { margin: 0; color: var(--muted); }
.admin-eyebrow { color: var(--blue) !important; font-size: 12px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.admin-muted { color: var(--muted); }
.admin-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin-bottom: 18px; }
.admin-metrics article, .admin-panel { border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 8px 28px rgb(26 39 71 / 5%); }
.admin-metrics article { padding: 20px; }
.admin-metrics span, .admin-metrics small { display: block; color: var(--muted); }
.admin-metrics strong { display: block; margin: 10px 0 5px; font-size: 30px; letter-spacing: -.04em; }
.admin-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); gap: 18px; }
.admin-panel { margin-bottom: 18px; padding: 23px; overflow: hidden; }
.admin-panel > header { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.admin-panel h2 { margin: 4px 0 5px; font-size: 20px; }
.admin-trend { display: grid; gap: 10px; }
.admin-trend > div { display: grid; grid-template-columns: 54px 1fr 34px; align-items: center; gap: 11px; color: var(--muted); font-size: 12px; }
.admin-trend progress { width: 100%; height: 9px; border: 0; border-radius: 20px; overflow: hidden; accent-color: var(--blue); }
.admin-trend progress::-webkit-progress-bar { background: var(--blue-soft); }
.admin-trend progress::-webkit-progress-value { border-radius: 20px; background: linear-gradient(90deg, #6b84fa, var(--blue)); }
.admin-trend strong { color: var(--ink); text-align: right; }
.admin-status-list { display: grid; gap: 11px; padding: 0; list-style: none; }
.admin-status-list li { display: flex; align-items: center; justify-content: space-between; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.admin-queue { display: grid; gap: 8px; margin-top: 20px; color: var(--muted); }
.admin-queue span { display: flex; justify-content: space-between; }
.admin-queue strong { color: var(--ink); }
.admin-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 720; white-space: nowrap; }
.admin-badge.success, .admin-alert.success { color: var(--green); background: var(--green-soft); }
.admin-badge.warning, .admin-alert.warning { color: var(--amber); background: var(--amber-soft); }
.admin-badge.danger, .admin-alert.danger { color: var(--red); background: var(--red-soft); }
.admin-badge.neutral { color: #475467; background: #eef1f6; }
.admin-alert { margin: 0 0 18px; padding: 13px 15px; border-radius: 12px; }
.admin-form, .admin-filters { display: grid; gap: 15px; }
.admin-owner-form { grid-template-columns: 1.1fr 1fr 1fr auto; align-items: end; }
.admin-filters { grid-template-columns: minmax(220px, 1fr) minmax(180px, .4fr) auto; align-items: end; margin-bottom: 20px; }
.admin-form label, .admin-filters label { display: grid; gap: 7px; color: #344054; font-weight: 650; }
.admin-form label small { color: var(--muted); font-weight: 400; }
.admin-form .admin-form-note { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 13px; }
input, select { width: 100%; min-height: 43px; padding: 9px 12px; border: 1px solid #cfd6e4; border-radius: 10px; color: var(--ink); background: #fff; outline: none; }
input:focus, select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgb(54 92 245 / 13%); }
.admin-button { display: inline-flex; align-items: center; justify-content: center; min-height: 43px; padding: 9px 15px; border: 1px solid #ccd3e1; border-radius: 10px; color: var(--ink); background: #fff; font-weight: 700; text-decoration: none; cursor: pointer; }
.admin-button:hover { border-color: #9ba8c2; }
.admin-button.primary { border-color: var(--blue); color: #fff; background: var(--blue); box-shadow: 0 7px 17px rgb(54 92 245 / 20%); }
.admin-table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 10px 12px; color: var(--muted); font-size: 11px; letter-spacing: .06em; text-align: left; text-transform: uppercase; white-space: nowrap; }
td { padding: 13px 12px; border-top: 1px solid var(--line); vertical-align: middle; }
td strong, td small { display: block; }
td small { max-width: 260px; margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; }
.admin-empty { padding: 34px; color: var(--muted); text-align: center; }
.admin-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding-top: 18px; }
.admin-pagination a, .admin-pagination span { padding: 7px 10px; border-radius: 8px; text-decoration: none; }
.admin-pagination a { border: 1px solid var(--line); background: #fff; }
.admin-pagination [aria-disabled="true"] { color: #a3aab8; }
.admin-login { display: grid; place-items: center; min-height: calc(100vh - 160px); }
.admin-login-card { width: min(440px, 100%); padding: clamp(25px, 5vw, 42px); border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 25px 70px rgb(16 26 50 / 12%); }
.admin-login-brand { margin-bottom: 26px; }
.admin-login .admin-form { margin-top: 24px; }
.admin-login .admin-button { margin-top: 6px; }

@media (max-width: 900px) {
	.admin-header { grid-template-columns: 1fr auto; gap: 10px; }
	.admin-nav { grid-column: 1 / -1; order: 3; overflow-x: auto; }
	.admin-nav a { white-space: nowrap; }
	.admin-metrics { grid-template-columns: repeat(2, 1fr); }
	.admin-dashboard-grid { grid-template-columns: 1fr; }
	.admin-owner-form { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
	.admin-header { position: static; padding: 12px 16px; }
	.admin-main { padding: 26px 14px 60px; }
	.admin-page-heading { align-items: stretch; flex-direction: column; }
	.admin-metrics { grid-template-columns: 1fr 1fr; gap: 9px; }
	.admin-metrics article { padding: 15px; }
	.admin-metrics strong { font-size: 24px; }
	.admin-panel { padding: 16px; border-radius: 14px; }
	.admin-filters, .admin-owner-form { grid-template-columns: 1fr; }
	.admin-pagination { justify-content: space-between; }
	td, th { padding-left: 9px; padding-right: 9px; }
}
