/* Generated by scripts/build-css.ts from styles/*.css. Do not edit. */

/* 00-tokens.css */
:root {
  --background: 0 0% 100%; --foreground: 240 10% 3.9%;
  --card: 0 0% 100%; --card-foreground: 240 10% 3.9%;
  --popover: 0 0% 100%; --popover-foreground: 240 10% 3.9%;
  --primary: 240 5.9% 10%; --primary-foreground: 0 0% 98%;
  --secondary: 240 4.8% 95.9%; --secondary-foreground: 240 5.9% 10%;
  --muted: 240 4.8% 95.9%; --muted-foreground: 240 3.8% 46.1%;
  --accent: 240 4.8% 95.9%; --accent-foreground: 240 5.9% 10%;
  --destructive: 0 84.2% 60.2%; --destructive-foreground: 0 0% 98%;
  --border: 240 5.9% 90%; --input: 240 5.9% 90%; --ring: 240 5.9% 10%;
  --radius: 0.5rem;
}
[data-theme='dark'], .dark {
  --background: 240 10% 3.9%; --foreground: 0 0% 98%;
  --card: 240 10% 3.9%; --card-foreground: 0 0% 98%;
  --popover: 240 10% 3.9%; --popover-foreground: 0 0% 98%;
  --primary: 0 0% 98%; --primary-foreground: 240 5.9% 10%;
  --secondary: 240 3.7% 15.9%; --secondary-foreground: 0 0% 98%;
  --muted: 240 3.7% 15.9%; --muted-foreground: 240 5% 64.9%;
  --accent: 240 3.7% 15.9%; --accent-foreground: 0 0% 98%;
  --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 98%;
  --border: 240 3.7% 15.9%; --input: 240 3.7% 15.9%; --ring: 240 4.9% 83.9%;
}

/* accordion.css */
.gb-accordion { width: 100%; }
.gb-accordion-item { border-bottom: 1px solid hsl(var(--border)); }
.gb-accordion-header { margin: 0; }
.gb-accordion-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 1rem 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: .875rem; font-weight: 500; text-align: left; cursor: pointer; }
.gb-accordion-trigger:hover { text-decoration: underline; }
.gb-accordion-trigger:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.gb-accordion-trigger:disabled { pointer-events: none; opacity: .5; }
.gb-accordion-chevron { flex: none; transition: transform .2s; }
.gb-accordion-trigger[aria-expanded='true'] .gb-accordion-chevron { transform: rotate(180deg); }
.gb-accordion-inner { padding-bottom: 1rem; font-size: .875rem; }
.gb-accordion-content { overflow: hidden; }

/* alert.css */
.gb-alert { position: relative; width: 100%; padding: 1rem; border: 1px solid hsl(var(--border)); border-radius: var(--radius); font-size: .875rem; }
.gb-alert > svg { position: absolute; left: 1rem; top: 1rem; }
.gb-alert > svg ~ * { padding-left: 1.75rem; }
.gb-alert-default { background: hsl(var(--background)); color: hsl(var(--foreground)); }
.gb-alert-destructive { border-color: hsl(var(--destructive) / .5); color: hsl(var(--destructive)); }
.gb-alert-title { margin: 0 0 .25rem; font-weight: 500; line-height: 1; letter-spacing: -.01em; }
.gb-alert-description { opacity: .9; line-height: 1.6; }

/* application.css */
.gb-command {
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
}

.gb-command-input {
  box-sizing: border-box;
  width: 100%;
  padding: .875rem;
  border: 0;
  border-bottom: 1px solid hsl(var(--border));
  background: transparent;
  color: inherit;
  font: inherit;
}

.gb-command-input:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: -2px;
}

.gb-command-list {
  max-height: 20rem;
  overflow: auto;
  padding: .375rem;
}

.gb-command-heading {
  padding: .75rem .5rem .25rem;
  color: hsl(var(--muted-foreground));
  font-size: .75rem;
  font-weight: 600;
}

.gb-command-option,
.gb-combobox-option {
  padding: .5rem .625rem;
  border-radius: calc(var(--radius) - 3px);
  font-size: .875rem;
  cursor: pointer;
}

.gb-command-option[aria-selected='true'],
.gb-combobox-option[data-active='true'] {
  background: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
}

.gb-command-option[aria-disabled='true'],
.gb-combobox-option[aria-disabled='true'] {
  opacity: .5;
  cursor: not-allowed;
}

.gb-command-empty {
  margin: 0;
  padding: 1.25rem;
  color: hsl(var(--muted-foreground));
  text-align: center;
  font-size: .875rem;
}

.gb-combobox {
  position: relative;
  min-width: 0;
}

.gb-combobox-list {
  position: absolute;
  inset: calc(100% + .25rem) 0 auto;
  z-index: 50;
  max-height: 16rem;
  overflow: auto;
  padding: .25rem;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background: hsl(var(--popover));
  color: hsl(var(--popover-foreground));
  box-shadow: 0 6px 20px rgb(0 0 0 / .12);
}

.gb-combobox-option[aria-selected='true'] {
  font-weight: 600;
}

.gb-navigation-list {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gb-navigation-item {
  display: flex;
}

.gb-navigation-link,
.gb-sidebar-link {
  display: block;
  padding: .5rem .75rem;
  border-radius: calc(var(--radius) - 2px);
  color: hsl(var(--muted-foreground));
  text-decoration: none;
  font-size: .875rem;
}

.gb-navigation-link:hover,
.gb-sidebar-link:hover,
.gb-navigation-link[aria-current='page'],
.gb-sidebar-link[aria-current='page'] {
  background: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
}

.gb-navigation {
  min-width: 0;
}

.gb-sidebar {
  display: flex;
  flex-direction: column;
  width: 16rem;
  max-width: 100%;
  border-right: 1px solid hsl(var(--border));
  background: hsl(var(--background));
}

.gb-sidebar-header,
.gb-sidebar-footer {
  padding: 1rem;
}

.gb-sidebar-content {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: .5rem;
}

.gb-sidebar-group {
  margin-bottom: 1rem;
}

.gb-sidebar-group-label {
  margin: 0;
  padding: .5rem .75rem;
  color: hsl(var(--muted-foreground));
  font-size: .75rem;
  font-weight: 600;
}

.gb-toolbar,
.gb-toolbar-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
}

.gb-toolbar {
  justify-content: space-between;
}

.gb-empty-state {
  display: grid;
  justify-items: center;
  gap: .75rem;
  padding: 2.5rem 1rem;
  border: 1px dashed hsl(var(--border));
  border-radius: var(--radius);
  text-align: center;
}

.gb-empty-icon {
  color: hsl(var(--muted-foreground));
}

.gb-empty-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.gb-empty-description {
  max-width: 32rem;
  margin: 0;
  color: hsl(var(--muted-foreground));
  font-size: .875rem;
}

.gb-empty-action {
  padding-top: .25rem;
}

.gb-stat-card {
  padding: 1.25rem;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background: hsl(var(--card));
  color: hsl(var(--card-foreground));
}

.gb-stat-label,
.gb-stat-detail {
  margin: 0;
  font-size: .8125rem;
  color: hsl(var(--muted-foreground));
}

.gb-stat-value {
  margin: .375rem 0;
  font-size: 1.875rem;
  font-weight: 650;
  letter-spacing: -.03em;
}

.gb-description-list {
  margin: 0;
}

.gb-description-item {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) minmax(0, 2fr);
  gap: 1rem;
  padding: .75rem 0;
  border-bottom: 1px solid hsl(var(--border));
  font-size: .875rem;
}

.gb-description-item dt {
  color: hsl(var(--muted-foreground));
}

.gb-description-item dd {
  margin: 0;
}

.gb-stepper {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gb-step {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
}

.gb-step-number {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid hsl(var(--border));
  border-radius: 999px;
  font-size: .75rem;
}

.gb-step[data-state='current'] .gb-step-number,
.gb-step[data-state='complete'] .gb-step-number {
  border-color: hsl(var(--primary));
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

.gb-step-label {
  font-size: .875rem;
  font-weight: 500;
}

.gb-step-description {
  margin: .125rem 0 0;
  color: hsl(var(--muted-foreground));
  font-size: .75rem;
}

.gb-data-table {
  display: grid;
  gap: .75rem;
}

.gb-data-table-results {
  min-width: 0;
}

.gb-data-table-sort {
  padding: .25rem 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.gb-data-table-sort:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

.gb-data-table-pagination {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  padding-top: .75rem;
}

.gb-data-table-status {
  flex: 1;
  margin: 0;
  font-size: .8125rem;
  color: hsl(var(--muted-foreground));
}

/* aspect-ratio.css */
.gb-aspect { position: relative; width: 100%; overflow: hidden; }
.gb-aspect > img, .gb-aspect > video { width: 100%; height: 100%; object-fit: cover; }

/* avatar.css */
.gb-avatar { position: relative; display: inline-flex; flex: none; width: 2.5rem; height: 2.5rem; overflow: hidden; border-radius: 999px; }
.gb-avatar-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gb-avatar-image[hidden] { display: none; }
.gb-avatar-fallback { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: hsl(var(--muted)); color: hsl(var(--muted-foreground)); font-size: .875rem; }

/* badge.css */
.gb-badge { display: inline-flex; align-items: center; padding: .125rem .625rem; border: 1px solid transparent; border-radius: 999px; font-size: .75rem; font-weight: 600; line-height: 1.4; transition: background-color .15s; }
.gb-badge-default { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.gb-badge-secondary { background: hsl(var(--secondary)); color: hsl(var(--secondary-foreground)); }
.gb-badge-destructive { background: hsl(var(--destructive)); color: hsl(var(--destructive-foreground)); }
.gb-badge-outline { border-color: hsl(var(--border)); color: hsl(var(--foreground)); }

/* breadcrumb.css */
.gb-breadcrumb-list { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; margin: 0; padding: 0; list-style: none; font-size: .875rem; color: hsl(var(--muted-foreground)); }
.gb-breadcrumb-item { display: inline-flex; align-items: center; gap: .375rem; }
.gb-breadcrumb-link { color: inherit; text-decoration: none; transition: color .15s; }
.gb-breadcrumb-link:hover { color: hsl(var(--foreground)); }
.gb-breadcrumb-page { color: hsl(var(--foreground)); font-weight: 400; }
.gb-breadcrumb-separator { display: inline-flex; align-items: center; }

/* button.css */
.gb-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; border-radius: calc(var(--radius) - 2px); font-family: inherit; font-size: .875rem; font-weight: 500; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .15s, color .15s, border-color .15s; }
.gb-button:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.gb-button:disabled, .gb-button[aria-disabled='true'] { pointer-events: none; opacity: .5; }
.gb-button svg { flex: none; }
.gb-button-default { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.gb-button-default:hover { background: hsl(var(--primary) / .9); }
.gb-button-secondary { background: hsl(var(--secondary)); color: hsl(var(--secondary-foreground)); }
.gb-button-secondary:hover { background: hsl(var(--secondary) / .8); }
.gb-button-destructive { background: hsl(var(--destructive)); color: hsl(var(--destructive-foreground)); }
.gb-button-destructive:hover { background: hsl(var(--destructive) / .9); }
.gb-button-outline { border-color: hsl(var(--input)); background: hsl(var(--background)); color: hsl(var(--foreground)); }
.gb-button-outline:hover { background: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.gb-button-ghost { background: transparent; color: hsl(var(--foreground)); }
.gb-button-ghost:hover { background: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.gb-button-link { background: transparent; color: hsl(var(--primary)); text-underline-offset: 4px; }
.gb-button-link:hover { text-decoration: underline; }
.gb-button-md { height: 2.25rem; padding: 0 1rem; }
.gb-button-sm { height: 2rem; padding: 0 .75rem; font-size: .8125rem; }
.gb-button-lg { height: 2.5rem; padding: 0 2rem; }
.gb-button-icon { width: 2.25rem; height: 2.25rem; padding: 0; }

/* card.css */
.gb-card { border: 1px solid hsl(var(--border)); border-radius: calc(var(--radius) + 4px); background: hsl(var(--card)); color: hsl(var(--card-foreground)); box-shadow: 0 1px 2px rgb(0 0 0 / .05); }
.gb-card-header { display: flex; flex-direction: column; gap: .375rem; padding: 1.5rem; }
.gb-card-title { margin: 0; font-size: 1.5rem; font-weight: 600; line-height: 1; letter-spacing: -.02em; }
.gb-card-description { margin: 0; font-size: .875rem; color: hsl(var(--muted-foreground)); }
.gb-card-content { padding: 0 1.5rem 1.5rem; }
.gb-card-footer { display: flex; align-items: center; padding: 0 1.5rem 1.5rem; }

/* checkbox.css */
:root { --gb-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.gb-checkbox { appearance: none; -webkit-appearance: none; display: inline-grid; place-content: center; flex: none; width: 1rem; height: 1rem; margin: 0; border: 1px solid hsl(var(--primary)); border-radius: 4px; background: transparent; cursor: pointer; }
.gb-checkbox::after { content: ''; width: .75rem; height: .75rem; background: hsl(var(--primary-foreground)); transform: scale(0); transition: transform .1s; -webkit-mask: var(--gb-check) center / contain no-repeat; mask: var(--gb-check) center / contain no-repeat; }
.gb-checkbox:checked { background: hsl(var(--primary)); }
.gb-checkbox:checked::after { transform: scale(1); }
.gb-checkbox:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.gb-checkbox:disabled { cursor: not-allowed; opacity: .5; }

/* collapsible.css */
.gb-collapsible-trigger { display: inline-flex; align-items: center; gap: .5rem; padding: .25rem 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
.gb-collapsible-trigger:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.gb-collapsible-content { padding-top: .5rem; }

/* content.css */
:root {
  --gb-success: 142 65% 32%;
  --gb-warning: 32 90% 35%;
  --gb-info: 215 80% 42%;
}

[data-theme='dark'], .dark {
  --gb-success: 142 65% 60%;
  --gb-warning: 38 90% 65%;
  --gb-info: 215 85% 70%;
}

.gb-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.gb-copy-control {
  display: inline-flex;
  align-items: center;
}

.gb-copy-button {
  white-space: nowrap;
}

.gb-code-block {
  margin: 0;
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background: hsl(var(--muted));
}

.gb-code-caption {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
  padding: .625rem .875rem;
  border-bottom: 1px solid hsl(var(--border));
}

.gb-code-title {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: .8125rem;
  font-weight: 500;
}

.gb-code-language {
  color: hsl(var(--muted-foreground));
  font-size: .6875rem;
  text-transform: uppercase;
}

.gb-code-pre {
  margin: 0;
  padding: 1rem;
  overflow: auto;
  font: .8125rem/1.7 ui-monospace, Menlo, Consolas, monospace;
  tab-size: 2;
}

.gb-character-count {
  color: hsl(var(--muted-foreground));
  font-size: .75rem;
  font-variant-numeric: tabular-nums;
}

.gb-character-count[data-over-limit='true'] {
  color: hsl(var(--destructive));
  font-weight: 600;
}

.gb-meter {
  display: block;
  width: 100%;
  height: 1rem;
  accent-color: hsl(var(--primary));
}

.gb-status-badge {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  padding: .125rem .5rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 500;
}

.gb-status-dot {
  width: .375rem;
  height: .375rem;
  flex: none;
  border-radius: 999px;
  background: currentColor;
}

.gb-status-neutral { color: hsl(var(--muted-foreground)); }
.gb-status-success { color: hsl(var(--gb-success)); }
.gb-status-warning { color: hsl(var(--gb-warning)); }
.gb-status-danger { color: hsl(var(--destructive)); }
.gb-status-info { color: hsl(var(--gb-info)); }

.gb-timeline {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gb-timeline-item {
  position: relative;
  display: flex;
  gap: 1rem;
  padding: 0 0 1.5rem;
}

.gb-timeline-item:not(:last-child)::before {
  content: '';
  position: absolute;
  left: .3125rem;
  top: .875rem;
  bottom: 0;
  width: 1px;
  background: hsl(var(--border));
}

.gb-timeline-dot {
  position: relative;
  z-index: 1;
  flex: none;
  width: .6875rem;
  height: .6875rem;
  margin-top: .375rem;
  border: 2px solid hsl(var(--primary));
  border-radius: 999px;
  background: hsl(var(--background));
}

.gb-timeline-body {
  min-width: 0;
}

.gb-timeline-title {
  margin: 0;
  font-size: .875rem;
  font-weight: 600;
}

.gb-timeline-date {
  display: block;
  margin-top: .125rem;
  color: hsl(var(--muted-foreground));
  font-size: .75rem;
}

.gb-timeline-description {
  margin-top: .5rem;
  font-size: .875rem;
}

.gb-disclosure {
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
}

.gb-disclosure-summary {
  padding: .875rem 1rem;
  cursor: pointer;
  font-size: .875rem;
  font-weight: 500;
}

.gb-disclosure-summary:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

.gb-disclosure-content {
  padding: 0 1rem 1rem;
  font-size: .875rem;
}

/* dialog.css */
.gb-trigger { display: inline-flex; }
.gb-dialog { padding: 0; border: 1px solid hsl(var(--border)); background: hsl(var(--background)); color: hsl(var(--foreground)); box-shadow: 0 20px 50px rgb(0 0 0 / .25); }
.gb-dialog::backdrop { background: rgb(0 0 0 / .5); }
.gb-dialog-center { width: min(32rem, calc(100vw - 2rem)); border-radius: calc(var(--radius) + 2px); }
.gb-dialog-panel { position: relative; display: grid; gap: 1rem; padding: 1.5rem; }
.gb-dialog-header { display: grid; gap: .375rem; padding-right: 1.5rem; }
.gb-dialog-title { margin: 0; font-size: 1.125rem; font-weight: 600; line-height: 1.2; letter-spacing: -.01em; }
.gb-dialog-description { margin: 0; font-size: .875rem; color: hsl(var(--muted-foreground)); }
.gb-dialog-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.gb-dialog-close { position: absolute; top: 1rem; right: 1rem; display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border: 0; border-radius: calc(var(--radius) - 4px); background: transparent; color: hsl(var(--muted-foreground)); cursor: pointer; }
.gb-dialog-close:hover { background: hsl(var(--accent)); color: hsl(var(--foreground)); }
.gb-dialog-close:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.gb-sheet { margin: 0; max-width: 100vw; max-height: 100vh; border-radius: 0; }
.gb-sheet-right { inset: 0 0 0 auto; width: min(24rem, 100vw); height: 100vh; border-width: 0 0 0 1px; }
.gb-sheet-left { inset: 0 auto 0 0; width: min(24rem, 100vw); height: 100vh; border-width: 0 1px 0 0; }
.gb-sheet-top { inset: 0 0 auto 0; width: 100vw; border-width: 0 0 1px 0; }
.gb-sheet-bottom { inset: auto 0 0 0; width: 100vw; border-width: 1px 0 0 0; }
body:has(dialog[open]) { overflow: hidden; }

/* forms.css */
.gb-field-group {
  display: grid;
  gap: 1.25rem;
}

.gb-field {
  display: grid;
  gap: .5rem;
  min-width: 0;
}

.gb-field-vertical {
  grid-template-columns: minmax(0, 1fr);
}

.gb-field-horizontal {
  grid-template-columns: minmax(8rem, 1fr) minmax(0, 2fr);
  align-items: start;
  gap: 1rem;
}

.gb-field-body {
  display: grid;
  gap: .4rem;
  min-width: 0;
}

.gb-field-label {
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.4;
}

.gb-field-required,
.gb-field-error {
  color: hsl(var(--destructive));
}

.gb-field-description,
.gb-field-error {
  margin: 0;
  font-size: .8125rem;
  line-height: 1.5;
}

.gb-field-description {
  color: hsl(var(--muted-foreground));
}

.gb-input-group {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  border: 1px solid hsl(var(--input));
  border-radius: calc(var(--radius) - 2px);
  background: hsl(var(--background));
}

.gb-input-group:focus-within {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 1px;
}

.gb-input-group:has(input[aria-invalid='true']) {
  border-color: hsl(var(--destructive));
}

.gb-input-group > .gb-input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
}

.gb-input-group > .gb-input:focus-visible {
  outline: none;
}

.gb-input-group-addon {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: .375rem;
  font-size: .875rem;
  color: hsl(var(--muted-foreground));
}

.gb-input-group-addon-start {
  padding-left: .75rem;
}

.gb-input-group-addon-end {
  padding-right: .75rem;
}

.gb-input-group-button {
  flex: none;
  margin: .125rem;
}

.gb-password-input {
  min-width: 0;
}

.gb-search-input input::-webkit-search-cancel-button {
  appearance: none;
}

.gb-number-input input {
  text-align: center;
  -moz-appearance: textfield;
}

.gb-number-input input::-webkit-inner-spin-button,
.gb-number-input input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.gb-file-input {
  display: grid;
  gap: .375rem;
}

.gb-file-input input {
  height: auto;
  min-height: 2.25rem;
  padding: .375rem .5rem;
}

.gb-file-input input::file-selector-button {
  margin-right: .75rem;
  padding: .25rem .5rem;
  border: 0;
  border-radius: calc(var(--radius) - 4px);
  background: hsl(var(--secondary));
  color: hsl(var(--secondary-foreground));
  font: inherit;
  cursor: pointer;
}

.gb-file-selection {
  margin: 0;
  overflow-wrap: anywhere;
  color: hsl(var(--muted-foreground));
  font-size: .8125rem;
}

.gb-toggle-group {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
}

.gb-toggle-group .gb-toggle {
  flex: none;
}

@media (max-width: 640px) {
  .gb-field-horizontal {
    grid-template-columns: minmax(0, 1fr);
    gap: .5rem;
  }
}

/* input.css */
.gb-input { display: flex; width: 100%; height: 2.25rem; padding: .25rem .75rem; border: 1px solid hsl(var(--input)); border-radius: calc(var(--radius) - 2px); background: transparent; color: inherit; font: inherit; font-size: .875rem; transition: border-color .15s, box-shadow .15s; }
.gb-input::placeholder { color: hsl(var(--muted-foreground)); }
.gb-input:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 1px; }
.gb-input:disabled { cursor: not-allowed; opacity: .5; }
.gb-input[aria-invalid='true'] { border-color: hsl(var(--destructive)); }

/* kbd.css */
.gb-kbd { display: inline-flex; align-items: center; min-width: 1.4rem; height: 1.4rem; padding: 0 .35rem; justify-content: center; border: 1px solid hsl(var(--border)); border-bottom-width: 2px; border-radius: 4px; background: hsl(var(--muted)); color: hsl(var(--muted-foreground)); font: 500 .6875rem ui-monospace, Menlo, Consolas, monospace; }

/* label.css */
.gb-label { font-size: .875rem; font-weight: 500; line-height: 1; }

/* menu.css */
.gb-menu { min-width: 12rem; padding: .25rem; }
.gb-menu-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; padding: .375rem .5rem; border: 0; border-radius: calc(var(--radius) - 4px); background: transparent; color: inherit; font: inherit; font-size: .875rem; text-align: left; cursor: pointer; }
.gb-menu-item:hover, .gb-menu-item:focus-visible { outline: none; background: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.gb-menu-item:disabled { pointer-events: none; opacity: .5; }
.gb-menu-item-destructive { color: hsl(var(--destructive)); }
.gb-menu-shortcut { font-size: .75rem; letter-spacing: .08em; color: hsl(var(--muted-foreground)); }
.gb-menu-label { padding: .375rem .5rem; font-size: .75rem; font-weight: 600; color: hsl(var(--muted-foreground)); }
.gb-menu-separator { height: 1px; margin: .25rem -.25rem; background: hsl(var(--border)); }

/* pagination.css */
.gb-pagination { display: flex; justify-content: center; width: 100%; }
.gb-pagination-list { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.gb-pagination-ellipsis { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; color: hsl(var(--muted-foreground)); }
.gb-pagination-disabled { pointer-events: none; opacity: .5; }

/* popover.css */
.gb-popover { position: relative; display: inline-block; }
.gb-popover-content { position: absolute; z-index: 50; min-width: 12rem; padding: 1rem; border: 1px solid hsl(var(--border)); border-radius: calc(var(--radius) + 2px); background: hsl(var(--popover)); color: hsl(var(--popover-foreground)); box-shadow: 0 8px 24px rgb(0 0 0 / .14); font-size: .875rem; }
.gb-popover-bottom { top: calc(100% + .375rem); }
.gb-popover-top { bottom: calc(100% + .375rem); }
.gb-popover-left { top: 0; right: calc(100% + .375rem); }
.gb-popover-right { top: 0; left: calc(100% + .375rem); }
.gb-popover-bottom.gb-popover-align-start, .gb-popover-top.gb-popover-align-start { left: 0; }
.gb-popover-bottom.gb-popover-align-end, .gb-popover-top.gb-popover-align-end { right: 0; }
.gb-popover-bottom.gb-popover-align-center, .gb-popover-top.gb-popover-align-center { left: 50%; transform: translateX(-50%); }

/* progress.css */
.gb-progress { position: relative; width: 100%; height: .5rem; overflow: hidden; border-radius: 999px; background: hsl(var(--secondary)); }
.gb-progress-indicator { width: 100%; height: 100%; background: hsl(var(--primary)); transition: transform .3s ease; }

/* radio.css */
.gb-radio { appearance: none; -webkit-appearance: none; display: inline-grid; place-content: center; flex: none; width: 1rem; height: 1rem; margin: 0; border: 1px solid hsl(var(--primary)); border-radius: 999px; background: transparent; cursor: pointer; }
.gb-radio::after { content: ''; width: .5rem; height: .5rem; border-radius: 999px; background: hsl(var(--primary)); transform: scale(0); transition: transform .1s; }
.gb-radio:checked::after { transform: scale(1); }
.gb-radio:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.gb-radio:disabled { cursor: not-allowed; opacity: .5; }
.gb-radio-group { display: flex; gap: .5rem; }
.gb-radio-group-vertical { flex-direction: column; }
.gb-radio-group-horizontal { flex-direction: row; flex-wrap: wrap; gap: 1rem; }
.gb-radio-option { display: inline-flex; align-items: center; gap: .5rem; font-size: .875rem; cursor: pointer; }

/* scroll-area.css */
.gb-scroll-area { overflow: auto; scrollbar-width: thin; scrollbar-color: hsl(var(--border)) transparent; }

/* select.css */
.gb-select-wrap { position: relative; display: inline-flex; width: 100%; align-items: center; }
.gb-select { appearance: none; -webkit-appearance: none; width: 100%; height: 2.25rem; padding: 0 2rem 0 .75rem; border: 1px solid hsl(var(--input)); border-radius: calc(var(--radius) - 2px); background: transparent; color: inherit; font: inherit; font-size: .875rem; cursor: pointer; }
.gb-select:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 1px; }
.gb-select:disabled { cursor: not-allowed; opacity: .5; }
.gb-select-icon { position: absolute; right: .625rem; pointer-events: none; color: hsl(var(--muted-foreground)); }

/* separator.css */
.gb-separator { flex: none; background: hsl(var(--border)); }
.gb-separator-horizontal { width: 100%; height: 1px; }
.gb-separator-vertical { width: 1px; height: 100%; }

/* skeleton.css */
.gb-skeleton { border-radius: calc(var(--radius) - 2px); background: hsl(var(--muted)); animation: gb-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; }
@keyframes gb-pulse { 50% { opacity: .5; } }
@media (prefers-reduced-motion: reduce) { .gb-skeleton { animation: none; } }

/* slider.css */
.gb-slider { appearance: none; -webkit-appearance: none; width: 100%; height: .5rem; margin: .5rem 0; border-radius: 999px; background: linear-gradient(to right, hsl(var(--primary)) var(--gb-fill, 0%), hsl(var(--secondary)) var(--gb-fill, 0%)); cursor: pointer; }
.gb-slider::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 1.25rem; height: 1.25rem; border: 2px solid hsl(var(--primary)); border-radius: 999px; background: hsl(var(--background)); }
.gb-slider::-moz-range-thumb { width: 1.25rem; height: 1.25rem; border: 2px solid hsl(var(--primary)); border-radius: 999px; background: hsl(var(--background)); }
.gb-slider:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 4px; }
.gb-slider:disabled { cursor: not-allowed; opacity: .5; }

/* spinner.css */
.gb-spinner { animation: gb-spin 1s linear infinite; }
@keyframes gb-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .gb-spinner { animation-duration: 3s; } }

/* switch.css */
.gb-switch { position: relative; display: inline-flex; flex: none; align-items: center; width: 2.25rem; height: 1.25rem; padding: 0; border: 2px solid transparent; border-radius: 999px; background: hsl(var(--input)); cursor: pointer; transition: background-color .15s; }
.gb-switch[data-state='checked'] { background: hsl(var(--primary)); }
.gb-switch:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.gb-switch:disabled { cursor: not-allowed; opacity: .5; }
.gb-switch-thumb { display: block; width: 1rem; height: 1rem; border-radius: 999px; background: hsl(var(--background)); box-shadow: 0 1px 3px rgb(0 0 0 / .25); transform: translateX(0); transition: transform .15s; pointer-events: none; }
.gb-switch-thumb[data-state='checked'] { transform: translateX(1rem); }

/* table.css */
.gb-table-wrap { position: relative; width: 100%; overflow: auto; }
.gb-table { width: 100%; border-collapse: collapse; caption-side: bottom; font-size: .875rem; }
.gb-table-header .gb-table-row { border-bottom: 1px solid hsl(var(--border)); }
.gb-table-row { border-bottom: 1px solid hsl(var(--border)); transition: background-color .15s; }
.gb-table-body .gb-table-row:last-child { border-bottom: 0; }
.gb-table-body .gb-table-row:hover { background: hsl(var(--muted) / .5); }
.gb-table-footer { border-top: 1px solid hsl(var(--border)); background: hsl(var(--muted) / .5); font-weight: 500; }
.gb-table-head { height: 2.5rem; padding: 0 .5rem; text-align: left; vertical-align: middle; font-weight: 500; color: hsl(var(--muted-foreground)); }
.gb-table-cell { padding: .5rem; vertical-align: middle; }
.gb-table-caption { margin-top: 1rem; font-size: .875rem; color: hsl(var(--muted-foreground)); }

/* tabs.css */
.gb-tabs-list { display: inline-flex; align-items: center; justify-content: center; height: 2.25rem; padding: .25rem; border-radius: var(--radius); background: hsl(var(--muted)); color: hsl(var(--muted-foreground)); }
.gb-tabs-trigger { display: inline-flex; align-items: center; justify-content: center; padding: .25rem .75rem; border: 0; border-radius: calc(var(--radius) - 2px); background: transparent; color: inherit; font: inherit; font-size: .875rem; font-weight: 500; white-space: nowrap; cursor: pointer; transition: background-color .15s, color .15s; }
.gb-tabs-trigger:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.gb-tabs-trigger:disabled { pointer-events: none; opacity: .5; }
.gb-tabs-trigger[data-state='active'] { background: hsl(var(--background)); color: hsl(var(--foreground)); box-shadow: 0 1px 2px rgb(0 0 0 / .08); }
.gb-tabs-content { margin-top: .5rem; }
.gb-tabs-content:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }

/* textarea.css */
.gb-textarea { display: flex; width: 100%; min-height: 5rem; padding: .5rem .75rem; border: 1px solid hsl(var(--input)); border-radius: calc(var(--radius) - 2px); background: transparent; color: inherit; font: inherit; font-size: .875rem; resize: vertical; }
.gb-textarea::placeholder { color: hsl(var(--muted-foreground)); }
.gb-textarea:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 1px; }
.gb-textarea:disabled { cursor: not-allowed; opacity: .5; }

/* toast.css */
.gb-toaster { position: fixed; z-index: 100; display: flex; flex-direction: column; gap: .5rem; width: min(22rem, calc(100vw - 2rem)); pointer-events: none; }
.gb-toaster-bottom-right { right: 1rem; bottom: 1rem; }
.gb-toaster-bottom-left { left: 1rem; bottom: 1rem; }
.gb-toaster-top-right { right: 1rem; top: 1rem; }
.gb-toaster-top-left { left: 1rem; top: 1rem; }
.gb-toast { display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; border: 1px solid hsl(var(--border)); border-radius: calc(var(--radius) + 2px); box-shadow: 0 8px 24px rgb(0 0 0 / .16); pointer-events: auto; animation: gb-toast-in .2s ease-out; }
.gb-toast-default { background: hsl(var(--background)); color: hsl(var(--foreground)); }
.gb-toast-destructive { border-color: hsl(var(--destructive)); background: hsl(var(--destructive)); color: hsl(var(--destructive-foreground)); }
.gb-toast-body { flex: 1; display: grid; gap: .25rem; }
.gb-toast-title { font-size: .875rem; font-weight: 600; }
.gb-toast-description { font-size: .875rem; opacity: .9; }
.gb-toast-close { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; padding: 0; border: 0; border-radius: 4px; background: transparent; color: inherit; opacity: .6; cursor: pointer; }
.gb-toast-close:hover { opacity: 1; }
@keyframes gb-toast-in { from { opacity: 0; transform: translateY(.5rem); } }
@media (prefers-reduced-motion: reduce) { .gb-toast { animation: none; } }

/* toggle.css */
.gb-toggle { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; border-radius: calc(var(--radius) - 2px); background: transparent; color: inherit; font: inherit; font-size: .875rem; font-weight: 500; cursor: pointer; transition: background-color .15s, color .15s; }
.gb-toggle:hover { background: hsl(var(--muted)); color: hsl(var(--muted-foreground)); }
.gb-toggle:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.gb-toggle:disabled { pointer-events: none; opacity: .5; }
.gb-toggle[data-state='on'] { background: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.gb-toggle-outline { border-color: hsl(var(--input)); }
.gb-toggle-outline:hover { background: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.gb-toggle-md { height: 2.25rem; padding: 0 .75rem; }
.gb-toggle-sm { height: 2rem; padding: 0 .625rem; }
.gb-toggle-lg { height: 2.5rem; padding: 0 1.25rem; }
.gb-toggle-default { background: transparent; }

/* tooltip.css */
.gb-tooltip { position: relative; display: inline-flex; }
.gb-tooltip-content { position: absolute; z-index: 60; width: max-content; max-width: 16rem; padding: .375rem .75rem; border-radius: calc(var(--radius) - 2px); background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); font-size: .75rem; line-height: 1.4; pointer-events: none; }
.gb-tooltip-top { bottom: calc(100% + .375rem); left: 50%; transform: translateX(-50%); }
.gb-tooltip-bottom { top: calc(100% + .375rem); left: 50%; transform: translateX(-50%); }
.gb-tooltip-left { right: calc(100% + .375rem); top: 50%; transform: translateY(-50%); }
.gb-tooltip-right { left: calc(100% + .375rem); top: 50%; transform: translateY(-50%); }

/* typography.css */
.gb-h1 { margin: 0; font-size: 2.25rem; font-weight: 800; line-height: 1.1; letter-spacing: -.025em; }
.gb-h2 { margin: 0; padding-bottom: .5rem; border-bottom: 1px solid hsl(var(--border)); font-size: 1.875rem; font-weight: 600; letter-spacing: -.025em; }
.gb-h3 { margin: 0; font-size: 1.5rem; font-weight: 600; letter-spacing: -.02em; }
.gb-h4 { margin: 0; font-size: 1.25rem; font-weight: 600; letter-spacing: -.01em; }
.gb-p { margin: 0; line-height: 1.75; }
.gb-lead { margin: 0; font-size: 1.25rem; color: hsl(var(--muted-foreground)); }
.gb-muted { margin: 0; font-size: .875rem; color: hsl(var(--muted-foreground)); }
.gb-blockquote { margin: 0; padding-left: 1.5rem; border-left: 2px solid hsl(var(--border)); font-style: italic; }
.gb-inline-code { padding: .2rem .3rem; border-radius: 4px; background: hsl(var(--muted)); font: 600 .875em ui-monospace, Menlo, Consolas, monospace; }
