
  :root {
    --page-max-width: 1680px;
    --surface: #ffffff;
    --surface-muted: #f5f5f5;
    --surface-soft: #efefef;
    --border-soft: #e4e4e7;
    --text-main: #111111;
    --text-muted: #6b7280;
    --shadow-soft: 0 12px 28px rgba(17, 17, 17, 0.05);
  }
  * { box-sizing: border-box; }
  body {
    background: #f1f3f2;
    color: var(--text-main);
  }
  .no-transition #sidebar,
  .no-transition #main-content { transition: none !important; }
  .sidebar-link {
    display: flex; align-items: center; gap: 0.8rem;
    padding: 0.76rem 0.98rem; border-radius: 0.375rem;
    border: 1px solid transparent;
    font-size: 0.875rem; font-weight: 560;
    letter-spacing: -0.01em;
    color: #d4d4d8 !important;
    text-decoration: none;
    transition: background-color 0.15s, color 0.15s, box-shadow 0.15s, border-color 0.15s, transform 0.15s;
  }
  .sidebar-link:hover {
    background: rgba(255,255,255,0.05);
    border-color: rgba(255,255,255,0.08);
    color: #ffffff !important;
    transform: translateX(1px);
  }
  .sidebar-link.active {
    background: #f6f7f6;
    color: #111111 !important;
    border-color: rgba(255,255,255,0.8);
    box-shadow: none;
  }
  .sidebar-link .sidebar-meta {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0;
    color: #71717a;
  }
  .sidebar-link.active .sidebar-meta { color: #52525b; }
  .sidebar-link svg { color: inherit; }
  .sidebar-search-input {
    display: block;
    width: 100%;
    border-radius: 0.25rem;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.04);
    color: #f8fafc;
    padding: 0.78rem 0.92rem;
    font-size: 0.875rem;
  }
  .sidebar-search-input::placeholder { color: #a1a1aa; }
  .sidebar-search-input:focus {
    outline: none;
    border-color: rgba(255,255,255,0.18);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06);
  }
  .sidebar-section-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0 0.8rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #71717a;
    text-transform: uppercase;
  }
  .sidebar-section-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0.12), rgba(255,255,255,0));
  }
  .sidebar-empty-state {
    display: none;
    padding: 0.85rem 1rem;
    margin: 0.25rem 0.25rem 0;
    border-radius: 0.75rem;
    border: 1px dashed #3f3f46;
    color: #a1a1aa;
    font-size: 0.8125rem;
    background: rgba(255, 255, 255, 0.03);
  }
  .badge { display: inline-flex; align-items: center; justify-content: center; padding: 0.125rem 0.5rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; min-width: 40px; line-height: 1.2; text-align: center; white-space: nowrap; }
  .btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.375rem;
    min-height: 2.5rem; padding: 0.58rem 1rem; border-radius: 0.25rem;
    font-size: 0.875rem; font-weight: 650; letter-spacing: -0.01em;
    transition: background-color 0.15s, transform 0.15s, box-shadow 0.15s, border-color 0.15s;
    cursor: pointer; text-decoration: none; white-space: nowrap;
  }
  .btn:hover { transform: none; }
  .btn:active { transform: none; }
  .btn-sm { min-height: 2.18rem; padding: 0.44rem 0.82rem; border-radius: 0.25rem; font-size: 0.8125rem; }
  .btn-primary { background: #18181b; color: #ffffff; border: 1px solid #09090b; box-shadow: none; }
  .btn-primary:hover { background: #09090b; border-color: #000000; }
  .btn-secondary { background: #ffffff; color: #18181b; border: 1px solid #d4d4d8; box-shadow: none; }
  .btn-secondary:hover { background: #f5f5f5; border-color: #a1a1aa; }
  .btn-danger { background-color: #dc2626; color: #ffffff; border: none; }
  .btn-danger:hover { background-color: #b91c1c; }
  .btn-success { background: #176348; color: #ffffff; border: 1px solid #176348; box-shadow: none; }
  .btn-success:hover { background: #0f5138; }
  .card {
    background-color: var(--surface);
    border-radius: 0.375rem;
    border: 1px solid var(--border-soft);
    box-shadow: none;
  }
  .card-head {
    padding: 1rem 1.15rem;
    border-bottom: 1px solid #ececec;
    font-weight: 760;
    color: #111111;
    letter-spacing: -0.02em;
  }
  .card-body {
    padding: 1rem 1.15rem;
  }
  .page-shell {
    max-width: var(--page-max-width);
    margin: 0 auto;
    padding: 1.25rem 1.25rem 2.2rem;
  }
  .page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.15rem;
    flex-wrap: wrap;
    margin-bottom: 1.35rem;
  }
  .page-title {
    font-size: clamp(1.5rem, 2vw, 2rem);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #111111;
  }
  .page-subtitle {
    margin-top: 0.35rem;
    font-size: 0.88rem;
    line-height: 1.45;
    color: var(--text-muted);
    max-width: 56rem;
  }
  .page-subtitle.compact {
    max-width: 42rem;
    font-size: 0.82rem;
    line-height: 1.4;
  }
  .page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.6rem;
  }
  .section-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    flex-wrap: wrap;
    margin-bottom: 0.9rem;
  }
  .section-title {
    font-size: 1rem;
    font-weight: 750;
    color: #111111;
    letter-spacing: -0.02em;
  }
  .section-note {
    margin-top: 0.2rem;
    font-size: 0.76rem;
    color: #71717a;
  }
  .metric-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
  }
  .summary-chip-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
  }
  .summary-chip {
    border-radius: 1rem;
    border: 1px solid var(--border-soft);
    background: linear-gradient(180deg, rgba(250,250,250,0.98), rgba(255,255,255,1));
    padding: 0.9rem 1rem;
    box-shadow: 0 10px 24px rgba(17, 17, 17, 0.04);
  }
  .summary-chip-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #71717a;
  }
  .summary-chip-value {
    margin-top: 0.32rem;
    font-size: 1.35rem;
    line-height: 1.05;
    font-weight: 800;
    color: #111111;
    letter-spacing: -0.03em;
  }
  .summary-chip-note {
    margin-top: 0.2rem;
    font-size: 0.73rem;
    color: #71717a;
  }
  .soft-panel {
    border-radius: 1rem;
    border: 1px solid var(--border-soft);
    background: linear-gradient(180deg, rgba(250,250,250,0.95), rgba(255,255,255,0.98));
    box-shadow: 0 10px 26px rgba(17, 17, 17, 0.04);
  }
  .split-grid-2,
  .split-grid-3 {
    display: grid;
    gap: 1rem;
  }
  .split-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .split-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .toolbar-card {
    padding: 1rem;
    border-radius: 1rem;
    border: 1px solid var(--border-soft);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--shadow-soft);
  }
  .topbar-title {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
  }
  .topbar-kicker {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #71717a;
  }
  .topbar-label {
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #111111;
  }
  .filter-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: flex-end;
  }
  .filter-grid > * {
    min-width: 0;
  }
  .surface-subtle {
    background: linear-gradient(180deg, rgba(248,250,252,0.95), rgba(255,255,255,0.95));
  }
  .mobile-only { display: none !important; }
  .desktop-only { display: block !important; }
  .desktop-inline-flex { display: inline-flex !important; }
  .responsive-table {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-section {
    overflow: hidden;
    border-radius: 1rem;
    border: 1px solid var(--border-soft);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
  }
  .table-mobile-stack { display: none; }
  .mobile-card-list {
    display: grid;
    gap: 0.85rem;
  }
  .mobile-card {
    border: 1px solid var(--border-soft);
    border-radius: 1rem;
    background: var(--surface);
    padding: 0.85rem 0.9rem;
    box-shadow: var(--shadow-soft);
  }
  .mobile-card-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
  }
  .mobile-card-meta {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.72rem;
  }
  .mobile-card-meta-row {
    display: grid;
    grid-template-columns: minmax(72px, 92px) 1fr;
    gap: 0.65rem;
    align-items: start;
    font-size: 0.82rem;
  }
  .mobile-card-meta-row span:first-child {
    color: var(--text-muted);
    font-weight: 600;
  }
  .mobile-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.8rem;
  }
  .form-select { display: block; width: 100%; border-radius: 0.7rem; border: 1px solid #d4d4d8; padding: 0.55rem 0.8rem; font-size: 0.875rem; outline: none; background-color: #fff; color: #111111; }
  .form-select:focus { border-color: #18181b; box-shadow: 0 0 0 2px rgba(17,17,17,0.06); }
  .form-input { display: block; width: 100%; border-radius: 0.7rem; border: 1px solid #d4d4d8; padding: 0.55rem 0.8rem; font-size: 0.875rem; outline: none; background-color: #fff; color: #111111; }
  .form-input:focus { border-color: #18181b; box-shadow: 0 0 0 2px rgba(17,17,17,0.06); }
  .time-picker-row {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-wrap: wrap;
  }
  .time-picker-row .time-field {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    min-width: 0;
  }
  .time-picker-row .time-unit {
    color: #94a3b8;
    font-size: 0.75rem;
    font-weight: 500;
    flex-shrink: 0;
  }
  .time-picker-row .time-select {
    min-width: 0;
  }
  .time-picker-row .time-label-top {
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 0.25rem;
  }
  .time-picker-row.time-picker-row-24 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.5rem;
  }
  .time-select-shell {
    max-width: 100%;
    border-radius: 0.95rem;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: 0.65rem 0.75rem;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
  }
  .time-select-grid {
    display: grid;
    grid-template-columns: minmax(84px, 1fr) auto minmax(84px, 1fr) auto;
    gap: 0.375rem;
    align-items: center;
    width: 100%;
  }
  .time-select-grid .form-select {
    min-width: 0;
    width: 100%;
    padding-right: 2rem;
  }
  .time-select-grid .time-select-hour { min-width: 84px; }
  .time-select-grid .time-select-minute { min-width: 84px; }
  .time-select-grid .time-unit {
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
  }
  .time-range-shell {
    display: grid;
    gap: 0.75rem;
  }
  .time-range-divider {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #94a3b8;
    font-size: 0.75rem;
    font-weight: 600;
    padding-left: 0.25rem;
  }
  .time-range-divider .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 9999px;
    background: #e2e8f0;
  }
  .global-date-input {
    min-height: 2.85rem;
    padding-right: 2.75rem;
    border-radius: 0.95rem;
    border-color: #cbd5e1;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.98)),
      #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    cursor: pointer;
  }
  .global-date-input:hover { border-color: #94a3b8; }
  .global-date-input:focus {
    border-color: #18181b;
    box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.08), 0 12px 28px rgba(15, 23, 42, 0.08);
  }
  .global-date-input-wrap {
    position: relative;
  }
  .global-date-input-icon {
    position: absolute;
    top: 50%;
    right: 0.85rem;
    transform: translateY(-50%);
    width: 1.1rem;
    height: 1.1rem;
    color: #64748b;
    pointer-events: none;
  }
  .global-date-picker-overlay {
    position: fixed;
    inset: 0;
    z-index: 70;
    display: none;
    background: rgba(15, 23, 42, 0.12);
  }
  .global-date-picker-overlay.active { display: block; }
  .global-date-picker-panel {
    position: fixed;
    z-index: 80;
    width: min(360px, calc(100vw - 24px));
    border-radius: 1.15rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background:
      linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.98)),
      #ffffff;
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.18);
    padding: 1rem;
    display: none;
  }
  .global-date-picker-panel.active { display: block; }
  .global-date-picker-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
  }
  .global-date-picker-title {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
  }
  .global-date-picker-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.8rem;
    border: 1px solid #dbe2ea;
    background: #ffffff;
    color: #334155;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
  }
  .global-date-picker-nav:hover {
    background: #eff6ff;
    border-color: #bfdbfe;
    transform: translateY(-1px);
  }
  .global-date-picker-weekdays,
  .global-date-picker-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.35rem;
  }
  .global-date-picker-weekdays {
    margin-bottom: 0.45rem;
  }
  .global-date-picker-weekday {
    text-align: center;
    font-size: 0.76rem;
    font-weight: 800;
    color: #64748b;
    padding: 0.2rem 0;
  }
  .global-date-picker-day {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem;
    border-radius: 0.9rem;
    border: 1px solid transparent;
    background: #ffffff;
    color: #0f172a;
    font-size: 0.93rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
  }
  .global-date-picker-day:hover {
    background: #eff6ff;
    border-color: #bfdbfe;
    transform: translateY(-1px);
  }
  .global-date-picker-day.is-outside {
    color: #cbd5e1;
    background: #f8fafc;
  }
  .global-date-picker-day.is-today {
    border-color: #93c5fd;
    color: #1d4ed8;
  }
  .global-date-picker-day.is-active {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #ffffff;
    border-color: #1d4ed8;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.26);
  }
  .global-date-picker-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.9rem;
  }
  .global-date-picker-link {
    border: 0;
    background: none;
    padding: 0;
    font-size: 0.85rem;
    font-weight: 700;
    color: #111111;
    cursor: pointer;
  }
  .global-date-picker-link:hover { color: #000000; }
  .th { padding: 0.75rem 1rem; text-align: left; font-size: 0.75rem; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: 0.05em; }
  .td { padding: 0.75rem 1rem; font-size: 0.875rem; color: #374151; }

  /* line-clamp */
  .line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

  /* orders-table */
  .orders-table .th { padding: 0.375rem 0.5rem; }
  .orders-table .td { padding: 0.25rem 0.5rem; }
  .orders-table .badge { font-size: 0.7rem; padding: 0.1rem 0.375rem; }
  .col-hide-xl { display: none !important; }
  @media (min-width: 1280px) { .col-hide-xl { display: table-cell !important; } }
  .col-hide-lg { display: none !important; }
  @media (min-width: 1024px) { .col-hide-lg { display: table-cell !important; } }
  .col-hide-md { display: none !important; }
  @media (min-width: 768px) { .col-hide-md { display: table-cell !important; } }
  @media (max-width: 1279px) {
    .split-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 1023px) {
    .desktop-only { display: none !important; }
    .desktop-inline-flex { display: none !important; }
    .mobile-only { display: block !important; }
    .page-shell { padding: 0.95rem 0.95rem 1.4rem; }
    .page-head { margin-bottom: 1rem; }
    .page-subtitle { font-size: 0.82rem; max-width: 100%; }
    .page-actions { width: 100%; justify-content: flex-start; }
    .split-grid-2,
    .split-grid-3 { grid-template-columns: 1fr; }
  }
  @media (max-width: 767px) {
    .page-shell { padding: 0.8rem 0.8rem 1.2rem; }
    .btn { width: 100%; }
    .btn-sm { width: auto; }
    .page-actions .btn { width: auto; }
    .toolbar-card { padding: 0.85rem; }
    .metric-grid { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
    .summary-chip-grid { grid-template-columns: 1fr 1fr; gap: 0.65rem; }
    .summary-chip { padding: 0.8rem 0.85rem; border-radius: 0.9rem; }
    .summary-chip-value { font-size: 1.15rem; }
    .filter-grid { gap: 0.6rem; }
    .filter-grid > * { width: 100%; }
    .filter-grid > .btn,
    .filter-grid > a.btn { width: calc(50% - 0.3rem); }
    .global-date-picker-panel,
    .global-date-picker-overlay { display: none !important; }
    .table-desktop-only { display: none !important; }
    .table-mobile-stack { display: block; }
    .mobile-card-meta-row { grid-template-columns: minmax(64px, 82px) 1fr; gap: 0.55rem; }
  }
  @media (max-width: 480px) {
    .metric-grid { grid-template-columns: 1fr; }
    .filter-grid > .btn,
    .filter-grid > a.btn { width: 100%; }
    .time-select-shell { padding: 0.55rem 0.6rem; }
    .time-select-grid {
      grid-template-columns: minmax(76px, 1fr) auto minmax(76px, 1fr) auto;
      gap: 0.3rem;
    }
    .time-select-grid .time-select-hour { min-width: 76px; }
    .time-select-grid .time-select-minute { min-width: 76px; }
    .time-select-grid .time-unit { font-size: 0.7rem; }
    .time-picker-row {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr 0.85fr;
      gap: 0.4rem;
      align-items: start;
    }
    .time-picker-row .time-field {
      display: block;
    }
    .time-picker-row .time-unit {
      display: none !important;
    }
    .time-picker-row .time-select {
      width: 100% !important;
      min-width: 0 !important;
    }
  }

@font-face{font-family:"TheReum Operations Sans";src:url("/static/fonts/thereum-operations-sans-hangul-13495bfe.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+AC00-AC01,U+AC04,U+AC10,U+AC12,U+AC19,U+AC1C-AC1D,U+AC70,U+AC74,U+AC80,U+AC8C,U+ACA0,U+ACA8-ACA9,U+ACAC,U+ACB0,U+ACBC-ACBD,U+ACC4,U+ACE0,U+ACE8,U+ACF5,U+ACFC,U+AD00,U+AD6C-AD6D,U+AD8C,U+ADF8,U+ADFC,U+AE08,U+AE30,U+AE34,U+AE38,U+AE40,U+AE4A,U+AE4C,U+AED8,U+AFB8,U+AFD4,U+B00C,U+B098,U+B0A0,U+B0A8,U+B0B4,U+B108,U+B123-B124,U+B204,U+B208,U+B20C,U+B274,U+B294,U+B298,U+B2A5,U+B2C8,U+B2CC,U+B2E4,U+B2E8,U+B2EB,U+B2F4,U+B2F9,U+B300,U+B354,U+B370,U+B3C4,U+B3CC,U+B3D9,U+B3FC,U+B410,U+B418,U+B41C,U+B428,U+B450,U+B454,U+B458,U+B4A4,U+B4C8,U+B4DC,U+B4E0,U+B4E4,U+B4F1,U+B529,U+B610,U+B73B,U+B77C-B77D,U+B798-B799,U+B7C9,U+B7EC,U+B7F0,U+B7FC,U+B808,U+B824-B825,U+B828,U+B838,U+B85C-B85D,U+B8CC,U+B958,U+B974,U+B978,U+B97C,U+B984,U+B9AC-B9AD,U+B9B0,U+B9BD,U+B9BF,U+B9C1,U+B9C8,U+B9CC,U+B9CE,U+B9D0,U+B9DE,U+B9E4,U+BA38,U+BA3C,U+BA54,U+BA70,U+BA74,U+BA85,U+BAA8-BAA9,U+BABB,U+BB34,U+BB36,U+BB38,U+BB3C,U+BBC0,U+BBF8,U+BC0F,U+BC14,U+BC18,U+BC1B-BC1C,U+BC29,U+BC30,U+BC84,U+BC88,U+BC94,U+BCC0,U+BCC4,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD80,U+BD84,U+BD88,U+BD99,U+BE14,U+BE44,U+BE48,U+BE60,U+C0AC,U+C0B0,U+C0C1,U+C0C9,U+C0DD,U+C11C-C11E,U+C120,U+C124,U+C12F,U+C131,U+C138,U+C140,U+C18C,U+C1A1,U+C218,U+C21C,U+C228,U+C2A4,U+C2B5,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C368,U+C37C,U+C4F0,U+C4F4,U+C544,U+C548,U+C54A,U+C54C,U+C558,U+C560-C561,U+C57C-C57D,U+C591,U+C5B4,U+C5B8,U+C5C5-C5C6,U+C5C8,U+C5D0-C5D1,U+C5D4,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C601,U+C608,U+C624,U+C62E,U+C640,U+C644,U+C65C,U+C67C,U+C694,U+C6A9,U+C6B0,U+C6B4,U+C6C0,U+C6D0,U+C6D4,U+C704,U+C720,U+C73C,U+C740,U+C744,U+C74C,U+C758,U+C774,U+C778,U+C77C-C77D,U+C784-C785,U+C788,U+C790-C791,U+C798,U+C7A5,U+C7AC,U+C800-C801,U+C804,U+C810,U+C815,U+C81C,U+C870-C871,U+C874,U+C885,U+C8FC,U+C900,U+C904,U+C911,U+C918,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D1,U+C9DC,U+C9E7,U+CABD,U+CC28,U+CC3E,U+CC98,U+CC9C,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD1D,U+CD5C,U+CD94-CD95,U+CD9C,U+CDB0,U+CDE8,U+CE21,U+CE58,U+CE74,U+CE98,U+CEF4,U+CF00,U+CF54,U+D06C,U+D074,U+D0C0,U+D0DC-D0DD,U+D130,U+D14C,U+D15C,U+D1B5,U+D2B8,U+D2BC,U+D30C,U+D310,U+D328-D329,U+D37C,U+D398,U+D3D0,U+D3EC,U+D45C,U+D480,U+D488,U+D50C,U+D544,U+D558,U+D55C,U+D560,U+D568-D569,U+D56D,U+D574,U+D588-D589,U+D5C8,U+D604,U+D615,U+D638-D639,U+D654-D655,U+D65C,U+D669,U+D68C-D68D,U+D6C4,U+D6D1,U+D761,U+D788}
@font-face{font-family:"TheReum Operations Sans";src:url("/static/fonts/thereum-operations-sans-latin-symbols-7d7dcf9c.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0020,U+0023,U+0025,U+0027-003B,U+003D,U+003F,U+0041-0049,U+004B-0057,U+0059-005B,U+005D,U+005F-007D,U+00B7,U+2013-2014,U+201C-201D,U+2190,U+2192,U+2212}

@font-face{font-family:"TheReum Operations Sans";src:url("/static/fonts/thereum-operations-sans-supplement-57952c19.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+004A,U+2026,U+AD04,U+AD50,U+B110,U+C0AD,U+C0C8,U+C158,U+C219,U+C635,U+C811,U+C84C,U+C988,U+CC44,U+CCA8,U+D658}

:root {
  --ops-canvas: #f1f3f2;
  --ops-surface: #ffffff;
  --ops-surface-muted: #f7f8f7;
  --ops-border: #d9ddda;
  --ops-border-strong: #b9c0bb;
  --ops-ink: #151816;
  --ops-muted: #69716c;
  --ops-accent: #176348;
  --ops-accent-soft: #e9f2ed;
  --ops-warning: #8a5a10;
  --ops-warning-soft: #fff7e6;
  --ops-danger: #b4232d;
  --ops-radius: 6px;
  --ops-radius-sm: 4px;
  --ops-topbar-offset: calc(3.75rem + env(safe-area-inset-top));
}

/* Shared locating controls use field widths instead of full-width action rows. */
.operations-ui .input {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid var(--ops-border-strong);
  border-radius: var(--ops-radius-sm);
  background: var(--ops-surface);
  color: var(--ops-ink);
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
}
.operations-ui .filter-grid { gap: 8px 12px; }
.operations-ui .filter-grid > div:not(.filter-actions) { flex: 0 1 200px; width: auto; }
.operations-ui .filter-grid :is(input:not([type="checkbox"]), select) { width: 100%; min-width: 0; max-width: 100%; }
.operations-ui .filter-grid > :is(.btn, a.btn),
.operations-ui .filter-grid > .filter-actions { flex: 0 0 auto; width: auto; }
.operations-ui .filter-actions > .btn { flex: none; }
.operations-ui :is([data-supply-requests-root], [data-expenses-root]) form > button.w-full { width: auto; }
@media (max-width: 767px) {
  .operations-ui .filter-grid > div:not(.filter-actions) { flex: 1 1 150px; }
}

body.operations-ui {
  background: var(--ops-canvas);
  color: var(--ops-ink);
  font-family: "TheReum Operations Sans", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
  font-synthesis: none;
  min-width: 320px;
  overflow-x: clip;
}

/* iOS date controls have an intrinsic native width. Constrain the control,
   rather than hiding page overflow, including fields switched to date by JS. */
@media (max-width: 767px) {
  .operations-ui input:is([type="date"], [type="datetime-local"], [type="time"]) {
    box-sizing: border-box;
    min-width: 0 !important;
    min-inline-size: 0 !important;
    max-width: 100%;
    max-inline-size: 100%;
    -webkit-appearance: none;
    appearance: none;
  }
  .operations-ui input:is([type="date"], [type="datetime-local"], [type="time"])::-webkit-date-and-time-value {
    min-width: 0;
    text-align: left;
  }
  .operations-ui input.custom-date-input[type="date"] {
    width: 100%;
    padding-inline: 0.75rem !important;
    background-image: none;
  }
  .operations-ui .global-date-input-wrap {
    min-width: 0;
    max-width: 100%;
  }
}

.operations-ui ::selection {
  background: var(--ops-accent-soft);
  color: var(--ops-ink);
}

.operations-ui .inventory-intent-group {
  margin: 0.35rem 0 0.65rem;
  padding-left: 0.4rem;
  border-left: 1px solid rgba(255,255,255,0.12);
}

.operations-ui .inventory-intent-label {
  padding: 0.15rem 0.75rem 0.25rem;
  color: #8f9691;
  font-size: 0.66rem;
  font-weight: 700;
}

.operations-ui .inventory-intent-group .sidebar-link {
  min-height: 2.15rem;
  padding-block: 0.42rem;
  font-size: 0.8rem;
}

.operations-ui .inventory-intent-group .sidebar-link.active {
  box-shadow: inset 3px 0 0 var(--ops-accent);
}

.operations-ui .ops-inventory-page {
  display: grid;
  gap: 0.9rem;
}

.operations-ui .ops-inventory-page .page-head {
  margin-bottom: 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--ops-border-strong);
}

.operations-ui .ops-filter-band {
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--ops-border);
  background: transparent !important;
}

.operations-ui .ops-filter-grid {
  display: grid;
  grid-template-columns: minmax(12rem, 1.45fr) repeat(4, minmax(8.25rem, 0.75fr));
  gap: 0.65rem;
  align-items: end;
}

.operations-ui .ops-field {
  display: grid;
  min-width: 0;
  gap: 0.25rem;
}

.operations-ui .ops-field > span,
.operations-ui .ops-field-label {
  color: var(--ops-muted);
  font-size: 0.75rem;
  font-weight: 600;
}

.operations-ui .ops-filter-actions,
.operations-ui .ops-inline-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (min-width: 1101px) {
  .operations-ui .ops-filter-actions { grid-column: span 2; }
}

.operations-ui .ops-scope-line {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  color: var(--ops-muted);
  font-size: 0.78rem;
}

.operations-ui .ops-state {
  padding: 0.6rem 0.75rem;
  border-left: 3px solid var(--ops-border-strong);
  background: var(--ops-surface-muted);
  color: var(--ops-ink);
  font-size: 0.82rem;
}

.operations-ui .ops-state[data-tone="success"] { border-left-color: var(--ops-accent); background: var(--ops-accent-soft); }
.operations-ui .ops-state[data-tone="error"] { border-left-color: var(--ops-danger); background: #fff1f2; color: #8f1d27; }
.operations-ui .ops-state[data-tone="warning"] { border-left-color: #a16207; background: #fffbeb; }

.operations-ui .ops-ledger {
  overflow: hidden;
  border-top: 2px solid var(--ops-ink);
  border-bottom: 1px solid var(--ops-border-strong);
  background: var(--ops-surface);
}

.operations-ui .ops-ledger table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.operations-ui .ops-ledger :is(th, td) {
  min-width: 0;
  padding: 0.48rem 0.55rem;
  overflow-wrap: anywhere;
  line-height: 1.35;
}

.operations-ui .ops-ledger th {
  color: var(--ops-muted);
  font-size: 0.75rem;
  font-weight: 600;
  text-align: left;
}

.operations-ui .ops-ledger td {
  border-top: 1px solid var(--ops-border);
  font-size: 0.8rem;
}

.operations-ui .ops-ledger .is-numeric,
.operations-ui .ops-numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

@media (min-width: 768px) {
  .operations-ui [data-procurement-root] .ops-ledger table {
    min-width: 104rem;
    table-layout: auto;
  }
}

.operations-ui :is(.font-mono, time, [data-part-number], [data-transaction-identity], [data-issue-identity], .ops-quantity-strip) {
  font-variant-numeric: tabular-nums;
}

.operations-ui .ops-empty {
  display: grid;
  justify-items: start;
  gap: 0.45rem;
  padding: 1.5rem 0.75rem;
  color: var(--ops-muted);
}

.operations-ui .ops-quantity-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--ops-border-strong);
}

.operations-ui .ops-quantity-strip > div {
  min-width: 0;
  padding: 0.7rem 0.8rem;
  border-right: 1px solid var(--ops-border);
}

.operations-ui .ops-quantity-strip > div:last-child { border-right: 0; }
.operations-ui .ops-quantity-strip dt { color: var(--ops-muted); font-size: 0.75rem; }
.operations-ui .ops-quantity-strip dd { margin: 0.2rem 0 0; text-align: right; font-size: 1.15rem; font-weight: 700; }

.operations-ui .ops-identity-rail {
  padding-left: 1rem;
  border-left: 4px solid var(--ops-ink);
}

.operations-ui .ops-signature-identity {
  display: flex;
  min-width: 0;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 0.35em;
  font-size: 2.65rem;
  line-height: 1.08;
  letter-spacing: -0.035em !important;
}

.operations-ui .ops-signature-identity [data-identity-number] { font-weight: 700; }
.operations-ui .ops-signature-identity [data-identity-color] { font-weight: 600; }

@media (max-width: 1100px) {
  .operations-ui .ops-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .operations-ui .ops-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operations-ui .ops-filter-grid > :first-child,
  .operations-ui .ops-filter-grid > .ops-inline-check,
  .operations-ui .ops-filter-actions { grid-column: 1 / -1; }
  .operations-ui .ops-filter-actions > * { flex: 1 1 8rem; }
  .operations-ui .ops-ledger { overflow: visible; border: 0; background: transparent; }
  .operations-ui .ops-ledger table[data-mobile-layout="records"] { display: block; }
  .operations-ui .ops-quantity-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operations-ui .ops-quantity-strip > div:nth-child(2) { border-right: 0; }
  .operations-ui .ops-quantity-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--ops-border); }
  .operations-ui .ops-signature-identity { font-size: 1.8rem; }
  .operations-ui .ops-signature-identity [data-identity-color] { font-size: 1.45rem; }
}

@media (max-width: 340px) {
  .operations-ui .ops-signature-identity { font-size: 1.6rem; }
  .operations-ui .ops-signature-identity [data-identity-color] { font-size: 1.3rem; }
  .operations-ui [data-mobile-layout="records"] td { grid-template-columns: minmax(4.8rem, 31%) minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .operations-ui *, .operations-ui *::before, .operations-ui *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.operations-ui,
.operations-ui * {
  letter-spacing: 0 !important;
}

.operations-ui * {
  background-image: none !important;
}

.operations-ui [hidden] {
  display: none !important;
}

.operations-ui #main-content {
  background: var(--ops-canvas);
  min-width: 0;
  overscroll-behavior-y: contain;
}

.operations-ui [data-page-content],
.operations-ui [data-page-content] > *,
.operations-ui .ops-work-region,
.operations-ui .ops-work-region > * {
  min-width: 0;
}

.operations-ui #sidebar {
  background: #18181b !important;
  height: 100vh;
  height: 100dvh;
}

.operations-ui .sidebar-meta {
  display: none !important;
}

.operations-ui .sidebar-link {
  border-radius: var(--ops-radius-sm);
  padding: 0.66rem 0.78rem;
  transition: background-color 120ms, color 120ms, border-color 120ms;
}

.operations-ui .sidebar-link > svg {
  flex: 0 0 auto;
}

.operations-ui .sidebar-link > span {
  min-width: 0;
  line-height: 1.3;
}

.operations-ui .sidebar-link:hover {
  transform: none;
}

.operations-ui .sidebar-link.active {
  background: #f6f7f6;
  border-color: #f6f7f6;
  box-shadow: none;
}

.operations-ui .sidebar-search-input {
  border-radius: var(--ops-radius-sm);
  padding: 0.66rem 0.75rem;
}

.operations-ui .sidebar-section-label::after {
  background: rgba(255, 255, 255, 0.1);
}

.operations-ui .page-shell {
  padding-top: 1rem;
  padding-bottom: calc(2rem + env(safe-area-inset-bottom));
}

.operations-ui .page-head {
  margin-bottom: 1rem;
}

.operations-ui .page-head > *,
.operations-ui .page-actions,
.operations-ui .section-header > *,
.operations-ui .card,
.operations-ui .toolbar-card,
.operations-ui .soft-panel {
  min-width: 0;
}

.operations-ui .page-title {
  font-size: 1.55rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.012em !important;
}

.operations-ui .card,
.operations-ui .soft-panel,
.operations-ui .toolbar-card,
.operations-ui .summary-chip,
.operations-ui .table-section,
.operations-ui .mobile-card,
.operations-ui .time-select-shell {
  border-radius: var(--ops-radius) !important;
  border-color: var(--ops-border) !important;
  background: var(--ops-surface) !important;
  box-shadow: none !important;
}

.operations-ui .rounded-3xl,
.operations-ui .rounded-2xl,
.operations-ui .rounded-xl,
.operations-ui .rounded-lg {
  border-radius: var(--ops-radius) !important;
}

.operations-ui .btn,
.operations-ui .btn-sm,
.operations-ui .form-input,
.operations-ui .form-select,
.operations-ui input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.operations-ui select,
.operations-ui textarea {
  border-radius: var(--ops-radius-sm) !important;
}

.operations-ui .btn,
.operations-ui .btn-primary,
.operations-ui .btn-secondary,
.operations-ui .btn-success,
.operations-ui [class*="bg-gradient"] {
  background-image: none !important;
}

.operations-ui .btn {
  min-height: 2.5rem;
  font-weight: 680;
  transition: background-color 120ms, color 120ms, border-color 120ms;
}

.operations-ui .btn:hover,
.operations-ui .btn:active {
  transform: none;
}

.operations-ui :focus-visible {
  outline: 2px solid #0f766e;
  outline-offset: 2px;
}

.operations-ui .btn-primary {
  background: #202522;
  border-color: #202522;
  box-shadow: none;
}

.operations-ui .btn-primary:hover {
  background: #101311;
  border-color: #101311;
}

.operations-ui .btn-secondary {
  background: var(--ops-surface);
  border-color: var(--ops-border-strong);
  box-shadow: none;
}

.operations-ui .btn-success {
  background: var(--ops-accent);
  border-color: var(--ops-accent);
  box-shadow: none;
}

.operations-ui .surface-subtle {
  background: var(--ops-surface-muted);
}

.operations-ui .shadow,
.operations-ui .shadow-sm,
.operations-ui .shadow-md,
.operations-ui .shadow-lg,
.operations-ui .shadow-xl,
.operations-ui .shadow-2xl {
  box-shadow: none !important;
}

.operations-ui .admin-priority-card {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.operations-ui .admin-priority-card h2 {
  font-size: 1.25rem !important;
  line-height: 1.3;
}

.operations-ui .admin-priority-grid {
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid var(--ops-border);
  border-radius: var(--ops-radius);
  background: var(--ops-surface);
}

.operations-ui .admin-priority-metric {
  border: 0 !important;
  border-right: 1px solid var(--ops-border) !important;
  border-radius: 0 !important;
  background: var(--ops-surface) !important;
  box-shadow: none !important;
  padding: 0.9rem 1rem !important;
  transition: background-color 120ms !important;
}

.operations-ui .admin-priority-metric:last-child {
  border-right: 0 !important;
}

.operations-ui .admin-priority-metric:hover {
  transform: none !important;
  background: var(--ops-surface-muted) !important;
}

.operations-ui .admin-work-row {
  border-radius: var(--ops-radius-sm) !important;
}

.operations-ui .dashboard-section-link {
  border-radius: var(--ops-radius-sm) !important;
  background: var(--ops-surface) !important;
  box-shadow: none !important;
}

.operations-ui .topbar-kicker,
.operations-ui [class*="tracking-"] {
  letter-spacing: 0 !important;
}

.operations-ui .ops-topbar {
  min-height: 3.75rem;
  padding-top: calc(0.7rem + env(safe-area-inset-top));
  background: #ffffff !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.operations-ui .topbar-title {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  overflow: hidden;
}

.operations-ui .topbar-label {
  flex: 0 0 auto;
  color: var(--ops-ink);
  font-size: 0.95rem;
  font-weight: 760;
}

.operations-ui .topbar-context {
  overflow: hidden;
  color: var(--ops-muted);
  font-size: 0.75rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.operations-ui img,
.operations-ui video,
.operations-ui canvas {
  max-width: 100%;
}

.operations-ui table {
  max-width: 100%;
}

.operations-ui .overflow-x-auto,
.operations-ui .table-scroll {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.operations-ui [data-comparison-scroll] {
  position: relative;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: auto;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
  border-block: 1px solid var(--ops-border-strong);
}

.operations-ui [data-comparison-scroll] table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.operations-ui .bl-identifiers {
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
}

.operations-ui [data-comparison-scroll][data-overflowing="true"]::after {
  content: "표 안에서만 가로 이동";
  position: sticky;
  right: 0;
  bottom: 0;
  display: block;
  width: max-content;
  margin-left: auto;
  padding: 0.25rem 0.45rem;
  border-left: 1px solid var(--ops-border);
  background: var(--ops-surface-muted);
  color: var(--ops-muted);
  font-size: 0.7rem;
  font-weight: 600;
  pointer-events: none;
}

.operations-ui [data-comparison-scroll][data-comparison-hint="false"]::after {
  display: none;
}

.operations-ui .po-items-head {
  position: sticky;
  top: var(--ops-topbar-offset);
  z-index: 30;
}

@media (max-width: 1023px) {
  :root {
    --ops-topbar-offset: calc(4.75rem + env(safe-area-inset-top));
  }
}

.operations-ui .ops-flat-ledger {
  overflow: hidden;
  border: 1px solid var(--ops-border);
  border-radius: var(--ops-radius);
  background: var(--ops-surface);
}

.operations-ui .ops-flat-ledger > * + * {
  border-top: 1px solid var(--ops-border);
}

.operations-ui .ops-ledger-row {
  min-width: 0;
  border-radius: 0 !important;
  background: var(--ops-surface) !important;
  box-shadow: none !important;
}

.operations-ui :is(.page-title, .section-title, .card-head, .td, .mobile-card, dd, p, a, button) {
  word-break: keep-all;
  overflow-wrap: break-word;
}

.operations-ui .mobile-card {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 639px) {
  .operations-ui .calendar-event-chip {
    padding-inline: 0.125rem !important;
    font-size: 0.5625rem !important;
  }
}

.operations-ui .dashboard-priority-ledger {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid var(--ops-border);
  border-radius: var(--ops-radius);
  background: var(--ops-surface);
}

.operations-ui .dashboard-priority-ledger .admin-priority-metric {
  border: 0 !important;
  border-right: 1px solid var(--ops-border) !important;
  border-radius: 0 !important;
  padding: 0.78rem 0.9rem !important;
}

.operations-ui .dashboard-priority-ledger .admin-priority-metric:last-child {
  border-right: 0 !important;
}

.operations-ui .expense-file-name {
  min-width: 0;
  white-space: normal;
  word-break: break-all;
  overflow-wrap: anywhere;
}

.operations-ui .module-workbench {
  display: grid;
  grid-template-columns: minmax(18rem, 20rem) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.operations-ui .module-master,
.operations-ui .module-detail {
  min-width: 0;
}

.operations-ui .module-master > summary {
  display: none;
}

.operations-ui .module-list-scroll {
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.operations-ui .inventory-module-row {
  min-height: 3.55rem;
}

.operations-ui .module-list-name-line {
  line-height: 1rem;
}

.operations-ui .module-list-name {
  display: -webkit-box;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  overflow-wrap: anywhere;
  font-size: 0.76rem;
  line-height: 1rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.operations-ui .module-list-prices {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 0.28rem;
  overflow: hidden;
  white-space: nowrap;
  font-size: 0.65rem;
  line-height: 0.95rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.015em;
}

.operations-ui .module-list-sentinel {
  height: 1px;
  width: 100%;
}

.operations-ui .module-detail[data-loading="true"] {
  opacity: 0.62;
  transition: opacity 120ms ease;
}

.operations-ui :is([role="dialog"], .modal-panel, .modal-content) {
  max-width: calc(100vw - 2rem);
  max-height: calc(100dvh - 2rem);
}

.login-page {
  min-height: 100vh;
  background: #e8ebe9 !important;
}

.login-shell {
  max-width: 28rem;
}

.login-brand {
  margin-bottom: 1.25rem;
  border-left: 4px solid var(--ops-accent);
  padding-left: 0.9rem;
  text-align: left;
}

.login-brand-kicker {
  display: block !important;
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #5f6862 !important;
  font-size: 0.7rem !important;
  font-weight: 700;
  text-transform: uppercase;
}

.login-brand-name {
  color: var(--ops-ink) !important;
  font-size: 1.75rem !important;
  line-height: 1.1;
  font-weight: 780;
}

.login-panel {
  border: 1px solid var(--ops-border) !important;
  border-radius: var(--ops-radius) !important;
  background: var(--ops-surface) !important;
  box-shadow: 0 1px 2px rgba(21, 24, 22, 0.05) !important;
  backdrop-filter: none !important;
}

.login-panel-tag {
  display: block !important;
  width: max-content;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  color: var(--ops-accent) !important;
  font-size: 0.72rem !important;
  font-weight: 750;
}

.login-panel h2 {
  font-size: 1.55rem !important;
  line-height: 1.25 !important;
}

.login-note {
  border-left: 3px solid var(--ops-border-strong) !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: var(--ops-surface-muted) !important;
}

@media (max-width: 640px) {
  .operations-ui .page-shell {
    padding: 0.85rem max(0.75rem, env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
  }

  .operations-ui .page-title {
    font-size: 1.35rem;
  }

  .operations-ui .admin-priority-card {
    padding: 0 !important;
  }

  .operations-ui .admin-priority-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .operations-ui .admin-priority-metric {
    border-right: 1px solid var(--ops-border) !important;
    border-bottom: 1px solid var(--ops-border) !important;
    border-radius: 0 !important;
  }

  .operations-ui .admin-priority-metric:nth-child(2n) {
    border-right: 0 !important;
  }

  .operations-ui .admin-priority-metric:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }

  .login-page {
    align-items: center;
    padding: 1.5rem 1rem !important;
  }

  .login-panel {
    padding: 1.35rem !important;
  }
}

@media (max-width: 1023px) {
  .operations-ui .ops-topbar {
    padding-left: max(0.75rem, env(safe-area-inset-left));
    padding-right: max(0.75rem, env(safe-area-inset-right));
  }

  .operations-ui .page-head {
    align-items: stretch;
  }

  .operations-ui .page-actions {
    justify-content: flex-start;
  }

  .operations-ui .ops-icon-button,
  .operations-ui button:not([type="hidden"]),
  .operations-ui summary {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .operations-ui input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
  .operations-ui select {
    min-height: 44px !important;
  }

  .operations-ui [data-page-content] .btn {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .operations-ui .sidebar-link {
    min-height: 44px;
  }
}

@media (max-width: 767px) {
  .operations-ui .page-head {
    gap: 0.75rem;
  }

  .operations-ui .page-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .operations-ui .page-actions > :is(a, button, form) {
    min-width: 0;
    width: 100%;
  }

  .operations-ui .page-actions form .btn,
  .operations-ui .page-actions > .btn {
    width: 100%;
  }

  .operations-ui input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .operations-ui select,
  .operations-ui textarea {
    max-width: 100%;
    font-size: 16px !important;
  }

  .operations-ui .btn,
  .operations-ui .btn-sm,
  .operations-ui button,
  .operations-ui summary {
    min-height: 44px;
  }

  .operations-ui .ops-icon-button,
  .operations-ui button:not([type="hidden"]),
  .operations-ui summary {
    min-width: 44px;
  }

  .operations-ui input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
  .operations-ui select {
    min-height: 44px !important;
  }

  .operations-ui input[type="checkbox"],
  .operations-ui input[type="radio"] {
    min-width: 1rem;
    min-height: 1rem;
  }

  .operations-ui .card-body,
  .operations-ui .card-head {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }

  .operations-ui :is([role="dialog"], .modal-panel, .modal-content) {
    max-width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
  }

  .operations-ui .orders-filter-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .operations-ui .orders-filter-options > details,
  .operations-ui .orders-filter-options > label {
    min-width: 0;
    width: 100%;
  }

  .operations-ui .orders-filter-options > details > div.absolute {
    width: min(16rem, calc(100vw - 2rem));
  }

  .operations-ui .orders-filter-options > details:nth-of-type(even) > div.absolute {
    right: 0;
    left: auto;
  }

  .operations-ui [data-mobile-layout="records"] {
    display: block;
    width: 100%;
    min-width: 0 !important;
  }

  .operations-ui [data-mobile-layout="records"] thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .operations-ui [data-mobile-layout="records"] tbody,
  .operations-ui [data-mobile-layout="records"] tr,
  .operations-ui [data-mobile-layout="records"] td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .operations-ui [data-mobile-layout="records"] tbody {
    border-top: 1px solid var(--ops-border-strong);
  }

  .operations-ui [data-mobile-layout="records"] tr {
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--ops-border);
  }

  .operations-ui [data-mobile-layout="records"] tr.hidden {
    display: none;
  }

  .operations-ui [data-mobile-layout="records"] td {
    display: grid;
    grid-template-columns: minmax(5.75rem, 34%) minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    padding: 0.32rem 0.65rem !important;
    border: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  .operations-ui [data-mobile-layout="records"] td::before {
    content: attr(data-label);
    grid-column: 1;
    grid-row: 1;
    color: var(--ops-muted);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.4;
  }

  .operations-ui [data-mobile-layout="records"] td > * {
    grid-column: 2;
    min-width: 0;
  }

  .operations-ui [data-mobile-layout="records"] td[colspan] {
    display: block;
  }

  .operations-ui [data-mobile-layout="records"] td[colspan]::before,
  .operations-ui [data-mobile-layout="records"] td:not([data-label])::before {
    content: none;
  }

  .operations-ui .part-timeline-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .operations-ui .part-timeline-metrics {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0 !important;
  }

  .operations-ui .module-workbench {
    display: block;
  }

  .operations-ui .module-master {
    display: block;
    margin-bottom: 0.75rem;
    border: 1px solid var(--ops-border-strong);
    border-radius: var(--ops-radius);
    background: var(--ops-surface);
  }

  .operations-ui .module-master > summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    cursor: pointer;
    list-style: none;
    font-size: 0.82rem;
    font-weight: 700;
  }

  .operations-ui .module-master > summary::-webkit-details-marker {
    display: none;
  }

  .operations-ui .module-master > summary::after {
    content: "모듈 바꾸기";
    color: var(--ops-muted);
    font-size: 0.72rem;
    font-weight: 600;
  }

  .operations-ui .module-master[open] > summary::after {
    content: "목록 접기";
  }

  .operations-ui .module-master-content {
    border-top: 1px solid var(--ops-border);
    padding: 0.65rem;
  }

  .operations-ui .module-detail > .card:first-child {
    border-left: 3px solid var(--ops-ink) !important;
  }

  .operations-ui .expense-field-pair,
  .operations-ui .bgrade-mobile-field-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .operations-ui .dashboard-priority-ledger {
    grid-template-columns: minmax(0, 1fr);
  }

  .operations-ui .dashboard-priority-ledger .admin-priority-metric {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 0.35rem 0.75rem;
    border-right: 0 !important;
    border-bottom: 1px solid var(--ops-border) !important;
  }

  .operations-ui .dashboard-priority-ledger .admin-priority-metric:last-child {
    border-bottom: 0 !important;
  }

  .operations-ui .dashboard-priority-ledger .admin-priority-metric > :last-child:not(:nth-child(2)) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 420px) {
  .operations-ui .page-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .operations-ui .admin-priority-grid,
  .operations-ui .summary-chip-grid,
  .operations-ui .metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (min-width: 768px) {
  .operations-ui .module-master > .module-master-content {
    display: block !important;
  }
}

@media (pointer: coarse) {
  .operations-ui .sidebar-link,
  .operations-ui .global-date-picker-nav,
  .operations-ui .global-date-picker-link {
    min-height: 44px;
  }
}

/* Inventory identities stay neutral; warning and critical are the only chromatic states. */
.operations-ui :is(
  [data-inventory-root], [data-inventory-parts-root], [data-part-detail-root],
  [data-inventory-modules-root], [data-inventory-transactions-root],
  [data-inventory-availability-root], [data-inventory-consistency-root],
  [data-procurement-root], [data-inventory-adjustment-surface]
) :is(.bg-teal-50, .bg-teal-100, .bg-blue-50, .bg-blue-100) {
  background-color: var(--ops-surface-muted) !important;
}

.operations-ui :is(
  [data-inventory-root], [data-inventory-parts-root], [data-part-detail-root],
  [data-inventory-modules-root], [data-inventory-transactions-root],
  [data-inventory-availability-root], [data-inventory-consistency-root],
  [data-procurement-root], [data-inventory-adjustment-surface]
) :is(.text-teal-500, .text-teal-600, .text-teal-700, .text-blue-500, .text-blue-600, .text-blue-700) {
  color: var(--ops-ink) !important;
}

.operations-ui :is(
  [data-inventory-root], [data-inventory-parts-root], [data-part-detail-root],
  [data-inventory-modules-root], [data-inventory-transactions-root],
  [data-inventory-availability-root], [data-inventory-consistency-root],
  [data-procurement-root], [data-inventory-adjustment-surface]
) :is(.bg-yellow-50, .bg-yellow-100, .bg-orange-50, .bg-orange-100, .bg-amber-50, .bg-amber-100) {
  background-color: var(--ops-warning-soft) !important;
}

.operations-ui :is(
  [data-inventory-root], [data-inventory-parts-root], [data-part-detail-root],
  [data-inventory-modules-root], [data-inventory-transactions-root],
  [data-inventory-availability-root], [data-inventory-consistency-root],
  [data-procurement-root], [data-inventory-adjustment-surface]
) :is(.text-yellow-600, .text-yellow-700, .text-yellow-800, .text-orange-600, .text-orange-700, .text-orange-800, .text-amber-600, .text-amber-700, .text-amber-800) {
  color: var(--ops-warning) !important;
}

.operations-ui .ops-color-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 0.7rem;
  padding: 0.45rem 0.65rem;
  border-bottom: 1px solid var(--ops-border);
  background: var(--ops-surface-muted);
}

.operations-ui .ops-color-switcher { position: relative; flex: none; }
.operations-ui .ops-color-switcher > summary {
  min-height: 0;
  cursor: pointer;
  color: var(--ops-muted);
  font-size: 0.75rem;
  font-weight: 600;
}

.operations-ui .ops-color-switcher[open] > div {
  position: absolute;
  z-index: 20;
  top: 100%;
  right: 0;
  width: min(28rem, calc(100vw - 2rem));
  padding: 0.6rem;
  border: 1px solid var(--ops-border-strong);
  background: var(--ops-surface);
  box-shadow: 0 8px 24px rgb(21 24 22 / 0.12);
}

.operations-ui .ops-danger-quiet {
  border: 1px solid #e5a7ad;
  background: transparent;
  color: #8f1d27;
}

.operations-ui .ops-danger-quiet:hover { background: #fff1f2; }

.operations-ui .ops-connection-status {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  border: 1px solid #e5a7ad;
  border-radius: 999px;
  background: #fff1f2;
  padding: 0.2rem 0.55rem;
  color: #8f1d27;
  font-size: 0.72rem;
  font-weight: 700;
}

.operations-ui .ops-empty {
  padding-block: 0.9rem;
  color: #555d58;
}

@media (max-width: 767px) {
  .operations-ui [data-inventory-root] .page-head {
    gap: 0.45rem;
    padding-bottom: 0.55rem;
  }

  .operations-ui [data-inventory-root] .page-actions,
  .operations-ui [data-part-detail-root] .part-detail-actions {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }

  .operations-ui [data-part-detail-root] .part-detail-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .operations-ui [data-inventory-root] .page-actions > *,
  .operations-ui [data-part-detail-root] .part-detail-actions > * {
    width: 100%;
    min-width: 0;
  }

  .operations-ui [data-inventory-root] .ops-filter-band { padding-block: 0.55rem; }
  .operations-ui [data-inventory-root] .ops-filter-grid { gap: 0.45rem 0.55rem; }
  .operations-ui [data-inventory-root] .ops-field { gap: 0.15rem; }
  .operations-ui [data-inventory-root] .ops-scope-line { gap: 0.4rem; }

  .operations-ui [data-inventory-root] [data-inventory-projection] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(7rem, 0.72fr);
    align-items: end;
    width: 100%;
    gap: 0.5rem;
  }

  .operations-ui [data-inventory-root] [data-inventory-projection] > .ops-field,
  .operations-ui [data-inventory-root] [data-inventory-projection] > .btn {
    width: 100%;
    min-width: 0;
  }

  .operations-ui [data-inventory-root] #clearProjBtn { grid-column: 1 / -1; }
  .operations-ui .ops-color-context { margin-bottom: 0.5rem; }

  .operations-ui [data-inventory-root] [data-mobile-layout="records"] tr {
    padding-block: 0.08rem;
  }

  .operations-ui [data-inventory-root] [data-mobile-layout="records"] td {
    min-height: 0;
    padding: 0.04rem 0.5rem !important;
    font-size: 0.74rem;
    line-height: 1.15;
  }

  .operations-ui [data-inventory-root] [data-mobile-layout="records"] td::before {
    font-size: 0.68rem;
    line-height: 1.15;
  }

  .operations-ui [data-inventory-root] [data-mobile-layout="records"] .badge {
    padding-block: 0.08rem;
    line-height: 1.1;
  }
}
/* Comparison retains every amount, using compact labelled rows on narrow screens. */
.operations-ui #diffSection { min-width: 0; }
.operations-ui #diffSection > div:first-child { flex-wrap: wrap; gap: .5rem; }
.operations-ui #diffBody { min-width: 0; overflow-wrap: anywhere; }
.operations-ui #diffBody > details > div > div { flex-wrap: wrap; gap: .4rem; }
.operations-ui #diffBody > details > div > div > div:last-child { flex-wrap: wrap; }
@media (max-width: 767px) {
  .operations-ui #diffSection { padding: .75rem; }
  .operations-ui #diffBody table,
  .operations-ui #diffBody tbody { display: block; width: 100%; min-width: 0; }
  .operations-ui #diffBody thead { display: none; }
  .operations-ui #diffBody tbody tr {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .3rem .6rem; padding: .6rem; margin-bottom: .4rem; border-radius: .4rem;
  }
  .operations-ui #diffBody td {
    display: block; min-width: 0; width: auto; padding: 0;
    text-align: left; font-size: .75rem; line-height: 1.4;
  }
  .operations-ui #diffBody td:first-child { grid-column: 1 / -1; }
  .operations-ui #diffBody td:nth-child(2),
  .operations-ui #diffBody td:nth-child(7) { grid-column: 1 / -1; }
  .operations-ui #diffBody td:not(:first-child)::before {
    display: inline; margin-right: .35rem; font-size: .68rem; font-weight: 400; color: #475569;
  }
  .operations-ui #diffBody td:nth-child(2)::before { content: '수량'; }
  .operations-ui #diffBody td:nth-child(3)::before { content: '일반 단가'; }
  .operations-ui #diffBody td:nth-child(4)::before { content: '빠른 단가'; }
  .operations-ui #diffBody td:nth-child(5)::before { content: '일반 소계'; }
  .operations-ui #diffBody td:nth-child(6)::before { content: '빠른 소계'; }
  .operations-ui #diffBody td:nth-child(7)::before { content: '재고'; }
  .operations-ui #diffBody .whitespace-nowrap { white-space: normal; }
  .operations-ui #diffBody > details > div > div > div { flex-basis: 100%; }
  .operations-ui #diffBody > div:last-child > .flex { flex-wrap: wrap; gap: .25rem; }
}

.saved-source-picker {
  container-type: inline-size;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border-soft, #e4e4e7);
  border-radius: .375rem;
  background: var(--surface, #fff);
}
.saved-source-picker, .saved-source-picker * { box-sizing:border-box; min-width:0; }
.saved-source-picker button, .saved-source-picker input { max-width:100%; }
.saved-source-picker button { white-space:normal; overflow-wrap:anywhere; }
.saved-source-picker__head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; }
.saved-source-picker__head-actions { display:flex; flex:0 0 auto; align-items:center; justify-content:flex-end; gap:.4rem; }
.saved-source-picker__head h3 { margin:0; color:var(--text-main, #111); font-size:.875rem; font-weight:760; letter-spacing:-.015em; }
.saved-source-picker__head p { margin:.18rem 0 0; color:var(--text-muted, #6b7280); font-size:.75rem; }
.saved-source-picker__body { box-sizing:border-box; width:100%; max-width:100%; min-width:0; padding:0 1rem 1rem; border-top:1px solid var(--border-soft, #e4e4e7); }
.saved-source-picker__search { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:.5rem; padding:.85rem 0; }
.saved-source-picker__search label { display:grid; gap:.3rem; color:var(--text-muted, #6b7280); font-size:.72rem; font-weight:700; }
.saved-source-picker__workspace { display:grid; width:100%; max-width:100%; grid-template-columns:minmax(12rem,.78fr) minmax(17rem,1.22fr); gap:.75rem; min-width:0; overflow:hidden; }
.saved-source-picker__list-column { display:grid; align-content:start; gap:.5rem; min-width:0; }
.saved-source-picker__list { display:grid; align-content:start; gap:.35rem; max-height:22rem; overflow:auto; }
.saved-source-picker__record { width:100%; min-width:0; padding:.65rem .7rem; border:1px solid var(--border-soft, #e4e4e7); border-radius:.25rem; background:#fff; color:var(--text-main, #111); text-align:left; }
.saved-source-picker__record:hover,.saved-source-picker__record[aria-selected="true"] { border-color:#18181b; background:#f5f5f5; }
.saved-source-picker__record:focus-visible { outline:3px solid rgba(24,24,27,.16); outline-offset:1px; }
.saved-source-picker__record strong,.saved-source-picker__record span { display:block; overflow-wrap:anywhere; }
.saved-source-picker__record strong { font:700 .78rem/1.3 Inter,Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.saved-source-picker__record span { margin-top:.2rem; color:var(--text-muted, #6b7280); font-size:.7rem; }
.saved-source-picker__preview { box-sizing:border-box; display:grid; width:100%; max-width:100%; align-content:start; gap:.75rem; min-width:0; overflow:hidden; padding:.8rem; border:1px solid var(--border-soft, #e4e4e7); border-radius:.25rem; background:var(--surface-muted, #f5f5f5); }
.saved-source-picker__preview-head { display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem; }
.saved-source-picker__preview-head strong { display:block; margin-top:.12rem; overflow-wrap:anywhere; font:800 .82rem/1.3 Inter,Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.saved-source-picker__record strong,
.saved-source-picker__preview-head [data-saved-source-identity] { display:flex; align-items:baseline; gap:.35rem; min-width:0; }
.saved-source-picker__record .saved-source-picker__identity-name,
.saved-source-picker__preview-head .saved-source-picker__identity-name { flex:1 1 auto; min-width:0; margin:0; overflow:hidden; color:var(--text-main, #111); text-overflow:ellipsis; white-space:nowrap; }
.saved-source-picker__identity-name.is-code-only { font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; }
.saved-source-picker__record .saved-source-picker__identity-code,
.saved-source-picker__preview-head .saved-source-picker__identity-code { flex:0 0 auto; margin:0; overflow:hidden; color:var(--text-muted, #6b7280); font:600 .68rem/1.3 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; text-overflow:ellipsis; white-space:nowrap; }
.saved-source-picker__eyebrow { color:var(--text-muted, #6b7280); font-size:.67rem; font-weight:750; }
.saved-source-picker__preview img { width:100%; max-height:15rem; border-radius:.25rem; background:#fff; object-fit:contain; }
.saved-source-picker__preview dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; margin:0; }
.saved-source-picker__preview dl div { min-width:0; padding:.5rem; border:1px solid #ededee; border-radius:.25rem; background:#fff; }
.saved-source-picker__preview dt { color:var(--text-muted, #6b7280); font-size:.68rem; font-weight:700; }
.saved-source-picker__preview dd { margin:.16rem 0 0; overflow-wrap:anywhere; color:var(--text-main, #111); font-size:.75rem; }
.saved-source-picker__replacement { padding:.7rem; border:1px solid #f59e0b; border-radius:.25rem; background:#fffbeb; color:#78350f; }
.saved-source-picker__replacement > strong { font-size:.78rem; }
.saved-source-picker__replacement p { margin:.25rem 0 .55rem; font-size:.72rem; line-height:1.55; }
.saved-source-picker__replacement label { display:flex; align-items:flex-start; gap:.5rem; font-size:.72rem; line-height:1.45; cursor:pointer; }
.saved-source-picker__replacement input { width:1rem; height:1rem; flex:0 0 auto; margin-top:.08rem; accent-color:#18181b; }
.saved-source-picker__status { min-height:1.25rem; margin:.75rem 0 0; color:var(--text-muted, #6b7280); font-size:.75rem; }
.saved-source-picker__status[data-state="error"] { color:#b91c1c; }
.saved-source-picker__status[data-state="success"] { color:#047857; }
@container (max-width: 42rem) {
  .saved-source-picker__head,.saved-source-picker__preview-head { align-items:flex-start; flex-direction:column; }
  .saved-source-picker__workspace,.saved-source-picker__preview dl,.saved-source-picker__search { grid-template-columns:minmax(0,1fr); }
  .saved-source-picker.is-previewing .saved-source-picker__search,.saved-source-picker.is-previewing .saved-source-picker__list-column { display:none; }
  .saved-source-picker:not(.is-previewing) .saved-source-picker__preview { display:none; }
  .saved-source-picker__preview,.saved-source-picker__body { width:100%; min-width:0; }
  .saved-source-picker .btn { width:100%; white-space:normal; }
  .saved-source-picker__head-actions { width:100%; flex-direction:column-reverse; }
}
@media (max-width: 720px) {
  .saved-source-picker__head,.saved-source-picker__preview-head { align-items:flex-start; flex-direction:column; }
  .saved-source-picker__workspace,.saved-source-picker__preview dl,.saved-source-picker__search { grid-template-columns:minmax(0,1fr); }
  .saved-source-picker.is-previewing .saved-source-picker__search,.saved-source-picker.is-previewing .saved-source-picker__list-column { display:none; }
  .saved-source-picker:not(.is-previewing) .saved-source-picker__preview { display:none; }
  .saved-source-picker__preview,.saved-source-picker__body { width:100%; min-width:0; }
  .saved-source-picker .btn { width:100%; white-space:normal; }
  .saved-source-picker__head-actions { width:100%; flex-direction:column-reverse; }
}
@media (max-width: 390px) {
  .saved-source-picker__head,.saved-source-picker__body { padding-left:.75rem; padding-right:.75rem; }
}

.module-quick-viewer {
  position: fixed;
  inset: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) auto;
  width: min(46rem, calc(100vw - 2rem));
  max-width: none;
  height: min(56rem, calc(100dvh - 2rem));
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d4d4d8;
  border-radius: 0.75rem;
  background: #fff;
  color: #18181b;
  box-shadow: 0 24px 72px rgba(9, 9, 11, 0.28);
}

.module-quick-viewer[open] { display: block; }
.module-quick-viewer::backdrop { background: rgba(9, 9, 11, 0.58); }
.module-quick-viewer button { font-family: inherit; }

.module-quick-viewer__dock {
  display: grid;
  grid-template-rows: auto minmax(0, auto) auto auto;
  width: 100%;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  background: #fff;
}

.module-quick-viewer__header,
.module-quick-viewer__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-color: #e4e4e7;
  background: #fff;
}

.module-quick-viewer__header { align-items: flex-start; border-bottom: 1px solid #e4e4e7; }
.module-quick-viewer__footer { border-top: 1px solid #e4e4e7; }
.module-quick-viewer__identity { min-width: 0; }
.module-quick-viewer__eyebrow {
  display: block;
  margin-bottom: 0.22rem;
  color: #71717a;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.module-quick-viewer__title {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 0.55rem;
  margin: 0;
  color: #18181b;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.module-quick-viewer__title > :last-child { min-width: 0; overflow-wrap: anywhere; }
.module-quick-viewer__id {
  flex: 0 0 auto;
  color: #52525b;
  font: 700 0.76rem/1.2 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.module-quick-viewer__color {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0.3rem 0 0;
  color: #52525b;
  font-size: 0.78rem;
  font-weight: 650;
}

.module-quick-viewer__close {
  min-width: 2.75rem;
  min-height: 2.75rem;
  flex: 0 0 auto;
  border: 1px solid #d4d4d8;
  border-radius: 0.375rem;
  background: #fff;
  color: #27272a;
  font-size: 0.8rem;
  font-weight: 700;
}

.module-quick-viewer__close:hover { background: #f4f4f5; border-color: #a1a1aa; }
.module-quick-viewer button:focus-visible,
.module-quick-viewer iframe:focus-visible {
  outline: 3px solid rgba(24, 24, 27, 0.28);
  outline-offset: 2px;
}

.module-quick-viewer__stage {
  position: relative;
  isolation: isolate;
  width: 100%;
  aspect-ratio: 3 / 2;
  min-height: 0;
  overflow: hidden;
  background-color: #f4f4f5;
  background-image:
    linear-gradient(45deg, rgba(161, 161, 170, 0.09) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(161, 161, 170, 0.09) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(161, 161, 170, 0.09) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(161, 161, 170, 0.09) 75%);
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
  background-size: 16px 16px;
}

.module-quick-viewer__poster,
.module-quick-viewer__frame {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #f8f8f7;
}

.module-quick-viewer__poster { z-index: 1; object-fit: contain; }
.module-quick-viewer__frame { z-index: 2; }
.module-quick-viewer[data-module-quick-viewer-current-state="loading"] .module-quick-viewer__frame {
  opacity: 0;
  pointer-events: none;
}
.module-quick-viewer__poster[hidden],
.module-quick-viewer__frame[hidden],
.module-quick-viewer__state[hidden],
.module-quick-viewer__retry[hidden] { display: none !important; }

.module-quick-viewer__state {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.5rem;
  text-align: center;
  color: #3f3f46;
  font-size: 0.78rem;
  line-height: 1.45;
}

.module-quick-viewer__state strong { color: #18181b; font-size: 0.9rem; }
.module-quick-viewer__state--loading { background: rgba(250, 250, 250, 0.62); }
.module-quick-viewer__state--ready {
  inset: auto auto 0.65rem 0.65rem;
  width: auto;
  height: auto;
  min-height: 2.25rem;
  padding: 0.4rem 0.62rem;
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 999px;
  background: rgba(24, 24, 27, 0.78);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 750;
  pointer-events: none;
}

.module-quick-viewer__state--error,
.module-quick-viewer__state--static {
  inset: 50% auto auto 50%;
  width: min(25rem, calc(100% - 2rem));
  min-height: 8rem;
  transform: translate(-50%, -50%);
  border: 1px solid #e4e4e7;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 30px rgba(24, 24, 27, 0.08);
}

.module-quick-viewer__state--error strong { color: #9f1239; }
.module-quick-viewer__spinner {
  width: 1.35rem;
  height: 1.35rem;
  margin-bottom: 0.15rem;
  border: 2px solid #d4d4d8;
  border-top-color: #27272a;
  border-radius: 999px;
  animation: module-quick-viewer-spin 0.75s linear infinite;
}

.module-quick-viewer__colors { min-width: 0; padding: 0.8rem 1rem 0.9rem; background: #fafafa; }
.module-quick-viewer__section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}
.module-quick-viewer__section-head h3 { margin: 0; color: #27272a; font-size: 0.78rem; font-weight: 800; }
.module-quick-viewer__section-head span { color: #71717a; font-size: 0.7rem; }
.module-quick-viewer__color-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.4rem;
  width: 100%;
  max-width: 100%;
  padding: 0.12rem 0 0.35rem;
}

.module-quick-viewer__swatch-button {
  min-width: 0;
  min-height: 3.2rem;
  padding: 0.35rem 0.42rem;
  border: 1px solid #d4d4d8;
  border-radius: 0.375rem;
  background: #fff;
  color: #52525b;
  text-align: left;
}
.module-quick-viewer__swatch-button:hover { border-color: #71717a; }
.module-quick-viewer__swatch-button[aria-pressed="true"] {
  border-color: #18181b;
  box-shadow: inset 0 0 0 1px #18181b;
  color: #18181b;
}
.module-quick-viewer__swatch-button:disabled { cursor: not-allowed; opacity: 0.42; }
.module-quick-viewer__swatch {
  display: block;
  width: 100%;
  height: 0.72rem;
  margin-bottom: 0.3rem;
  border: 1px solid rgba(24, 24, 27, 0.2);
  border-radius: 999px;
}
.module-quick-viewer__swatch-label {
  display: block;
  font-size: 0.67rem;
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: break-word;
  word-break: keep-all;
}

.module-quick-viewer__status {
  min-width: 0;
  margin: 0;
  color: #52525b;
  font-size: 0.74rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.module-quick-viewer__actions { display: flex; flex: 0 0 auto; gap: 0.5rem; }
.module-quick-viewer__actions .btn { min-height: 2.75rem; }

html.module-quick-viewer-open,
body.module-quick-viewer-open { overflow: hidden !important; }

@keyframes module-quick-viewer-spin { to { transform: rotate(360deg); } }

@media (max-width: 640px) {
  .module-quick-viewer {
    inset: 0;
    width: 100vw;
    height: 100dvh;
    border: 0;
    border-radius: 0;
  }
  .module-quick-viewer__dock {
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .module-quick-viewer__header {
    position: sticky;
    z-index: 5;
    top: 0;
    padding-top: max(0.75rem, env(safe-area-inset-top));
  }
  .module-quick-viewer__stage { min-height: min(66.666vw, 18.5rem); }
  .module-quick-viewer__colors { align-self: start; }
  .module-quick-viewer__color-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .module-quick-viewer__section-head { align-items: flex-start; flex-direction: column; gap: 0.15rem; }
  .module-quick-viewer__footer {
    position: sticky;
    z-index: 5;
    bottom: 0;
    align-items: stretch;
    flex-direction: column;
    padding-bottom: max(0.8rem, env(safe-area-inset-bottom));
  }
  .module-quick-viewer__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .module-quick-viewer__actions > :only-child { grid-column: 1 / -1; }
  .module-quick-viewer__retry[hidden] + .btn { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .module-quick-viewer__spinner { animation: none; border-top-color: #d4d4d8; }
}

.render-export-save {
  width: min(34rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 3rem);
  box-sizing: border-box;
  overflow: auto;
  padding: 1rem;
  border: 1px solid #d4d4d8;
  border-radius: .75rem;
  color: #27272a;
  background: #fff;
}
.render-export-save::backdrop { background: rgb(0 0 0 / .4); }
.render-export-save header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .75rem; }
.render-export-save .btn { font: inherit; font-size: .82rem; line-height: 1.3; padding: .45rem .65rem; border: 1px solid #d4d4d8; border-radius: .4rem; box-shadow: none; }
.render-export-save .btn-primary { color: #fff; background: #185f4b; border-color: #185f4b; }
.render-export-save .btn-secondary { color: #27272a; background: #fff; }
.render-export-save-files { display: grid; gap: .75rem; margin-top: .75rem; }
.render-export-save-files a { display: grid; gap: .4rem; color: #185f4b; font-size: .85rem; text-align: center; }
.render-export-save-files img { display: block; width: 100%; height: auto; border: 1px solid #e4e4e7; border-radius: .4rem; }
.render-export-save [role="status"] { font-size: .8rem; margin-top: .5rem; }
.render-export-save img { -webkit-touch-callout: default; user-select: auto; }
.render-export-save p { font-size: .82rem; line-height: 1.5; }

.configured-module-workbench,
.order-configured-model {
  overflow: hidden;
}

[data-assembly-visual-open][hidden] { display: none !important; }

.configured-media-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 1rem 0.7rem;
}

.configured-media-heading h3 {
  margin: 0;
  color: #18181b;
  font-size: 1.16rem;
  font-weight: 850;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.configured-media-subline {
  margin-top: 0.2rem;
  color: #71717a;
  font-size: 0.78rem;
  font-weight: 650;
}

.configured-media-stage {
  position: relative;
  width: 100%;
  min-height: clamp(20rem, 48vw, 38rem);
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-top: 1px solid #a1a1aa;
  border-bottom: 1px solid #a1a1aa;
  background: #fff;
}

.order-configured-model .configured-media-stage {
  min-height: clamp(18rem, 40vw, 34rem);
}

.configured-media-frame,
.configured-media-image {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
  object-fit: contain;
}

.configured-media-state {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: #fff;
  color: #52525b;
  text-align: center;
  font-size: 0.82rem;
}

.configured-media-state[hidden],
.configured-media-frame[hidden],
.configured-media-image[hidden] { display: none; }

.configured-media-offscreen-capture {
  position: fixed;
  left: -10000px;
  top: 0;
  width: 900px;
  height: 900px;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
}

.configured-media-offscreen-capture .configured-media-stage {
  width: 900px;
  height: 900px;
  min-height: 900px;
  aspect-ratio: 1;
}

.configured-media-retry {
  margin-top: 0.75rem;
}

.configured-module-colors {
  padding: 0.75rem 1rem 0.9rem;
  border-bottom: 1px solid #e4e4e7;
}

.configured-viewer-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.7rem 1rem;
  border-bottom: 1px solid #e4e4e7;
  background: #fff;
}

.configured-module-colors > .configured-viewer-controls {
  margin: -0.05rem 0 0.7rem;
  padding: 0 0 0.7rem;
}

.configured-viewer-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-decoration: none;
  text-align: center;
  flex: 0 1 auto;
  min-height: 2.25rem;
  padding: 0.38rem 0.65rem;
  border: 1px solid #d4d4d8;
  border-radius: 0.25rem;
  background: #fff;
  color: #3f3f46;
  font-size: 0.73rem;
  font-weight: 750;
  line-height: 1.2;
  touch-action: manipulation;
}

.configured-viewer-control:hover:not(:disabled) { border-color: #71717a; background: #fafafa; }
.configured-viewer-control[aria-pressed="true"],
.configured-viewer-control[aria-pressed="true"]:hover:not(:disabled) {
  border-color: #18181b;
  background: #18181b;
  color: #fff;
}
.configured-viewer-control:disabled { cursor: default; opacity: 0.45; }

.configured-module-color-title {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  color: #71717a;
}

.configured-module-color-title strong {
  color: #27272a;
  font-size: 0.82rem;
}

.configured-module-color-list {
  display: flex;
  gap: 0.38rem;
  overflow-x: auto;
  padding: 0.12rem 0 0.3rem;
  scrollbar-width: thin;
}

.configured-module-color {
  flex: 0 0 auto;
  display: inline-flex;
  min-height: 2.35rem;
  align-items: center;
  gap: 0.42rem;
  padding: 0.42rem 0.65rem;
  border: 1px solid #d4d4d8;
  border-radius: 0.25rem;
  background: #fff;
  color: #3f3f46;
  font-size: 0.74rem;
  font-weight: 700;
  white-space: nowrap;
}

.configured-module-color:hover { border-color: #71717a; }
.configured-module-color[aria-pressed="true"] { border: 2px solid #18181b; padding: calc(0.42rem - 1px) calc(0.65rem - 1px); }
.configured-module-color-swatch { width: 0.78rem; height: 0.78rem; flex: none; border: 1px solid rgba(0,0,0,.2); border-radius: 999px; }

.module-bom-region {
  box-sizing: border-box;
  width: 100%;
  max-height: none;
  overflow: visible;
}

body.operations-ui:has([data-module-master]) { min-width: 0; }

.module-bom-table {
  width: 100%;
  table-layout: fixed;
}

.module-bom-table,
.module-bom-table * { box-sizing: border-box; }

.module-bom-table :is(.th, .td) {
  min-width: 0;
  padding: 0.48rem 0.34rem;
  overflow-wrap: anywhere;
  word-break: normal;
  vertical-align: middle;
}

.module-bom-table .th {
  font-size: 0.66rem;
  line-height: 1.25;
  letter-spacing: 0;
}

.module-bom-table .td { font-size: 0.76rem; line-height: 1.35; }
.module-bom-table [data-label="작업"] button { color: #475569; }
.module-bom-table [data-label="작업"] button:hover { color: #b91c1c; }
.module-bom-table .bom-field-quantity > :last-child { color: #64748b; }
.module-detail #moduleNameDisplay { font-size: 18px; font-weight: 650; line-height: 1.4; }
.module-bom-card h3 { font-size: 20px; font-weight: 700; line-height: 1.3; }
.module-bom-table .td[data-label="부품명"] { font-size: 14px; font-weight: 400; line-height: 1.5; word-break: keep-all; overflow-wrap: anywhere; }
.module-bom-table :is(th, td):nth-child(1) { width: 16%; }
.module-bom-table :is(th, td):nth-child(2) { width: 8%; }
.module-bom-table :is(th, td):nth-child(3) { width: 12%; }
.module-bom-table :is(th, td):nth-child(4) { width: 9%; }
.module-bom-table :is(th, td):nth-child(5) { width: 12%; }
.module-bom-table :is(th, td):nth-child(6) { width: 14%; }
.module-bom-table :is(th, td):nth-child(7) { width: 8%; }
.module-bom-table :is(th, td):nth-child(8) { width: 9%; }
.module-bom-table :is(th, td):nth-child(9) { width: 9%; }
.module-bom-table :is(th, td):nth-child(10) { width: 3%; }

.module-bom-table .badge {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
}

.assembly-visual-button {
  display: inline-flex;
  min-height: 1.9rem;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.25rem 0.52rem;
  border: 1px solid #a1a1aa;
  border-radius: 0.25rem;
  background: #fff;
  color: #27272a;
  font-size: 0.7rem;
  font-weight: 800;
}

.assembly-visual-button:hover { border-color: #27272a; background: #fafafa; }

.assembly-visual-dialog {
  width: min(46rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid #27272a;
  border-radius: 0.35rem;
  background: #fff;
  color: #18181b;
  box-shadow: 0 20px 55px rgba(0,0,0,.22);
}

.assembly-visual-dialog::backdrop { background: rgba(24,24,27,.38); }
.assembly-visual-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 0.85rem 0.9rem; border-bottom: 1px solid #e4e4e7; }
.assembly-visual-dialog-title { margin: 0; font-size: 1rem; font-weight: 800; }
.assembly-visual-dialog-subtitle { margin-top: 0.2rem; color: #71717a; font-size: 0.76rem; }
.assembly-visual-dialog-close { min-width: 3rem; min-height: 2.4rem; border: 1px solid #d4d4d8; border-radius: 0.25rem; background: #fff; font-size: 0.76rem; font-weight: 800; }
.assembly-visual-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; padding: 0.65rem 0.9rem 0; }
.assembly-visual-tabs { display: flex; gap: 0.25rem; padding: 0; }
.assembly-visual-tab { min-width: 3.5rem; min-height: 2.35rem; border: 1px solid #a1a1aa; border-radius: 0.25rem; background: #fff; font-size: 0.78rem; font-weight: 800; }
.assembly-visual-tab[aria-selected="true"] { background: #18181b; color: #fff; border-color: #18181b; }
.assembly-visual-pair-download { min-height: 2.35rem; padding: 0.34rem 0.65rem; border: 1px solid #a1a1aa; border-radius: 0.25rem; background: #fff; color: #27272a; font-size: 0.72rem; font-weight: 750; white-space: nowrap; }
.assembly-visual-pair-download:hover:not(:disabled) { border-color: #27272a; background: #fafafa; }
.assembly-visual-pair-download:disabled { opacity: 0.55; }
.assembly-visual-picker { display: flex; gap: 0.3rem; overflow-x: auto; padding: 0.55rem 0.9rem 0; }
.assembly-visual-pick { flex: 0 0 auto; min-height: 2.25rem; max-width: 13rem; overflow: hidden; padding: 0.35rem 0.6rem; border: 1px solid #d4d4d8; border-radius: 0.25rem; background: #fff; text-overflow: ellipsis; white-space: nowrap; font-size: 0.72rem; font-weight: 700; }
.assembly-visual-pick[aria-pressed="true"] { border-color: #18181b; background: #f4f4f5; }
.assembly-visual-dialog-body { padding: 0.7rem 0.9rem 0.9rem; }
.assembly-visual-dialog .configured-media-stage { min-height: min(22rem, 56dvh); aspect-ratio: 3 / 2; border: 1px solid #a1a1aa; }
.purchase-module-visual-dialog [data-purchase-module-visual-subtitle] { margin-top: 0.2rem; color: #71717a; font-size: 0.76rem; }
.purchase-module-visual-dialog [data-purchase-module-visual-stage] { padding: 0.7rem 0.9rem 0.9rem; }
.purchase-module-visual-dialog [data-purchase-module-visual-stage] .configured-media-stage { min-height: min(22rem, 56dvh); aspect-ratio: 3 / 2; border: 1px solid #a1a1aa; }

@media (max-width: 767px) {
  .module-master > summary { min-height: 2.75rem; }
  .module-master[open] .module-master-content { max-height: min(52dvh, 28rem); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
  .configured-media-heading { padding-inline: 0.85rem; }
  .configured-media-stage,
  .order-configured-model .configured-media-stage { min-height: 17.5rem; aspect-ratio: 4 / 3; }
  .configured-module-colors { padding-inline: 0.85rem; }
  .configured-viewer-controls {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.25rem;
    padding: 0.38rem 0.45rem;
    overflow: hidden;
  }
  .configured-module-colors > .configured-viewer-controls { padding-inline: 0; }
  .configured-viewer-control,
  .operations-ui .configured-viewer-controls > .configured-viewer-control {
    width: 100%;
    min-width: 0 !important;
    height: 2rem;
    min-height: 2rem !important;
    padding: 0.2rem 0.08rem;
    font-size: 0.65625rem;
    font-weight: 650;
    letter-spacing: -0.025em;
    line-height: 1.2;
    white-space: nowrap;
    word-break: keep-all;
  }
  .configured-module-color { min-height: 2.75rem; }
  .assembly-visual-button { min-height: 2.75rem; }
  .assembly-visual-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
  .assembly-visual-tab,
  .assembly-visual-pair-download { min-height: 2.75rem; }
  .assembly-visual-dialog-head { gap: 0.5rem; padding-block: 0.65rem; }
  .assembly-visual-dialog-head > :first-child { min-width: 0; }
  .assembly-visual-dialog .assembly-visual-dialog-close {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 3rem !important;
    min-height: 2rem !important;
    height: 2rem;
    padding: 0.25rem 0.6rem;
    font-size: 0.75rem;
  }
  .assembly-visual-dialog .configured-media-stage { min-height: min(20rem, 56dvh); aspect-ratio: 4 / 3; }
  .purchase-module-visual-dialog [data-purchase-module-visual-stage] .configured-media-stage { min-height: min(20rem, 56dvh); aspect-ratio: 4 / 3; }
}

@media (max-width: 359px) {
  .configured-viewer-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1199px) {
  .module-bom-card { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .module-bom-card > :first-child { border: 1px solid #e4e4e7; border-radius: 0.35rem; background: #fff; }
  .module-bom-region { margin-top: 0.6rem; }
  .module-bom-table,
  .module-bom-table tbody,
  .module-bom-table tfoot,
  .module-bom-table tr,
  .module-bom-table td { display: block; width: 100%; }
  .module-bom-table :is(th, td):nth-child(n) { width: 100%; }
  .module-bom-table thead { display: none; }
  .module-bom-table tbody tr {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 0.6rem;
    overflow: hidden;
    border: 1px solid #e4e4e7;
    border-radius: 0.35rem;
    background: #fff;
  }
  .module-bom-table tbody .td[data-label] {
    display: grid;
    grid-column: span 2;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 0.15rem;
    min-height: 2.4rem;
    padding: 0.3rem 0.55rem;
    border-bottom: 1px solid #f1f5f9;
    text-align: left;
  }
  .module-bom-table tbody .td[data-label]::before,
  .module-bom-table tfoot .td[data-label]::before {
    content: attr(data-label);
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
  }
  .module-bom-table tbody .td[data-label] > :is(.flex, [data-field-bom-id]) { justify-content: flex-end; }
  .module-bom-table tbody .td[data-label="부품명"] {
    grid-column: 1 / -1;
    display: block;
    text-align: left;
    font-size: 14px;
    line-height: 1.5;
    word-break: keep-all;
    overflow-wrap: anywhere;
    padding-right: 3.5rem;
  }
  .module-bom-table tbody .td[data-label="부품명"]::before {
    display: block;
    margin-bottom: 0.25rem;
  }
  .module-bom-table .bom-field-quantity { display: flex; align-items: center; justify-content: flex-end; gap: 0.25rem; min-width: 0; grid-column: 2; }
  .module-bom-table .bom-field-quantity > :last-child { margin-top: 0; white-space: nowrap; }
  .module-bom-table tbody :is(.td[data-label="수량"], .td[data-label="현장부품 수량"]) {
    grid-column: 1 / -1;
    grid-template-columns: minmax(5rem, 1fr) minmax(160px, 1fr);
    text-align: right;
  }
  .module-bom-table tbody .td[data-label="작업"] { position: absolute; top: 4px; right: 4px; display: flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; padding: 0; border: 0; }
  .module-bom-table tbody .td[data-label="작업"]::before { display: none; }
  .module-bom-table tbody .td[data-label="작업"] button { min-width: 44px; min-height: 44px; }
  .module-bom-table .bom-field-quantity > .flex { justify-content: flex-end; flex-wrap: nowrap; }
  .module-bom-table :is([data-label="수량"], [data-label="현장부품 수량"], [data-label*="배송"], [data-label="단가(EUR)"]) {
    font-variant-numeric: tabular-nums;
  }
  .module-bom-table tbody tr > .td:last-child { border-bottom: 0; }
  .module-bom-table #bom-empty-row .td { display: block; padding: 1.5rem; text-align: center; }
  .module-bom-table tfoot {
    margin-top: 0.7rem;
    overflow: hidden;
    border: 1px solid #d4d4d8;
    border-radius: 0.35rem;
    background: #f8fafc;
  }
  .module-bom-table tfoot tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .module-bom-table tfoot .td { padding: 0.55rem 0.65rem; text-align: right; }
  .module-bom-table tfoot .td[data-summary-heading] { grid-column: 1 / -1; text-align: left; }
  .module-bom-table tfoot .td[data-label] { display: grid; gap: 0.22rem; }
  .module-bom-table tfoot td:empty { display: none; }
}

/* Compact ledger: identity, metadata, two quantities, prices. User-requested
   28px controls replace the former full-width 44px quantity rows. */
@media (max-width: 1199px) {
  .module-bom-card h3 { font-size: 15px; }
  .module-bom-card > :first-child { padding: 10px 8px; }
  .module-bom-region { margin-top: 4px; }
  .module-bom-table tbody tr { margin-bottom: 4px; border-radius: 3px; }
  .module-bom-table tbody .td[data-label] {
    min-height: 0; padding: 3px 6px; gap: 3px;
    font-size: 12px; line-height: 1.3;
  }
  .module-bom-table tbody .td[data-label]::before { font-size: 11px; font-weight: 500; }
  .module-bom-table tbody .td[data-label="부품명"] {
    padding: 5px 34px 5px 6px; font-size: 13px; font-weight: 600; line-height: 1.4;
  }
  .module-bom-table tbody .td[data-label="부품명"]::before { display: none; }
  .module-bom-table tbody :is(.td[data-label="구분"], .td[data-label="품번"], .td[data-label="카테고리"])::before { display: none; }
  .module-bom-table tbody .td[data-label="카테고리"] { word-break: keep-all; overflow-wrap: anywhere; }
  .module-bom-table .badge { padding: 0; border-radius: 0; background: transparent; font-size: 11px; }
  .module-bom-table tbody :is(.td[data-label="수량"], .td[data-label="현장부품 수량"]) {
    grid-column: span 3; grid-template-columns: auto minmax(0, 1fr); gap: 3px;
  }
  .module-bom-table tbody .td[data-label="현장부품 수량"]::before { content: "현장"; }
  .module-bom-table tbody .td[data-label="현장부품 수량"] { padding-left: 14px; border-left: 1px solid #e2e8f0; }
  .module-bom-table tbody .td[data-label="단가(EUR)"]::before { content: "단가 €"; }
  .module-bom-table tbody .td[data-label="일반배송(KRW)"]::before { content: "일반 ₩"; }
  .module-bom-table tbody .td[data-label="빠른배송(KRW)"]::before { content: "빠른 ₩"; }
  .module-bom-table tbody :is(.td[data-label="단가(EUR)"], .td[data-label*="배송(KRW)"]) { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px; }
  .operations-ui #bomTable tbody :is(button, input) {
    min-width: 28px !important; width: 28px; min-height: 28px !important; height: 28px !important; max-height: 28px !important;
    padding: 0 !important; font-size: 12px; line-height: 1; border-radius: 3px;
  }
  .operations-ui #bomTable tbody :is(input, [id^="bom-qty-"]) {
    width: 32px; font-size: 16px; font-weight: 600; color: #1e293b; text-align: center;
    border: 1px solid #cbd5e1; border-radius: 3px; background: #fff;
  }
  .module-bom-table .bom-field-quantity { gap: 2px; }
  .module-bom-table .bom-field-quantity > :last-child { display: none; }
  .module-bom-table tbody .td[data-label] > .flex,
  .module-bom-table .bom-field-quantity > .flex { gap: 2px; }
  .module-bom-table tbody .td[data-label="작업"] { top: 1px; right: 2px; width: 28px; min-height: 28px; padding: 0; }
}

.photo-gesture-surface {
  position: relative;
  overflow: hidden;
  touch-action: none;
  overscroll-behavior: contain;
  user-select: none;
  -webkit-user-select: none;
}
.photo-gesture-surface .photo-gesture-image {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  max-height: none;
  max-width: none;
  object-fit: contain;
  transform-origin: center;
  -webkit-user-drag: none;
}
.photo-gesture-image[hidden] { display: none; }
.configured-media-stage.photo-gesture-surface .photo-gesture-image { position: absolute; right: auto; bottom: auto; }
.photo-viewer-toolbar {
  position: absolute;
  z-index: 4;
  bottom: max(8px, env(safe-area-inset-bottom));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 2px;
  padding: 4px;
  border: 1px solid #64748b;
  border-radius: 8px;
  background: #0f172a;
  color: #fff;
  max-width: calc(100% - 16px);
}
.photo-viewer-toolbar button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 2px;
  min-width: 48px;
  min-height: 44px;
  padding: 4px 8px;
  border: 0;
  border-radius: 4px;
  color: inherit;
  background: transparent;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
  cursor: pointer;
}
.photo-viewer-toolbar button svg { width: 18px; height: 18px; }
.photo-viewer-toolbar button:hover:not(:disabled) { background: #334155; }
.photo-viewer-toolbar button:focus-visible { outline: 2px solid white; outline-offset: 1px; }
.photo-viewer-toolbar button:disabled { opacity: .45; cursor: default; }
#orderMediaPhotoSurface { height: min(74vh, 780px); height: min(74dvh, 780px); }
#orderMediaLightbox button { z-index: 3; }

/* User-directed semantic emphasis for the shared operational controls. */
.operations-ui { --ops-accent: #1d4ed8; --ops-accent-soft: #eff6ff; }
.operations-ui .btn-primary { background: #1d4ed8; border-color: #1d4ed8; color: #fff; }
.operations-ui .btn-primary:hover:not(:disabled) { background: #1e40af; border-color: #1e40af; }
.operations-ui :focus-visible { outline-color: #1d4ed8; }
.operations-ui :is(.filter-grid, .ops-filter-grid, [data-supply-requests-root], [data-expenses-root]) :is(.input, .form-input, .form-select, select, input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"])) { border-color: #64748b; }
.operations-ui .estimate-config-zone > :first-child { color: #1d4ed8; }
.operations-ui .estimate-parts-table thead { background: #eff6ff; color: #1d4ed8; }
.operations-ui .estimate-parts-table th { background: #eff6ff; color: #1d4ed8; }
.operations-ui .estimate-part-actions :is([data-estimate-color-trigger], [data-estimate-split-trigger]) { color: #1d4ed8; }
.operations-ui .page-actions > .bl-delete-action { flex: 0 0 auto; width: auto; align-self: flex-start; background: #fff; border: 1px solid #b91c1c; color: #b91c1c; }
.operations-ui .page-actions > .bl-delete-action:hover { background: #fef2f2; }
.operations-ui .ops-connection-slot { box-sizing: border-box; flex: 0 0 104px; min-height: 28px; margin-left: auto; padding-left: 12px; }
.operations-ui .ops-connection-slot .ops-connection-status { font-size: 12px; white-space: nowrap; }
.operations-ui [data-estimate-detail-root] .text-slate-400 { color: #64748b; }
.operations-ui [data-estimate-detail-root] .page-subtitle { color: #475569; }
.operations-ui [data-part-detail-root] .text-yellow-500 { color: #a16207; }

/* One field anatomy across list filters and task forms. Canvas controls are separate. */
.operations-ui :is(.input, .form-input, .form-select) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  min-height: 40px;
  border: 1px solid #64748b;
  padding: 0.55rem 0.8rem;
  background-color: #fff;
  color: #111827;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.operations-ui :is(.input, .form-input, .form-select):focus-visible {
  outline: 2px solid #1d4ed8;
  outline-offset: 2px;
}
.operations-ui .btn { font-weight: 600; }
.operations-ui .btn.btn-sm { min-height: 32px; padding: 0.3rem 0.65rem; }
.operations-ui .btn-success { background: #15803d; border-color: #15803d; color: #fff; }
.operations-ui .btn-success:hover:not(:disabled) { background: #166534; border-color: #166534; }
.operations-ui .page-title { font-size: 26px; line-height: 1.25; font-weight: 700; }
.operations-ui main :is(.text-slate-400, .text-gray-400, .text-zinc-400) { color: #64748b; }
.operations-ui main :is(.text-slate-500, .text-gray-500, .text-zinc-500) { color: #526174; }
.operations-ui .sidebar-meta { color: #bbc5d1; }
.operations-ui #sidebar :is(.text-zinc-500, .text-slate-500, .sidebar-section-label) { color: #b4becb; }
.operations-ui.delivery-schedule-compact .delivery-unscheduled-summary { color: #64748b; }
.operations-ui.delivery-schedule-compact main .text-gray-300 { color: #64748b; }
.operations-ui.delivery-schedule-compact main .text-sky-500 { color: #0369a1; }
.operations-ui #newModal { padding: 16px; overflow-y: auto; }
.operations-ui #newModal > div { max-height: calc(100dvh - 32px); overflow-y: auto; }
.operations-ui #newEstimateHeading { font-size: 20px; line-height: 1.4; }
.operations-ui .estimate-price-pair { display: flex; justify-content: space-between; align-items: baseline; gap: 0.6rem; }
.operations-ui .estimate-price-pair > div { white-space: nowrap; }
.operations-ui [data-estimates-root] tbody a { text-decoration: underline; text-underline-offset: 3px; }
.operations-ui [data-estimates-root] .text-amber-600 { color: #92400e; }
.operations-ui [data-estimates-root] .text-red-600 { color: #b91c1c; }
@media (max-width: 767px) {
  .operations-ui .page-title { font-size: 24px; }
  .operations-ui .btn.btn-sm { min-height: 44px; }
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

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

/*
Remove the default font size and weight for headings.
*/

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

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

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

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

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

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

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

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

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

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.\!container {
  width: 100% !important;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: -webkit-sticky;
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.left-0 {
  left: 0px;
}
.left-4 {
  left: 1rem;
}
.right-0 {
  right: 0px;
}
.right-0\.5 {
  right: 0.125rem;
}
.right-1 {
  right: 0.25rem;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.top-0 {
  top: 0px;
}
.top-0\.5 {
  top: 0.125rem;
}
.top-1 {
  top: 0.25rem;
}
.top-1\/2 {
  top: 50%;
}
.top-2 {
  top: 0.5rem;
}
.top-4 {
  top: 1rem;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[70\] {
  z-index: 70;
}
.z-\[90\] {
  z-index: 90;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-3 {
  grid-column: span 3 / span 3;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-3 {
  margin-left: 0.75rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.\!table {
  display: table !important;
}
.table {
  display: table;
}
.\!grid {
  display: grid !important;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.\!hidden {
  display: none !important;
}
.hidden {
  display: none;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.h-10 {
  height: 2.5rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-\[2\.35rem\] {
  height: 2.35rem;
}
.h-fit {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.h-full {
  height: 100%;
}
.h-screen {
  height: 100vh;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-52 {
  max-height: 13rem;
}
.max-h-56 {
  max-height: 14rem;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-72 {
  max-height: 18rem;
}
.max-h-80 {
  max-height: 20rem;
}
.max-h-\[34vh\] {
  max-height: 34vh;
}
.max-h-\[360px\] {
  max-height: 360px;
}
.max-h-\[480px\] {
  max-height: 480px;
}
.max-h-\[520px\] {
  max-height: 520px;
}
.max-h-\[78vh\] {
  max-height: 78vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-full {
  max-height: 100%;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-11 {
  min-height: 2.75rem;
}
.min-h-9 {
  min-height: 2.25rem;
}
.min-h-\[1\.45rem\] {
  min-height: 1.45rem;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[1rem\] {
  min-height: 1rem;
}
.min-h-\[48px\] {
  min-height: 48px;
}
.min-h-\[90px\] {
  min-height: 90px;
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.\!w-11 {
  width: 2.75rem !important;
}
.\!w-14 {
  width: 3.5rem !important;
}
.w-10 {
  width: 2.5rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-32 {
  width: 8rem;
}
.w-36 {
  width: 9rem;
}
.w-4 {
  width: 1rem;
}
.w-40 {
  width: 10rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-52 {
  width: 13rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-\[150px\] {
  width: 150px;
}
.w-\[min\(28rem\2c calc\(100vw-2rem\)\)\] {
  width: min(28rem,calc(100vw - 2rem));
}
.w-full {
  width: 100%;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-11 {
  min-width: 2.75rem;
}
.min-w-40 {
  min-width: 10rem;
}
.min-w-48 {
  min-width: 12rem;
}
.min-w-8 {
  min-width: 2rem;
}
.min-w-9 {
  min-width: 2.25rem;
}
.min-w-\[10rem\] {
  min-width: 10rem;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[210px\] {
  min-width: 210px;
}
.min-w-\[220px\] {
  min-width: 220px;
}
.min-w-\[260px\] {
  min-width: 260px;
}
.min-w-\[52px\] {
  min-width: 52px;
}
.min-w-\[8\.5rem\] {
  min-width: 8.5rem;
}
.min-w-\[9rem\] {
  min-width: 9rem;
}
.min-w-full {
  min-width: 100%;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-\[12rem\] {
  max-width: 12rem;
}
.max-w-\[18rem\] {
  max-width: 18rem;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-\[340px\] {
  max-width: 340px;
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-none {
  flex: none;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.basis-full {
  flex-basis: 100%;
}
.border-collapse {
  border-collapse: collapse;
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-full {
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-default {
  cursor: default;
}
.cursor-grab {
  cursor: grab;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize {
  resize: both;
}
.list-none {
  list-style-type: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-\[120px\2c 1fr\] {
  grid-template-columns: 120px 1fr;
}
.grid-cols-\[1fr\2c 108px\2c 108px\] {
  grid-template-columns: 1fr 108px 108px;
}
.grid-cols-\[1fr\2c 2fr\] {
  grid-template-columns: 1fr 2fr;
}
.grid-cols-\[auto_2\.75rem_auto_2\.75rem\] {
  grid-template-columns: auto 2.75rem auto 2.75rem;
}
.grid-cols-\[minmax\(0\2c 1fr\)_5rem\] {
  grid-template-columns: minmax(0,1fr) 5rem;
}
.grid-cols-\[minmax\(0\2c 1fr\)_auto\] {
  grid-template-columns: minmax(0,1fr) auto;
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-px {
  gap: 1px;
}
.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-divide-opacity, 1));
}
.divide-slate-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-divide-opacity, 1));
}
.divide-slate-50 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(248 250 252 / var(--tw-divide-opacity, 1));
}
.self-end {
  align-self: flex-end;
}
.self-center {
  align-self: center;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-normal {
  white-space: normal;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.text-wrap {
  text-wrap: wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-t {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.border {
  border-width: 1px;
}
.border-2 {
  border-width: 2px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-2 {
  border-top-width: 2px;
}
.border-dashed {
  border-style: dashed;
}
.border-amber-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-border-opacity, 1));
}
.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-blue-100 {
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}
.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-300 {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.border-blue-400 {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.border-cyan-300 {
  --tw-border-opacity: 1;
  border-color: rgb(103 232 249 / var(--tw-border-opacity, 1));
}
.border-emerald-100 {
  --tw-border-opacity: 1;
  border-color: rgb(209 250 229 / var(--tw-border-opacity, 1));
}
.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.border-emerald-50 {
  --tw-border-opacity: 1;
  border-color: rgb(236 253 245 / var(--tw-border-opacity, 1));
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-green-300 {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}
.border-indigo-200 {
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / var(--tw-border-opacity, 1));
}
.border-indigo-300 {
  --tw-border-opacity: 1;
  border-color: rgb(165 180 252 / var(--tw-border-opacity, 1));
}
.border-orange-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-rose-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 228 230 / var(--tw-border-opacity, 1));
}
.border-rose-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
}
.border-rose-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}
.border-sky-100 {
  --tw-border-opacity: 1;
  border-color: rgb(224 242 254 / var(--tw-border-opacity, 1));
}
.border-sky-200 {
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1));
}
.border-sky-300 {
  --tw-border-opacity: 1;
  border-color: rgb(125 211 252 / var(--tw-border-opacity, 1));
}
.border-sky-600 {
  --tw-border-opacity: 1;
  border-color: rgb(2 132 199 / var(--tw-border-opacity, 1));
}
.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-slate-50 {
  --tw-border-opacity: 1;
  border-color: rgb(248 250 252 / var(--tw-border-opacity, 1));
}
.border-teal-300 {
  --tw-border-opacity: 1;
  border-color: rgb(94 234 212 / var(--tw-border-opacity, 1));
}
.border-transparent {
  border-color: transparent;
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-yellow-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
}
.border-zinc-100 {
  --tw-border-opacity: 1;
  border-color: rgb(244 244 245 / var(--tw-border-opacity, 1));
}
.border-zinc-200 {
  --tw-border-opacity: 1;
  border-color: rgb(228 228 231 / var(--tw-border-opacity, 1));
}
.border-zinc-300 {
  --tw-border-opacity: 1;
  border-color: rgb(212 212 216 / var(--tw-border-opacity, 1));
}
.border-l-blue-500 {
  --tw-border-opacity: 1;
  border-left-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-t-transparent {
  border-top-color: transparent;
}
.\!bg-slate-100 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1)) !important;
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-50\/40 {
  background-color: rgb(255 251 235 / 0.4);
}
.bg-amber-50\/50 {
  background-color: rgb(255 251 235 / 0.5);
}
.bg-amber-50\/60 {
  background-color: rgb(255 251 235 / 0.6);
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-50\/20 {
  background-color: rgb(239 246 255 / 0.2);
}
.bg-blue-50\/40 {
  background-color: rgb(239 246 255 / 0.4);
}
.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.bg-cyan-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50\/50 {
  background-color: rgb(236 253 245 / 0.5);
}
.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-50\/40 {
  background-color: rgb(240 253 244 / 0.4);
}
.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.bg-indigo-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-neutral-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(23 23 23 / var(--tw-bg-opacity, 1));
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-pink-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-50\/30 {
  background-color: rgb(254 242 242 / 0.3);
}
.bg-red-50\/70 {
  background-color: rgb(254 242 242 / 0.7);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-rose-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
}
.bg-rose-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}
.bg-rose-50\/40 {
  background-color: rgb(255 241 242 / 0.4);
}
.bg-rose-50\/50 {
  background-color: rgb(255 241 242 / 0.5);
}
.bg-rose-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));
}
.bg-sky-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}
.bg-sky-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}
.bg-sky-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}
.bg-sky-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1));
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-100\/70 {
  background-color: rgb(241 245 249 / 0.7);
}
.bg-slate-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-50\/50 {
  background-color: rgb(248 250 252 / 0.5);
}
.bg-slate-50\/60 {
  background-color: rgb(248 250 252 / 0.6);
}
.bg-slate-50\/70 {
  background-color: rgb(248 250 252 / 0.7);
}
.bg-slate-50\/80 {
  background-color: rgb(248 250 252 / 0.8);
}
.bg-slate-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}
.bg-slate-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/45 {
  background-color: rgb(15 23 42 / 0.45);
}
.bg-slate-950\/90 {
  background-color: rgb(2 6 23 / 0.9);
}
.bg-teal-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
}
.bg-teal-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}
.bg-teal-50\/70 {
  background-color: rgb(240 253 250 / 0.7);
}
.bg-transparent {
  background-color: transparent;
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/\[0\.035\] {
  background-color: rgb(255 255 255 / 0.035);
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-zinc-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1));
}
.bg-zinc-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}
.bg-zinc-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(9 9 11 / var(--tw-bg-opacity, 1));
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0 {
  padding: 0px;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-10 {
  padding: 2.5rem;
}
.p-12 {
  padding: 3rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.\!px-1 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}
.\!py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}
.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-\[1\.45rem\] {
  font-size: 1.45rem;
}
.text-\[1\.8rem\] {
  font-size: 1.8rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.normal-case {
  text-transform: none;
}
.ordinal {
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-4 {
  line-height: 1rem;
}
.leading-5 {
  line-height: 1.25rem;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-none {
  line-height: 1;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-normal {
  letter-spacing: 0em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.\!text-slate-500 {
  --tw-text-opacity: 1 !important;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1)) !important;
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-amber-950 {
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-blue-900 {
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}
.text-cyan-600 {
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}
.text-cyan-700 {
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-cyan-800 {
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}
.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-indigo-800 {
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}
.text-neutral-900 {
  --tw-text-opacity: 1;
  color: rgb(23 23 23 / var(--tw-text-opacity, 1));
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-pink-700 {
  --tw-text-opacity: 1;
  color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-rose-500 {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}
.text-rose-600 {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-rose-700 {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}
.text-rose-800 {
  --tw-text-opacity: 1;
  color: rgb(159 18 57 / var(--tw-text-opacity, 1));
}
.text-rose-900 {
  --tw-text-opacity: 1;
  color: rgb(136 19 55 / var(--tw-text-opacity, 1));
}
.text-sky-500 {
  --tw-text-opacity: 1;
  color: rgb(14 165 233 / var(--tw-text-opacity, 1));
}
.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}
.text-sky-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}
.text-sky-800 {
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}
.text-slate-100 {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.text-slate-200 {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-slate-950 {
  --tw-text-opacity: 1;
  color: rgb(2 6 23 / var(--tw-text-opacity, 1));
}
.text-teal-500 {
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / var(--tw-text-opacity, 1));
}
.text-teal-600 {
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}
.text-teal-700 {
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / var(--tw-text-opacity, 1));
}
.text-teal-800 {
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.text-yellow-900 {
  --tw-text-opacity: 1;
  color: rgb(113 63 18 / var(--tw-text-opacity, 1));
}
.text-zinc-100 {
  --tw-text-opacity: 1;
  color: rgb(244 244 245 / var(--tw-text-opacity, 1));
}
.text-zinc-400 {
  --tw-text-opacity: 1;
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
}
.text-zinc-500 {
  --tw-text-opacity: 1;
  color: rgb(113 113 122 / var(--tw-text-opacity, 1));
}
.text-zinc-600 {
  --tw-text-opacity: 1;
  color: rgb(82 82 91 / var(--tw-text-opacity, 1));
}
.text-zinc-700 {
  --tw-text-opacity: 1;
  color: rgb(63 63 70 / var(--tw-text-opacity, 1));
}
.text-zinc-800 {
  --tw-text-opacity: 1;
  color: rgb(39 39 42 / var(--tw-text-opacity, 1));
}
.text-zinc-900 {
  --tw-text-opacity: 1;
  color: rgb(24 24 27 / var(--tw-text-opacity, 1));
}
.text-zinc-950 {
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity, 1));
}
.underline {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
.line-through {
  -webkit-text-decoration-line: line-through;
          text-decoration-line: line-through;
}
.decoration-zinc-300 {
  -webkit-text-decoration-color: #d4d4d8;
          text-decoration-color: #d4d4d8;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.accent-black {
  accent-color: #000;
}
.accent-blue-600 {
  accent-color: #2563eb;
}
.accent-teal-600 {
  accent-color: #0d9488;
}
.accent-yellow-500 {
  accent-color: #eab308;
}
.opacity-0 {
  opacity: 0;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-70 {
  opacity: 0.7;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_18px_rgba\(255\2c 255\2c 255\2c 0\.16\)\] {
  --tw-shadow: 0 8px 18px rgba(255,255,255,0.16);
  --tw-shadow-colored: 0 8px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.outline-1 {
  outline-width: 1px;
}
.outline-sky-300 {
  outline-color: #7dd3fc;
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset {
  --tw-ring-inset: inset;
}
.ring-blue-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1));
}
.ring-blue-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1));
}
.ring-red-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1));
}
.ring-teal-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(45 212 191 / var(--tw-ring-opacity, 1));
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-filter {
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[height\] {
  transition-property: height;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\[start\:end\] {
  start: end;
}
.\[start_idx\:end_idx\] {
  start_idx: end idx;
}
.first\:pt-0:first-child {
  padding-top: 0px;
}
.last\:mb-0:last-child {
  margin-bottom: 0px;
}
.last\:border-0:last-child {
  border-width: 0px;
}
.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}
.hover\:border-blue-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.hover\:border-sky-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(125 211 252 / var(--tw-border-opacity, 1));
}
.hover\:border-slate-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.hover\:border-zinc-900:hover {
  --tw-border-opacity: 1;
  border-color: rgb(24 24 27 / var(--tw-border-opacity, 1));
}
.hover\:bg-amber-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.hover\:bg-black:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-50\/60:hover {
  background-color: rgb(236 253 245 / 0.6);
}
.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-rose-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
}
.hover\:bg-rose-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 205 211 / var(--tw-bg-opacity, 1));
}
.hover\:bg-sky-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-50\/80:hover {
  background-color: rgb(248 250 252 / 0.8);
}
.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-yellow-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}
.hover\:bg-zinc-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1));
}
.hover\:bg-zinc-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}
.hover\:bg-zinc-50\/80:hover {
  background-color: rgb(250 250 250 / 0.8);
}
.hover\:text-black:hover {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-500:hover {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-600:hover {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-700:hover {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-800:hover {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.hover\:text-green-600:hover {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.hover\:text-green-700:hover {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.hover\:text-red-500:hover {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.hover\:text-red-700:hover {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.hover\:text-sky-700:hover {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-600:hover {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-700:hover {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-900:hover {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.hover\:text-teal-800:hover {
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:text-zinc-600:hover {
  --tw-text-opacity: 1;
  color: rgb(82 82 91 / var(--tw-text-opacity, 1));
}
.hover\:text-zinc-900:hover {
  --tw-text-opacity: 1;
  color: rgb(24 24 27 / var(--tw-text-opacity, 1));
}
.hover\:text-zinc-950:hover {
  --tw-text-opacity: 1;
  color: rgb(9 9 11 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:border-blue-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.focus\:border-white\/25:focus {
  border-color: rgb(255 255 255 / 0.25);
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-blue-200:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1));
}
.focus\:ring-blue-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1));
}
.focus\:ring-blue-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.focus\:ring-emerald-200:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1));
}
.group:hover .group-hover\:inline {
  display: inline;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-95 {
  opacity: 0.95;
}
@media (min-width: 640px) {

  .sm\:inline {
    display: inline;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:w-64 {
    width: 16rem;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:basis-auto {
    flex-basis: auto;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[1fr\2c 1fr\2c auto\] {
    grid-template-columns: 1fr 1fr auto;
  }

  .sm\:grid-cols-\[1fr_110px_auto\] {
    grid-template-columns: 1fr 110px auto;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-\[2rem\] {
    font-size: 2rem;
  }
}
@media (min-width: 768px) {

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:block {
    display: block;
  }

  .md\:flex {
    display: flex;
  }

  .md\:hidden {
    display: none;
  }

  .md\:w-36 {
    width: 9rem;
  }

  .md\:w-40 {
    width: 10rem;
  }

  .md\:w-44 {
    width: 11rem;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-\[1fr\2c 1fr\2c auto\] {
    grid-template-columns: 1fr 1fr auto;
  }

  .md\:grid-cols-\[1fr_1fr_auto\] {
    grid-template-columns: 1fr 1fr auto;
  }

  .md\:grid-cols-\[1fr_auto\] {
    grid-template-columns: 1fr auto;
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-end {
    align-items: flex-end;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:pt-0 {
    padding-top: 0px;
  }
}
@media (min-width: 1024px) {

  .lg\:sticky {
    position: -webkit-sticky;
    position: sticky;
  }

  .lg\:top-4 {
    top: 1rem;
  }

  .lg\:w-auto {
    width: auto;
  }

  .lg\:min-w-\[28rem\] {
    min-width: 28rem;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1\.4fr_1\.5fr_0\.8fr_0\.55fr_1\.4fr_auto\] {
    grid-template-columns: 1.4fr 1.5fr 0.8fr 0.55fr 1.4fr auto;
  }

  .lg\:grid-cols-\[minmax\(320px\2c 420px\)\2c 1fr\] {
    grid-template-columns: minmax(320px,420px) 1fr;
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-end {
    justify-content: flex-end;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }
}
@media (min-width: 1280px) {

  .xl\:sticky {
    position: -webkit-sticky;
    position: sticky;
  }

  .xl\:top-0 {
    top: 0px;
  }

  .xl\:top-4 {
    top: 1rem;
  }

  .xl\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .xl\:max-h-none {
    max-height: none;
  }

  .xl\:w-\[220px\] {
    width: 220px;
  }

  .xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-\[minmax\(0\2c 1\.25fr\)_minmax\(360px\2c 0\.95fr\)\] {
    grid-template-columns: minmax(0,1.25fr) minmax(360px,0.95fr);
  }

  .xl\:grid-cols-\[minmax\(0\2c 1\.8fr\)_auto_auto_auto\] {
    grid-template-columns: minmax(0,1.8fr) auto auto auto;
  }

  .xl\:grid-cols-\[minmax\(340px\2c 420px\)\2c 1fr\] {
    grid-template-columns: minmax(340px,420px) 1fr;
  }

  .xl\:flex-row {
    flex-direction: row;
  }

  .xl\:gap-0 {
    gap: 0px;
  }

  .xl\:overflow-auto {
    overflow: auto;
  }

  .xl\:overflow-hidden {
    overflow: hidden;
  }

  .xl\:rounded-none {
    border-radius: 0px;
  }

  .xl\:border-y-0 {
    border-top-width: 0px;
    border-bottom-width: 0px;
  }

  .xl\:border-l-0 {
    border-left-width: 0px;
  }

  .xl\:border-r {
    border-right-width: 1px;
  }

  .xl\:text-right {
    text-align: right;
  }
}
@media (min-width: 1536px) {

  .\32xl\:grid-cols-\[1\.25fr_1fr\] {
    grid-template-columns: 1.25fr 1fr;
  }
}
