/*
 * The admin theme: Bulma 1.0 (assets/static/vendor) re-coloured through its
 * CSS variables, plus the shell the layout draws: top bar, sidebar, toasts
 * (#admin-alerts) and the confirm dialog. Light only: the pages set
 * data-theme="light", which outranks Bulma's prefers-color-scheme switch.
 * /login loads it too (.admin-auth).
 */

:root[data-theme=light] {
  --bulma-family-primary: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --bulma-family-code: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  /* Hupa green, the app's #3daa23; Bulma bakes the inverts in at build time. */
  --bulma-primary-h: 108deg;
  --bulma-primary-s: 66%;
  --bulma-primary-l: 40%;
  --bulma-primary-rgb: 61, 170, 35;
  --bulma-primary-invert-l: 100%;
  --bulma-primary-on-scheme-l: 32%;
  /* Links and the default buttons: a calm blue. */
  --bulma-link-h: 221deg;
  --bulma-link-s: 83%;
  --bulma-link-l: 53%;
  --bulma-link-rgb: 37, 99, 235;
  --bulma-link-on-scheme-l: 48%;
  --bulma-radius: 0.5rem;
  --bulma-radius-large: 0.875rem;
  --bulma-body-background-color: hsl(220deg, 16%, 96%);
  /* Focus and anchors scroll clear of the sticky top bar. */
  scroll-padding-top: calc(var(--admin-topbar-h) + 0.5rem);

  --admin-topbar-h: 3.75rem;
  --admin-sidebar-w: 15rem;
  --admin-chrome: hsl(var(--bulma-primary-h), 40%, 97.5%);
  --admin-chrome-border: hsl(var(--bulma-primary-h), 22%, 88%);
  --admin-nav-color: hsl(150deg, 18%, 26%);
  --admin-nav-muted: hsl(140deg, 10%, 50%);
  --admin-nav-hover: hsl(var(--bulma-primary-h), 35%, 93%);
  --admin-nav-active-bg: hsl(var(--bulma-primary-h), 45%, 88%);
  --admin-nav-active: hsl(var(--bulma-primary-h), 70%, 20%);
  --admin-card-border: hsl(220deg, 14%, 91%);
  --admin-card-shadow: 0 1px 2px hsla(220deg, 30%, 20%, 0.05), 0 1px 3px hsla(220deg, 30%, 20%, 0.08);
  --admin-float-shadow: 0 12px 28px -6px hsla(220deg, 30%, 15%, 0.22), 0 4px 10px -4px hsla(220deg, 30%, 15%, 0.12);
  /* Lines a news item title keeps in a table (its inline -webkit-line-clamp). */
  --admin-title-lines: 2;

  color-scheme: light;
}

/* --- The shell -------------------------------------------------------- */

.admin-shell {
  min-height: 100vh;
}

.admin-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  height: var(--admin-topbar-h);
  padding: 0 1rem;
  background: var(--admin-chrome);
  border-bottom: 1px solid var(--admin-chrome-border);
}

.admin-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: var(--bulma-radius);
  background: none;
  color: var(--admin-nav-color);
  cursor: pointer;
}
.admin-toggle:hover {
  background: var(--admin-nav-hover);
}
.admin-toggle:focus-visible,
.admin-nav a:focus-visible,
.admin-topbar-end a:focus-visible {
  outline: 2px solid hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l), 0.6);
  outline-offset: 2px;
}
.admin-toggle svg {
  width: 1.5rem;
  height: 1.5rem;
}

.admin-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  min-width: 0;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: -0.01em;
  color: var(--admin-nav-active);
}
.admin-brand:hover {
  color: var(--admin-nav-active);
}
.admin-logo {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  background: var(--bulma-primary);
  color: #fff;
  box-shadow: inset 0 -2px 0 hsla(0deg, 0%, 0%, 0.12);
}
.admin-logo svg {
  width: 1.25rem;
  height: 1.25rem;
}

.admin-topbar-end {
  display: flex;
  align-items: center;
  gap: 0.25rem 1rem;
  margin-left: auto;
  font-size: 0.875rem;
}
.admin-topbar-end > a {
  color: var(--admin-nav-color);
}
.admin-topbar-end > a:hover {
  color: var(--admin-nav-active);
  text-decoration: underline;
}
.admin-user {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  max-width: 16rem;
  color: var(--admin-nav-color);
  font-weight: 500;
}
.admin-user span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-avatar {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--bulma-radius-rounded);
  background: var(--admin-nav-active-bg);
  color: var(--admin-nav-active);
}
.admin-avatar svg {
  width: 1.125rem;
  height: 1.125rem;
}

.admin-sidebar {
  position: fixed;
  top: var(--admin-topbar-h);
  bottom: 0;
  left: 0;
  z-index: 25;
  display: flex;
  flex-direction: column;
  width: var(--admin-sidebar-w);
  overflow-y: auto;
  padding: 0.75rem 0.625rem 1rem;
  background: var(--admin-chrome);
  border-right: 1px solid var(--admin-chrome-border);
  transition: transform 0.2s ease, visibility 0s linear 0s;
}

.admin-nav {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.admin-nav-heading {
  margin: 1.125rem 0.75rem 0.375rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--admin-nav-muted);
}
.admin-nav a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  border-radius: var(--bulma-radius);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--admin-nav-color);
  transition: background-color 0.12s ease, color 0.12s ease;
}
.admin-nav a::before {
  content: "";
  flex: none;
  width: 1.25rem;
  height: 1.25rem;
  background-color: currentColor;
  opacity: 0.75;
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
}
.admin-nav a:hover {
  background: var(--admin-nav-hover);
  color: var(--admin-nav-active);
}
.admin-nav a[aria-current=page] {
  background: var(--admin-nav-active-bg);
  color: var(--admin-nav-active);
  font-weight: 600;
}
.admin-nav a[aria-current=page]::before {
  opacity: 1;
}

.admin-backdrop {
  display: none;
  position: fixed;
  inset: var(--admin-topbar-h) 0 0 0;
  z-index: 20;
  background: hsla(220deg, 40%, 10%, 0.45);
}

.admin-body {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - var(--admin-topbar-h));
  margin-left: var(--admin-sidebar-w);
  transition: margin-left 0.2s ease;
}

.admin-main {
  flex: 1 0 auto;
  width: 100%;
  max-width: 100rem;
  margin: 0 auto;
  padding: 1.75rem 1.75rem 2.5rem;
}

.admin-footer {
  padding: 0 1.75rem 1.5rem;
  font-size: 0.75rem;
  text-align: center;
  color: var(--bulma-text-weak);
}

/* Closed on a desktop (remembered by admin.js), off-canvas below 1024px. */
html.sidebar-closed .admin-sidebar {
  transform: translateX(-100%);
  visibility: hidden;
  transition: transform 0.2s ease, visibility 0s linear 0.2s;
}
html.sidebar-closed .admin-body,
.admin-bare .admin-body {
  margin-left: 0;
}
@media screen and (max-width: 1023px) {
  .admin-sidebar {
    transform: translateX(-100%);
    visibility: hidden;
    box-shadow: var(--admin-float-shadow);
    transition: transform 0.2s ease, visibility 0s linear 0.2s;
  }
  .admin-body,
  html.sidebar-closed .admin-body {
    margin-left: 0;
  }
  html.sidebar-open .admin-sidebar {
    transform: none;
    visibility: visible;
    transition: transform 0.2s ease, visibility 0s linear 0s;
  }
  html.sidebar-open .admin-backdrop {
    display: block;
  }
  .admin-main {
    padding: 1.25rem 1rem 2rem;
  }
}
@media screen and (max-width: 768px) {
  /* No hover tooltip on a phone: a title shows a line more. */
  :root[data-theme=light] {
    --admin-title-lines: 3;
  }
  .admin-topbar {
    gap: 0.5rem;
    padding: 0 0.5rem;
  }
  .admin-topbar-end {
    gap: 0.75rem;
  }
  /* The name goes; the avatar (its title the email) and Site stay. */
  .admin-user > span:not(.admin-avatar) {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .admin-sidebar,
  .admin-body,
  .admin-nav a,
  .admin-alerts > .notification {
    transition: none !important;
    animation: none !important;
  }
}

/* --- Bulma, restyled --------------------------------------------------- */

#admin-main > .level:first-child,
#admin-main > .breadcrumb:first-child {
  margin-bottom: 1.25rem;
}
#admin-main h1.title {
  font-weight: 700;
  letter-spacing: -0.015em;
}
#admin-main h1.title:not([class*="is-"]) {
  font-size: 1.75rem;
}
.breadcrumb {
  font-size: 0.875rem;
}

.box {
  --bulma-box-shadow: var(--admin-card-shadow);
  --bulma-box-padding: 1.5rem;
  border: 1px solid var(--admin-card-border);
}
.box .title.is-6 {
  font-weight: 600;
}

/* A bare table reads as a card; inside a box it stays flat. */
.admin-main .table-container {
  background: var(--bulma-scheme-main);
  border: 1px solid var(--admin-card-border);
  border-radius: var(--bulma-radius-large);
  box-shadow: var(--admin-card-shadow);
}
.admin-main .box .table-container,
.admin-main .table-container .table-container {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.table {
  --bulma-table-cell-border-color: var(--admin-card-border);
  --bulma-table-head-cell-border-width: 0 0 1px;
  --bulma-table-row-hover-background-color: hsl(220deg, 30%, 97%);
  --bulma-table-striped-row-even-background-color: hsl(220deg, 20%, 98.5%);
  font-variant-numeric: tabular-nums;
}
.table:not(.is-narrow) {
  --bulma-table-cell-padding: 0.625em 0.875em;
}
.table thead th {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bulma-text-weak);
  white-space: nowrap;
}
.table thead th a {
  color: inherit;
}
.table thead th a:hover {
  color: var(--bulma-link-text);
}
.table tr:last-child > td {
  border-bottom-width: 0;
}
/* Clear of a card's rounded edge. */
.admin-main .table-container:not(.box .table-container) > .table :is(th, td):first-child {
  padding-left: 1rem;
}
.admin-main .table-container:not(.box .table-container) > .table :is(th, td):last-child {
  padding-right: 1rem;
}

.tag {
  border-radius: var(--bulma-radius-rounded);
  font-weight: 500;
}
.tag.is-medium {
  font-size: 0.875rem;
}

.button {
  --bulma-button-weight: 600;
}
.button:focus-visible {
  outline: 2px solid hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l), 0.6);
  outline-offset: 2px;
}

.input,
.textarea,
.select select {
  box-shadow: 0 1px 2px hsla(220deg, 30%, 20%, 0.05);
}
.label {
  font-size: 0.875rem;
  font-weight: 600;
}

.tabs.is-boxed li.is-active a {
  background: var(--bulma-scheme-main);
}
.tabs.is-toggle a {
  background: var(--bulma-scheme-main);
}

.pagination-link,
.pagination-previous,
.pagination-next {
  background: var(--bulma-scheme-main);
}

/* A KPI tile (macros::kpi and the dashboard's fetch tile). */
.admin-kpi .title.is-4 {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.admin-kpi > p:first-child {
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.admin-kpi > p:first-child a {
  color: inherit;
}
.admin-kpi > p:first-child a:hover {
  color: var(--bulma-link-text);
}

/* --- Toasts: #admin-alerts ------------------------------------------------ */

/* Bottom right: clear of the page header's actions. */
.admin-alerts {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 40;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: min(28rem, calc(100vw - 2rem));
  pointer-events: none;
}
.admin-alerts > .notification {
  --bulma-notification-padding: 0.875rem 2.75rem 0.875rem 1.125rem;
  margin: 0;
  pointer-events: auto;
  border: 1px solid hsla(var(--bulma-notification-h), var(--bulma-notification-s), 40%, 0.2);
  box-shadow: var(--admin-float-shadow);
  animation: admin-toast-in 0.2s ease-out;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.admin-alerts > .notification.is-leaving {
  opacity: 0;
  transform: translateY(-0.5rem);
}
@keyframes admin-toast-in {
  from {
    opacity: 0;
    transform: translateY(-0.5rem);
  }
}
/* Under the backdrop while the phone sidebar is open. */
html.sidebar-open .admin-alerts {
  z-index: 19;
}
@media screen and (max-width: 768px) {
  .admin-alerts {
    left: 1rem;
    width: auto;
  }
}

/* --- The confirm dialog (admin.js) ----------------------------------------- */

.admin-confirm {
  --tone-h: var(--bulma-link-h);
  --tone-s: var(--bulma-link-s);
  width: min(28rem, calc(100vw - 2rem));
  padding: 0;
  border: 0;
  border-radius: var(--bulma-radius-large);
  background: var(--bulma-scheme-main);
  color: var(--bulma-text);
  box-shadow: 0 25px 50px -12px hsla(220deg, 40%, 10%, 0.35);
}
.admin-confirm[data-tone=danger] {
  --tone-h: var(--bulma-danger-h);
  --tone-s: var(--bulma-danger-s);
}
.admin-confirm[data-tone=warning] {
  --tone-h: var(--bulma-warning-h);
  --tone-s: var(--bulma-warning-s);
}
.admin-confirm[data-tone=success] {
  --tone-h: var(--bulma-success-h);
  --tone-s: var(--bulma-success-s);
}
.admin-confirm::backdrop {
  background: hsla(220deg, 40%, 10%, 0.5);
}
.admin-confirm[open] {
  animation: admin-confirm-in 0.15s ease-out;
}
@keyframes admin-confirm-in {
  from {
    opacity: 0;
    transform: scale(0.97);
  }
}
.admin-confirm-body {
  display: flex;
  gap: 1rem;
  padding: 1.5rem 1.5rem 1.25rem;
}
.admin-confirm-icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--bulma-radius-rounded);
  background: hsl(var(--tone-h), var(--tone-s), 94%);
  color: hsl(var(--tone-h), var(--tone-s), 42%);
}
.admin-confirm-icon svg {
  width: 1.375rem;
  height: 1.375rem;
}
.admin-confirm-message {
  color: var(--bulma-text);
  overflow-wrap: anywhere;
}
.admin-confirm-actions {
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  border-top: 1px solid var(--admin-card-border);
  background: var(--bulma-scheme-main-bis);
}

/* --- /login ----------------------------------------------------------------- */

.admin-auth {
  display: flex;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  background: radial-gradient(60rem 30rem at 50% -10%, var(--admin-nav-active-bg), transparent 70%), var(--bulma-body-background-color);
}
.admin-auth-card {
  width: min(24rem, 100%);
}
.admin-auth-card .admin-brand {
  justify-content: center;
  width: 100%;
  margin-bottom: 1.25rem;
  font-size: 1.375rem;
}
.admin-auth-card .admin-logo {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.625rem;
}
.admin-auth-card .admin-logo svg {
  width: 1.5rem;
  height: 1.5rem;
}
.admin-auth-card .box {
  --bulma-box-padding: 2rem;
  box-shadow: var(--admin-float-shadow);
}

/* --- Sidebar icons: Heroicons v2 outline (MIT), keyed by the NAV key -------- */

.admin-nav a { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="dashboard"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="traffic"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="news-items"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7.5h1.5m-1.5 3h1.5m-7.5 3h7.5m-7.5 3h7.5m3-9h3.375c.621 0 1.125.504 1.125 1.125V18a2.25 2.25 0 0 1-2.25 2.25M16.5 7.5V18a2.25 2.25 0 0 0 2.25 2.25M16.5 7.5V4.875c0-.621-.504-1.125-1.125-1.125H4.125C3.504 3.75 3 4.254 3 4.875V18a2.25 2.25 0 0 0 2.25 2.25h13.5M6 7.5h3v3H6v-3Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="tags"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.568 3H5.25A2.25 2.25 0 0 0 3 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 0 0 5.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 0 0 9.568 3ZM6 6h.008v.008H6V6Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="news-item-categories"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6.878V6a2.25 2.25 0 0 1 2.25-2.25h7.5A2.25 2.25 0 0 1 18 6v.878m-12 0c.235-.083.487-.128.75-.128h10.5c.263 0 .515.045.75.128m-12 0A2.25 2.25 0 0 0 4.5 9v.878m13.5-3A2.25 2.25 0 0 1 19.5 9v.878m0 0a2.246 2.246 0 0 0-.75-.128H5.25c-.263 0-.515.045-.75.128m15 0A2.25 2.25 0 0 1 21 12v6a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 18v-6c0-.98.626-1.813 1.5-2.122'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="news-providers"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.75 19.5v-.75a7.5 7.5 0 0 0-7.5-7.5H4.5m0-6.75h.75c7.87 0 14.25 6.38 14.25 14.25v.75M6 18.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="news-provider-types"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6ZM3.75 15.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6ZM13.5 15.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="news-provider-locations"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="users"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="roles"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="ai-tasks"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="ops"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.25 14.25h13.5m-13.5 0a3 3 0 0 1-3-3m3 3a3 3 0 1 0 0 6h13.5a3 3 0 1 0 0-6m-16.5-3a3 3 0 0 1 3-3h13.5a3 3 0 0 1 3 3m-19.5 0a4.5 4.5 0 0 1 .9-2.7L5.737 5.1a3.375 3.375 0 0 1 2.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 0 1 .9 2.7m0 0a3 3 0 0 1-3 3m0 3h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Zm-3 6h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Z'/%3E%3C/svg%3E"); }
.admin-nav a[data-nav="activity"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'/%3E%3C/svg%3E"); }
