@layer reset, base, tokens, recipes, utilities;

@layer reset{
  html,:host {
    --font-fallback: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -moz-tab-size: 4;
    tab-size: 4;
    font-family: var(--global-font-body, var(--font-fallback));
    -webkit-tap-highlight-color: transparent;
}

  *,::before,::after,::backdrop,::file-selector-button {
    margin: 0px;
    padding: 0px;
    border-width: 0px;
    border-style: solid;
    border-color: var(--global-color-border, currentcolor);
    box-sizing: border-box;
}

  hr {
    color: inherit;
    height: 0px;
    border-top-width: 1px;
}

  body {
    line-height: inherit;
    height: 100%;
}

  img {
    border-style: none;
}

  img,svg,video,canvas,audio,iframe,embed,object {
    display: block;
    vertical-align: middle;
}

  img,video {
    max-width: 100%;
    height: auto;
}

  h1,h2,h3,h4,h5,h6 {
    text-wrap: balance;
    font-size: inherit;
    font-weight: inherit;
}

  p,h1,h2,h3,h4,h5,h6 {
    overflow-wrap: break-word;
}

  ol,ul,menu {
    list-style: none;
}

  button,input:where([type='button'], [type='reset'], [type='submit']),::file-selector-button {
    appearance: button;
    -webkit-appearance: button;
}

  button,input,optgroup,select,textarea,::file-selector-button {
    font: inherit;
    background: transparent;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
}

  ::placeholder {
    --placeholder-fallback: rgba(0, 0, 0, 0.5);
    opacity: 1;
    color: var(--global-color-placeholder, var(--placeholder-fallback));
}

  @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      --placeholder-fallback: color-mix(in oklab, currentcolor 50%, transparent);
}
}

  ::selection {
    background-color: var(--global-color-selection, rgba(0, 115, 255, 0.3));
}

  textarea {
    resize: vertical;
}

  table {
    border-color: inherit;
    text-indent: 0px;
    border-collapse: collapse;
}

  summary {
    display: list-item;
}

  small {
    font-size: 80%;
}

  sub,sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

  sub {
    bottom: -0.25em;
}

  sup {
    top: -0.5em;
}

  dialog {
    padding: 0px;
}

  a {
    text-decoration: inherit;
    color: inherit;
}

  abbr:where([title]) {
    text-decoration: underline dotted;
}

  b,strong {
    font-weight: bolder;
}

  code,kbd,samp,pre {
    --font-mono-fallback: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New';
    font-family: var(--global-font-mono, var(--font-mono-fallback));
    font-size: 1em;
    font-feature-settings: normal;
    font-variation-settings: normal;
}

  progress {
    vertical-align: baseline;
}

  ::-webkit-search-decoration,::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

  ::-webkit-inner-spin-button,::-webkit-outer-spin-button {
    height: auto;
}

  :-moz-ui-invalid {
    box-shadow: none;
}

  :-moz-focusring {
    outline: auto;
}

  [hidden]:where(:not([hidden='until-found'])) {
    display: none !important;
}
}

@layer base{
  :root {
    --made-with-panda: '🐼';
}

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

  html,body {
    margin: 0;
    padding: 0;
    background: #ffffff;
    color: #111827;
    font-family: system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-variant-numeric: tabular-nums;
}

  a {
    text-decoration: none;
    color: #2563eb;
}

  a:hover {
    text-decoration: underline;
    color: #1d4ed8;
}

  .app {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

  .topnav {
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    z-index: 10;
    top: 0;
}

  .topnav-inner {
    margin: 0 auto;
    padding: 0 24px;
    gap: 0;
    display: flex;
    align-items: center;
    max-width: 1100px;
    min-height: 52px;
}

  .topnav-brand {
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
    margin-right: 24px;
}

  .topnav-brand,.topnav-brand:hover {
    text-decoration: none;
    color: #111827;
}

  .topnav-nav {
    flex: 1 1 0%;
    gap: 0;
    display: flex;
    align-items: stretch;
    scrollbar-width: none;
    overflow-x: auto;
}

  .topnav-nav::-webkit-scrollbar {
    display: none;
}

  .nav-link {
    padding: 0 14px;
    gap: 6px;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color 0.1s ease, border-color 0.1s ease;
    display: flex;
    align-items: center;
    color: #6b7280;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
    min-height: 52px;
}

  .nav-link:hover {
    text-decoration: none;
    color: #111827;
    border-bottom-color: #d1d5db;
}

  .nav-link.active {
    color: #2563eb;
    font-weight: 500;
    border-bottom-color: #2563eb;
}

  .nav-count {
    padding: 0 5px;
    background: #fee2e2;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    color: #b91c1c;
    line-height: 1;
    min-width: 18px;
    height: 18px;
}

  .nav-count.zero {
    background: #f3f4f6;
    color: #9ca3af;
}

  .topnav-user {
    gap: 12px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-left: 16px;
}

  .topnav-username {
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 120px;
}

  .topnav-username,.topnav-signout {
    font-size: 13px;
    color: #6b7280;
    white-space: nowrap;
}

  .topnav-signout {
    text-decoration: none;
}

  .topnav-signout:hover {
    text-decoration: underline;
    color: #374151;
}

  .main {
    background: #ffffff;
    flex: 1 1 0%;
}

  .content {
    margin: 0 auto;
    padding: 0;
    max-width: 1100px;
}

  .page-header {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #e5e7eb;
    gap: 12px;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
}

  .page-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #111827;
    line-height: 1.3;
}

  .page-meta {
    font-size: 13px;
    color: #9ca3af;
}

  .page-body {
    padding: 20px 24px;
}

  .filter-bar {
    padding: 10px 24px;
    background: #f9fafb;
    gap: 8px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

  .filter-label {
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
}

  select.filter-select {
    background: #ffffff;
    border: 1px solid #d1d5db;
    padding: 5px 28px 5px 8px;
    border-radius: 5px;
    outline: 2px solid transparent;
    outline-offset: 2px;
    background-position: right 8px center;
    color: #111827;
    font-size: 13px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
}

  select.filter-select:focus {
    border-color: #2563eb;
    outline: 2px solid #bfdbfe;
    outline-offset: 1px;
}

  .data-table {
    border-collapse: collapse;
    font-size: 13px;
    width: 100%;
}

  .data-table thead {
    position: sticky;
    z-index: 1;
    top: 52px;
}

  .data-table thead tr {
    background: #f9fafb;
    border-bottom: 2px solid #e5e7eb;
}

  .data-table th {
    padding: 10px 12px;
    text-align: left;
    font-weight: 600;
    font-size: 12px;
    color: #6b7280;
    white-space: nowrap;
}

  .data-table th.right {
    text-align: right;
}

  .data-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: top;
    color: #111827;
    min-height: 40px;
}

  .data-table td.right {
    text-align: right;
}

  .data-table td.muted {
    color: #6b7280;
}

  .data-table tbody tr:last-child td {
    border-bottom: none;
}

  .data-table tbody tr:hover td {
    background: #f9fafb;
}

  .num {
    font-variant-numeric: tabular-nums;
    font-weight: 500;
}

  .num-lg {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 32px;
    line-height: 1;
}

  .dash-grid {
    gap: 12px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    margin-bottom: 24px;
}

  .dash-stat {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    padding: 16px 20px;
    border-radius: 8px;
}

  .dash-stat-value {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: #dc2626;
    font-variant-numeric: tabular-nums;
}

  .dash-stat-value.zero {
    color: #9ca3af;
}

  .dash-stat-value.neutral {
    color: #374151;
}

  .dash-stat-label {
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
    margin-top: 6px;
}

  .dash-stat-sub {
    font-size: 11px;
    color: #9ca3af;
    margin-top: 2px;
}

  .dash-section-title {
    padding: 16px 0 8px;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

  .crawl-grid {
    gap: 8px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

  .crawl-item {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    padding: 12px 14px;
    border-radius: 6px;
}

  .crawl-item-name {
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #111827;
    display: flex;
    align-items: center;
    margin-bottom: 4px;
}

  .crawl-item-url {
    font-size: 11px;
    color: #6b7280;
    word-break: break-all;
    line-height: 1.4;
}

  .crawl-item-time {
    font-size: 11px;
    color: #9ca3af;
    margin-top: 4px;
}

  .actions {
    gap: 6px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

  form.inline {
    margin: 0;
    display: inline;
}

  .payload {
    font-size: 12px;
}

  .payload-row {
    gap: 8px;
    display: flex;
    align-items: baseline;
    margin-bottom: 2px;
}

  .payload-key {
    font-weight: 600;
    font-size: 11px;
    color: #9ca3af;
    white-space: nowrap;
    min-width: 60px;
}

  .payload-val {
    color: #111827;
}

  .payload-score {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 14px;
    color: #16a34a;
}

  .id-code {
    background: #f3f4f6;
    padding: 1px 5px;
    border-radius: 3px;
    font-family: ui-monospace, "SF Mono", monospace;
    font-size: 11px;
    color: #6b7280;
}

  .url-link {
    font-size: 12px;
    color: #2563eb;
    word-break: break-all;
    line-height: 1.4;
}

  .url-link:hover {
    color: #1d4ed8;
}

  .empty-state {
    padding: 60px 24px;
    text-align: center;
    color: #9ca3af;
}

  .empty-state p {
    margin: 0;
    font-size: 14px;
}

  .pagination {
    padding: 12px 24px;
    background: #f9fafb;
    gap: 4px;
    border-top: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

  .pagination a,.pagination span {
    padding: 4px 10px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    border-radius: 5px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    color: #374151;
}

  .pagination a:hover {
    background: #f9fafb;
    text-decoration: none;
}

  .pagination span.current {
    background: #eff6ff;
    border-color: #2563eb;
    color: #2563eb;
    font-weight: 600;
}

  .pagination span.page-info {
    border: none;
    background: transparent;
    font-size: 12px;
    color: #9ca3af;
    margin-left: 6px;
}

  .error-box {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    padding: 14px 18px;
    border-radius: 6px;
    color: #b91c1c;
    font-size: 13px;
}

  .shortcut-links {
    gap: 4px;
    display: flex;
    flex-direction: column;
    margin-top: 8px;
}

  .shortcut-link {
    padding: 10px 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    gap: 8px;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.1s;
    display: flex;
    align-items: center;
    font-size: 13px;
    color: #374151;
}

  .shortcut-link:hover {
    background: #f3f4f6;
    text-decoration: none;
    color: #111827;
}

  .shortcut-link .shortcut-count {
    font-variant-numeric: tabular-nums;
    font-size: 16px;
    font-weight: 700;
    color: #dc2626;
    margin-left: auto;
}

  .links-venue-select {
    padding: 16px 24px;
    background: #f9fafb;
    gap: 12px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

  .links-venue-select label {
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    white-space: nowrap;
}

  select.venue-select {
    background: #ffffff;
    border: 1px solid #d1d5db;
    padding: 7px 32px 7px 10px;
    border-radius: 5px;
    outline: 2px solid transparent;
    outline-offset: 2px;
    background-position: right 10px center;
    color: #111827;
    font-size: 14px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    min-width: 200px;
}

  select.venue-select:focus {
    border-color: #2563eb;
    outline: 2px solid #bfdbfe;
    outline-offset: 1px;
}

  .url-input {
    background: #ffffff;
    border: 1px solid #d1d5db;
    padding: 6px 10px;
    border-radius: 5px;
    outline: 2px solid transparent;
    outline-offset: 2px;
    color: #111827;
    font-size: 13px;
    width: 100%;
    min-width: 0;
}

  .url-input:focus {
    border-color: #2563eb;
    outline: 2px solid #bfdbfe;
    outline-offset: 1px;
}

  .url-input-cell {
    min-width: 200px;
    max-width: 320px;
}

  .info-box {
    padding: 12px 16px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    margin: 16px 24px;
    border-radius: 6px;
    font-size: 13px;
    color: #1e40af;
}

  .table-scroll-wrap {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
}

  *,::before,::after,::backdrop {
    --blur: /*-*/ /*-*/;
    --brightness: /*-*/ /*-*/;
    --contrast: /*-*/ /*-*/;
    --grayscale: /*-*/ /*-*/;
    --hue-rotate: /*-*/ /*-*/;
    --invert: /*-*/ /*-*/;
    --saturate: /*-*/ /*-*/;
    --sepia: /*-*/ /*-*/;
    --drop-shadow: /*-*/ /*-*/;
    --backdrop-blur: /*-*/ /*-*/;
    --backdrop-brightness: /*-*/ /*-*/;
    --backdrop-contrast: /*-*/ /*-*/;
    --backdrop-grayscale: /*-*/ /*-*/;
    --backdrop-hue-rotate: /*-*/ /*-*/;
    --backdrop-invert: /*-*/ /*-*/;
    --backdrop-opacity: /*-*/ /*-*/;
    --backdrop-saturate: /*-*/ /*-*/;
    --backdrop-sepia: /*-*/ /*-*/;
    --gradient-from-position: /*-*/ /*-*/;
    --gradient-to-position: /*-*/ /*-*/;
    --gradient-via-position: /*-*/ /*-*/;
    --scroll-snap-strictness: proximity;
    --border-spacing-x: 0;
    --border-spacing-y: 0;
    --translate-x: 0;
    --translate-y: 0;
    --rotate: 0;
    --rotate-x: 0;
    --rotate-y: 0;
    --skew-x: 0;
    --skew-y: 0;
    --scale-x: 1;
    --scale-y: 1;
}

  @media (max-width: 720px) {
    .topnav-inner {
      padding: 0 12px;
      min-height: 48px;
}

    .content {
      padding: 0;
}

    .page-header {
      padding: 14px 16px 12px;
}

    .page-body {
      padding: 14px 16px;
}

    .filter-bar {
      padding: 8px 16px;
      gap: 6px;
}

    .data-table tr {
      border: 1px solid #e5e7eb;
      margin: 8px 12px;
      padding: 0;
      background: #ffffff;
      border-radius: 8px;
      box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

    .data-table td {
      padding: 10px 14px;
      gap: 8px;
      border-bottom: 1px solid #f3f4f6;
      display: flex;
      font-size: 13px;
      min-height: auto;
}

    .actions .btn {
      padding: 10px 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      min-height: 44px;
      width: 100%;
}

    .pagination {
      padding: 10px 12px;
}

    .links-venue-select {
      padding: 12px 16px;
      flex-direction: column;
      align-items: stretch;
}

    .topnav-user {
      gap: 8px;
}

    .data-table td:last-child {
      border-bottom: none;
}

    .actions {
      gap: 8px;
      flex-direction: column;
      width: 100%;
}

    .dash-grid {
      gap: 8px;
      grid-template-columns: repeat(2, 1fr);
}

    .topnav-brand {
      font-size: 14px;
      margin-right: 8px;
}

    .topnav-username,.data-table thead {
      display: none;
}

    .data-table,.data-table tbody,.data-table tr {
      display: block;
}

    .data-table td::before {
      content: attr(data-label);
      font-weight: 600;
      font-size: 11px;
      color: #9ca3af;
      flex-shrink: 0;
      min-width: 72px;
      padding-top: 1px;
}

    .data-table td.muted {
      color: #6b7280;
}

    form.inline {
      display: block;
      width: 100%;
}

    .filter-bar .btn {
      width: fit-content;
}

    .url-input-cell .btn {
      min-height: 44px;
}

    select.venue-select {
      width: 100%;
}
}
}

@layer tokens{
  :where(:root, :host) {
    --colors-bg: #ffffff;
    --colors-surface: #f9fafb;
    --colors-surface2: #f3f4f6;
    --colors-surface3: #e5e7eb;
    --colors-border: #e5e7eb;
    --colors-border-strong: #d1d5db;
    --colors-text: #111827;
    --colors-text-muted: #6b7280;
    --colors-text-faint: #9ca3af;
    --colors-accent: #2563eb;
    --colors-accent-dim: #eff6ff;
    --colors-accent-text: #1d4ed8;
    --colors-green: #16a34a;
    --colors-green-dim: #f0fdf4;
    --colors-green-border: #bbf7d0;
    --colors-red: #dc2626;
    --colors-red-dim: #fef2f2;
    --colors-red-border: #fecaca;
    --colors-amber: #d97706;
    --colors-amber-dim: #fffbeb;
    --fonts-body: system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", sans-serif;
    --fonts-mono: ui-monospace, "SF Mono", "Cascadia Code", "Fira Code", monospace;
    --font-sizes-11: 11px;
    --font-sizes-12: 12px;
    --font-sizes-13: 13px;
    --font-sizes-14: 14px;
    --font-sizes-16: 16px;
    --font-sizes-18: 18px;
    --font-sizes-24: 24px;
    --font-sizes-32: 32px;
    --spacing-1: 4px;
    --spacing-2: 8px;
    --spacing-3: 12px;
    --spacing-4: 16px;
    --spacing-5: 24px;
    --spacing-6: 32px;
    --spacing-7: 48px;
    --radii-sm: 3px;
    --radii-md: 6px;
    --radii-lg: 8px;
    --breakpoints-sm: 640px;
    --breakpoints-md: 768px;
    --breakpoints-lg: 1024px;
    --breakpoints-xl: 1280px;
    --breakpoints-2xl: 1536px;
    --sizes-breakpoint-sm: 640px;
    --sizes-breakpoint-md: 768px;
    --sizes-breakpoint-lg: 1024px;
    --sizes-breakpoint-xl: 1280px;
    --sizes-breakpoint-2xl: 1536px;
}

  @keyframes spin {
    to {
      transform: rotate(360deg);
}
}

  @keyframes ping {
    75%,100% {
      transform: scale(2);
      opacity: 0;
}
}

  @keyframes pulse {
    50% {
      opacity: 0.5;
}
}

  @keyframes bounce {
    0%,100% {
      transform: translateY(-25%);
      animation-timing-function: cubic-bezier(0.8,0,1,1);
}

    50% {
      transform: none;
      animation-timing-function: cubic-bezier(0,0,0.2,1);
}
}
}

@layer recipes{
  @layer _base{

    .badge {
      padding: 1px 6px;
      border-radius: 4px;
      font-size: 11px;
      font-weight: 600;
      white-space: nowrap;
}

    .badge,.btn {
      display: inline-block;
      font-family: system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;
}

    .btn {
      padding: 6px 14px;
      border: 1px solid;
      border-radius: 5px;
      text-decoration: none;
      transition: background 0.1s ease, border-color 0.1s ease;
      font-size: 13px;
      font-weight: 500;
      cursor: pointer;
      line-height: 1.4;
}

    .btn:is(:disabled, [disabled], [data-disabled], [aria-disabled=true]) {
      opacity: 0.5;
      cursor: not-allowed;
}
}

  .badge--status_draft {
    background: #f3f4f6;
    color: #6b7280;
}

  .badge--status_pending {
    background: #fffbeb;
    color: #92400e;
}

  .badge--status_approved {
    background: #f0fdf4;
    color: #15803d;
}

  .badge--status_rejected {
    background: #fef2f2;
    color: #b91c1c;
}

  .badge--status_active {
    background: #f0fdf4;
    color: #15803d;
}

  .badge--status_broken {
    background: #fef2f2;
    color: #b91c1c;
}

  .badge--status_paused {
    background: #f3f4f6;
    color: #6b7280;
}

  .badge--status_published {
    background: #eff6ff;
    color: #1d4ed8;
}

  .btn--intent_default {
    background: #ffffff;
    border-color: #d1d5db;
    color: #374151;
}

  .btn--intent_default:is(:hover, [data-hover]) {
    background: #f9fafb;
}

  .btn--intent_approve {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}

  .btn--intent_approve:is(:hover, [data-hover]) {
    background: #15803d;
    border-color: #15803d;
}

  .btn--intent_reject {
    background: #ffffff;
    border-color: #fca5a5;
    color: #dc2626;
}

  .btn--intent_reject:is(:hover, [data-hover]) {
    background: #fef2f2;
    border-color: #dc2626;
}

  .btn--intent_primary {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
}

  .btn--intent_primary:is(:hover, [data-hover]) {
    background: #1d4ed8;
    border-color: #1d4ed8;
}

  .btn--intent_submit {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
}

  .btn--intent_submit:is(:hover, [data-hover]) {
    background: #1d4ed8;
    border-color: #1d4ed8;
}
}