/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-stone-50: oklch(98.5% 0.001 106.423);
    --color-stone-200: oklch(92.3% 0.003 48.717);
    --color-stone-500: oklch(55.3% 0.013 58.071);
    --color-stone-600: oklch(44.4% 0.011 73.639);
    --color-stone-900: oklch(21.6% 0.006 56.043);
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-md: 28rem;
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --font-weight-semibold: 600;
    --radius-lg: 0.5rem;
    --radius-2xl: 1rem;
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: 0;
  }
  .isolate {
    isolation: isolate;
  }
  .z-\[2147483647\] {
    z-index: 2147483647;
  }
  .order-first {
    order: -9999;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .table {
    display: table;
  }
  .table-row {
    display: table-row;
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .h-full {
    height: 100%;
  }
  .min-h-full {
    min-height: 100%;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-full {
    width: 100%;
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .flex-1 {
    flex: 1;
  }
  .shrink {
    flex-shrink: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .flex-col {
    flex-direction: column;
  }
  .items-center {
    align-items: center;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-stone-200 {
    border-color: var(--color-stone-200);
  }
  .border-t-stone-500 {
    border-top-color: var(--color-stone-500);
  }
  .bg-stone-50 {
    background-color: var(--color-stone-50);
  }
  .bg-stone-900 {
    background-color: var(--color-stone-900);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .text-stone-500 {
    color: var(--color-stone-500);
  }
  .text-stone-600 {
    color: var(--color-stone-600);
  }
  .text-stone-900 {
    color: var(--color-stone-900);
  }
  .text-white {
    color: var(--color-white);
  }
  .lowercase {
    text-transform: lowercase;
  }
  .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,);
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .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,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .\[no-new-privileges\:true\] {
    no-new-privileges: true;
  }
  .\[source\:src_1\] {
    source: src 1;
  }
  .motion-safe\:animate-spin {
    @media (prefers-reduced-motion: no-preference) {
      animation: var(--animate-spin);
    }
  }
}
:root {
  --red: #ed1c18;
  --red-dark: #c81613;
  --yellow: #ffd400;
  --ink: #100b0b;
  --teal: #087e78;
  --green: #0a7a47;
  --paper: #ffffff;
  --canvas: #f4f5f7;
  --line: #dedfe3;
  --muted: #6d7078;
  --soft-yellow: #fff7cf;
  --soft-red: #fff0ef;
}
.department-admin-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  background: #f4f5f7;
  color: #151313;
}
.department-admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 18px 14px;
  background: #100c0d;
  color: #fff;
}
.department-admin-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 4px 22px;
  color: inherit;
  text-decoration: none;
}
.department-admin-brand img {
  width: 96px;
  height: auto;
  background: #fff;
  border-radius: 4px;
}
.department-admin-brand span {
  display: grid;
  gap: 3px;
}
.department-admin-brand strong {
  font-size: 14px;
}
.department-admin-brand small {
  color: #aaa2a4;
  font-size: 10px;
}
.department-admin-sidebar nav {
  display: grid;
  gap: 4px;
}
.department-admin-sidebar nav button {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 12px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #d8d3d4;
  text-align: left;
  cursor: pointer;
}
.department-admin-sidebar nav button:hover {
  background: #211b1c;
  color: #fff;
}
.department-admin-sidebar nav button.active {
  background: #302829;
  color: #fff;
  box-shadow: inset 3px 0 #ffd200;
}
.department-admin-sidebar-bottom {
  margin-top: auto;
  display: grid;
  gap: 14px;
  border-top: 1px solid #312b2c;
  padding-top: 14px;
}
.department-admin-sidebar-bottom > a {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #d8d3d4;
  text-decoration: none;
  font-size: 13px;
}
.department-admin-sidebar-bottom > div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 32px;
  gap: 8px;
  align-items: center;
}
.department-admin-sidebar-bottom .avatar {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffd200;
  color: #111;
  font-weight: 800;
}
.department-admin-sidebar-bottom > div > span:nth-child(2) {
  min-width: 0;
  display: grid;
}
.department-admin-sidebar-bottom strong {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.department-admin-sidebar-bottom small {
  color: #aaa2a4;
  font-size: 11px;
}
.department-admin-sidebar .icon-button {
  color: #fff;
}
.department-admin-workspace {
  min-width: 0;
}
.department-admin-header {
  min-height: 118px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 30px;
  border-bottom: 1px solid #d9dce1;
  background: #fff;
}
.department-admin-header > div {
  display: grid;
  gap: 3px;
}
.department-admin-header span {
  color: #e8211b;
  font-size: 11px;
  font-weight: 800;
}
.department-admin-header h1 {
  margin: 0;
  font-size: 25px;
  line-height: 1.2;
}
.department-admin-header p {
  margin: 0;
  color: #74777e;
  font-size: 13px;
}
.department-admin-header button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.department-admin-content {
  padding: 24px 30px 40px;
}
.department-overview {
  display: grid;
  gap: 18px;
}
.department-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #d9dce1;
  background: #fff;
}
.department-metrics article {
  min-width: 0;
  min-height: 132px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-content: center;
  column-gap: 9px;
  padding: 20px;
  border-right: 1px solid #e3e5e8;
}
.department-metrics article:last-child {
  border-right: 0;
}
.department-metrics svg {
  grid-row: 1 / 4;
  color: #6e7076;
}
.department-metrics span {
  color: #686b72;
  font-size: 12px;
}
.department-metrics strong {
  min-width: 0;
  overflow: hidden;
  font-size: 24px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.department-metrics small {
  color: #92959b;
}
.department-panel {
  border: 1px solid #d9dce1;
  border-radius: 6px;
  background: #fff;
}
.department-panel-heading {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  border-bottom: 1px solid #e4e6e9;
}
.department-panel-heading h2 {
  margin: 0;
  font-size: 17px;
}
.department-panel-heading p {
  margin: 4px 0 0;
  color: #74777e;
  font-size: 12px;
}
.department-panel-heading > span {
  color: #007c65;
  font-size: 12px;
  font-weight: 700;
}
.department-pool-grid, .department-task-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.department-pool-grid > div, .department-task-grid > div {
  display: grid;
  gap: 6px;
  padding: 22px 18px;
  border-right: 1px solid #e4e6e9;
}
.department-pool-grid > div:last-child, .department-task-grid > div:last-child {
  border-right: 0;
}
.department-pool-grid span, .department-task-grid span {
  color: #74777e;
  font-size: 12px;
}
.department-pool-grid strong, .department-task-grid strong {
  font-size: 20px;
}
.department-empty {
  margin: 0;
  padding: 28px 18px;
  color: #858890;
  text-align: center;
}
.department-error, .department-message {
  margin: 0 30px 14px;
  padding: 11px 13px;
  border-left: 3px solid #e8211b;
  background: #fff0ef;
  color: #bd1d18;
  font-size: 13px;
}
.department-message {
  margin: 0;
}
.department-filter-row {
  display: flex;
  align-items: end;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid #e4e6e9;
}
.department-filter-row label {
  min-width: 190px;
  display: grid;
  gap: 5px;
  color: #555960;
  font-size: 11px;
}
.department-filter-row input, .department-filter-row select, .department-allocation-form input, .department-allocation-form select, .department-allocation-form textarea {
  width: 100%;
  min-height: 39px;
  border: 1px solid #cfd2d8;
  border-radius: 4px;
  background: #fff;
  padding: 8px 10px;
  color: #151313;
  font: inherit;
}
.department-search {
  display: flex;
  align-items: center;
  border: 1px solid #cfd2d8;
  border-radius: 4px;
  padding-left: 9px;
}
.department-search input {
  border: 0;
  outline: 0;
}
.department-table > div, .department-usage-table > div {
  min-height: 62px;
  display: grid;
  grid-template-columns: 1.25fr 1fr .8fr 1.1fr .55fr;
  align-items: center;
  gap: 16px;
  padding: 11px 18px;
  border-bottom: 1px solid #eceef0;
  font-size: 12px;
}
.department-table > div:last-child, .department-usage-table > div:last-child {
  border-bottom: 0;
}
.department-table-head, .department-usage-head {
  min-height: 42px !important;
  background: #f7f8f9;
  color: #696c72;
  font-size: 11px !important;
}
.department-table span, .department-usage-table span {
  min-width: 0;
}
.department-table span:first-child, .department-usage-table span:first-child, .department-usage-table span:nth-child(2), .department-usage-table span:nth-child(4) {
  display: grid;
  gap: 3px;
}
.department-table small, .department-usage-table small {
  color: #83868c;
}
.department-allocation-grid {
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(480px, 1.28fr);
  gap: 18px;
  align-items: start;
}
.department-allocation-form {
  display: grid;
  gap: 14px;
  padding-bottom: 18px;
}
.department-allocation-form .department-panel-heading {
  margin-bottom: 0;
}
.department-allocation-form > label, .department-allocation-form > button, .department-allocation-form > .department-pool-available, .department-allocation-form > .department-message {
  margin-left: 18px;
  margin-right: 18px;
}
.department-allocation-form > label {
  display: grid;
  gap: 6px;
  color: #555960;
  font-size: 12px;
}
.department-allocation-form textarea {
  min-height: 76px;
  resize: vertical;
}
.department-pool-available {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px;
  background: #fff8ca;
  border: 1px solid #f2d64b;
}
.department-pool-available span {
  font-size: 12px;
}
.department-allocation-history article {
  min-height: 78px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto) 72px;
  align-items: center;
  gap: 16px;
  padding: 12px 18px;
  border-bottom: 1px solid #eceef0;
}
.department-allocation-history article > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.department-allocation-history article small, .department-allocation-history article span {
  color: #74777e;
  font-size: 11px;
}
.department-allocation-history article b {
  color: #007c65;
  font-size: 12px;
}
.department-usage-filters label {
  min-width: 145px;
  flex: 1;
}
.department-usage-table > div {
  grid-template-columns: 1.15fr 1fr .8fr .9fr 1.25fr;
}
.department-usage-status {
  width: fit-content;
  padding: 4px 7px;
  border-radius: 3px;
  background: #eef0f2;
  font-size: 10px;
  font-weight: 800;
}
.department-usage-status.succeeded {
  background: #e5f5ee;
  color: #087456;
}
.department-usage-status.failed, .department-usage-status.refunded {
  background: #fff0ef;
  color: #c3201a;
}
.department-usage-status.running, .department-usage-status.waiting {
  background: #fff7ce;
  color: #795e00;
}
.department-authorization-lost {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: #f4f5f7;
  color: #74777e;
}
@media (max-width: 1100px) {
  .department-admin-shell {
    grid-template-columns: 196px minmax(0, 1fr);
  }
  .department-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .department-metrics article:nth-child(2) {
    border-right: 0;
  }
  .department-metrics article:nth-child(-n + 2) {
    border-bottom: 1px solid #e3e5e8;
  }
  .department-allocation-grid {
    grid-template-columns: 1fr;
  }
  .department-filter-row {
    flex-wrap: wrap;
  }
}
@media (max-width: 760px) {
  .department-admin-shell {
    display: block;
  }
  .department-admin-sidebar {
    position: static;
    width: 100%;
    height: auto;
  }
  .department-admin-brand {
    padding-bottom: 12px;
  }
  .department-admin-sidebar nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .department-admin-sidebar-bottom {
    display: none;
  }
  .department-admin-header, .department-admin-content {
    padding-left: 16px;
    padding-right: 16px;
  }
  .department-pool-grid, .department-task-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .department-table, .department-usage-table {
    overflow-x: auto;
  }
  .department-table > div, .department-usage-table > div {
    min-width: 820px;
  }
}
* {
  box-sizing: border-box;
}
html, body {
  margin: 0;
  min-height: 100%;
}
body {
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  letter-spacing: 0;
}
button, input, select, textarea {
  font: inherit;
  letter-spacing: 0;
}
button, select {
  cursor: pointer;
}
button:disabled {
  cursor: not-allowed;
  opacity: .55;
}
a {
  color: inherit;
}
h1, h2, h3, p {
  margin-top: 0;
}
.muted {
  color: var(--muted);
}
.spin {
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.primary-button, .secondary-button {
  min-height: 42px;
  border-radius: 6px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  font-weight: 700;
  text-decoration: none;
}
.primary-button {
  background: var(--ink);
  color: #fff;
}
.primary-button:hover {
  background: #292222;
}
.secondary-button {
  background: #fff;
  border-color: var(--line);
  color: var(--ink);
}
.secondary-button:hover {
  border-color: #aaa;
}
.icon-button {
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
}
.icon-button:hover {
  background: #efeff1;
  border-color: #e2e2e5;
}
.section-label, .brand-kicker {
  display: block;
  color: var(--red);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}
.avatar {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--ink);
  font-weight: 900;
}
.mobile-only {
  display: none;
}
.auth-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(360px, .9fr) minmax(500px, 1.1fr);
  background: #fff;
}
.auth-brand-band {
  min-height: 100vh;
  padding: 56px clamp(36px, 6vw, 92px);
  background: var(--yellow);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  overflow: hidden;
}
.auth-brand-band::after {
  content: "AI";
  position: absolute;
  right: -20px;
  bottom: -80px;
  font-size: 260px;
  font-weight: 950;
  line-height: 1;
  color: rgba(255,255,255,.38);
  pointer-events: none;
}
.auth-brand-band img {
  width: min(250px, 72%);
  height: auto;
  object-fit: contain;
  object-position: left center;
}
.auth-brand-band div {
  position: relative;
  z-index: 1;
  max-width: 520px;
}
.auth-brand-band .brand-kicker {
  color: var(--ink);
  margin-bottom: 12px;
}
.auth-brand-band h1 {
  font-size: 46px;
  line-height: 1.12;
  margin-bottom: 18px;
  max-width: 460px;
}
.auth-brand-band p {
  font-size: 17px;
  line-height: 1.7;
}
.auth-panel {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 56px;
  background: #fff;
}
.auth-form-wrap {
  width: min(100%, 430px);
}
.auth-form-wrap.wide {
  width: min(100%, 640px);
}
.auth-form-wrap > h2 {
  font-size: 30px;
  margin: 10px 0 8px;
}
.auth-form-wrap > p {
  margin-bottom: 30px;
}
.auth-form {
  display: grid;
  gap: 18px;
}
.register-form {
  gap: 16px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.form-field {
  display: grid;
  gap: 8px;
}
.form-field label {
  font-size: 13px;
  font-weight: 700;
}
.form-field input, .form-field select, .form-section input, .form-section select {
  width: 100%;
  height: 46px;
  border: 1px solid #cfd1d6;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  padding: 0 13px;
  outline: none;
}
.form-field input:focus, .form-field select:focus, .form-section input:focus, .form-section select:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(16,11,11,.08);
}
.password-field {
  position: relative;
}
.password-field input {
  padding-right: 46px;
}
.password-field .icon-button {
  position: absolute;
  right: 4px;
  top: 4px;
}
.field-note {
  min-height: 18px;
  color: var(--teal);
  font-size: 12px;
}
.form-error {
  margin: -4px 0 0;
  padding: 10px 12px;
  border-left: 3px solid var(--red);
  background: var(--soft-red);
  color: #8f1714;
  font-size: 13px;
}
.auth-submit {
  width: 100%;
  margin-top: 4px;
}
.auth-switch {
  text-align: center;
  color: var(--muted);
  font-size: 13px;
}
.auth-switch a {
  color: var(--ink);
  font-weight: 800;
}
.registration-success {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 12px;
}
.registration-success .success-mark {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #daf5e7;
  color: var(--green);
  font-size: 28px;
  font-weight: 900;
}
.registration-success h2 {
  margin: 4px 0 0;
  font-size: 30px;
}
.registration-success p {
  margin: 0;
}
.platform-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 244px minmax(0, 1fr);
  background: var(--canvas);
}
.platform-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 22px 16px 16px;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-right: 1px solid var(--line);
  z-index: 20;
}
.platform-brand {
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 5px 20px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}
.platform-brand img {
  width: 106px;
  height: auto;
  object-fit: contain;
}
.platform-brand > span {
  min-width: 0;
  padding-left: 9px;
  border-left: 1px solid var(--line);
}
.platform-brand strong, .platform-brand small {
  display: block;
  white-space: nowrap;
}
.platform-brand strong {
  font-size: 12px;
}
.platform-brand small {
  margin-top: 3px;
  color: var(--red);
  font-size: 10px;
  font-weight: 850;
}
.platform-nav-label {
  margin: 23px 10px 8px;
  color: #969199;
  font-size: 11px;
  font-weight: 750;
}
.platform-personal-label {
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.platform-nav {
  display: grid;
  gap: 4px;
}
.platform-nav a, .platform-nav button {
  width: 100%;
  height: 44px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  color: #4a474e;
  background: transparent;
  border: 0;
  border-radius: 6px;
  text-align: left;
  text-decoration: none;
  font-size: 14px;
  font-weight: 680;
}
.platform-nav a:hover, .platform-nav button:not(:disabled):hover {
  background: #f4f3f4;
}
.platform-nav a.active {
  color: var(--ink);
  background: var(--soft-yellow);
  box-shadow: inset 3px 0 0 var(--yellow);
}
.platform-nav button:disabled {
  cursor: default;
  opacity: 1;
}
.platform-nav small {
  color: #99949b;
  font-size: 10px;
  font-weight: 650;
}
.platform-sidebar-bottom {
  margin-top: auto;
}
.platform-credit {
  min-height: 55px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding: 0 12px;
  color: #5e520c;
  background: var(--soft-yellow);
  border: 1px solid #e8d65c;
  border-radius: 7px;
}
.platform-credit span {
  font-size: 11px;
}
.platform-credit strong {
  color: var(--ink);
  font-size: 20px;
}
.platform-profile {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) 34px;
  align-items: center;
  gap: 9px;
  padding: 12px 5px 0;
  border-top: 1px solid var(--line);
}
.platform-profile > div {
  min-width: 0;
}
.platform-profile strong, .platform-profile small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.platform-profile strong {
  font-size: 13px;
}
.platform-profile small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}
.platform-workspace {
  min-width: 0;
}
.platform-topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 38px;
  background: rgba(255,255,255,.97);
  border-top: 4px solid var(--yellow);
  border-bottom: 1px solid var(--line);
}
.platform-topbar > div {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
}
.platform-topbar > div > span {
  color: #9d989f;
}
.platform-top-actions {
  gap: 8px !important;
}
.service-status {
  height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  color: var(--green) !important;
  background: #eef9f4;
  border: 1px solid #d2eadf;
  border-radius: 16px;
  font-size: 11px;
  font-weight: 750;
}
.service-status i, .available-status i {
  width: 7px;
  height: 7px;
  display: inline-block;
  background: #15a56c;
  border-radius: 50%;
}
.platform-content {
  width: min(1260px, calc(100% - 76px));
  margin: 0 auto;
  padding: 42px 0 54px;
}
.platform-welcome {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}
.platform-welcome .section-label {
  margin-bottom: 8px;
}
.platform-welcome h1 {
  margin: 0;
  font-size: 30px;
  line-height: 1.25;
}
.platform-welcome div > p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 14px;
}
.platform-welcome > p {
  margin: 0;
  color: #817c83;
  font-size: 12px;
}
.platform-welcome > p strong {
  margin-left: 5px;
  color: var(--ink);
}
.platform-section-heading, .platform-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.platform-section-heading {
  margin-bottom: 12px;
}
.platform-section-heading h2, .platform-panel-heading h2 {
  margin: 0;
  font-size: 16px;
}
.platform-section-heading span {
  color: var(--muted);
  font-size: 12px;
}
.platform-capabilities {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(310px, .8fr);
  gap: 14px;
  margin-bottom: 34px;
}
.image-module {
  min-height: 292px;
  display: grid;
  grid-template-columns: minmax(300px,.82fr) minmax(360px,1.18fr);
  overflow: hidden;
  background: #fff;
  border: 1px solid #d9dade;
  border-radius: 8px;
}
.image-module-copy {
  padding: 30px;
}
.available-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--green);
  font-size: 11px;
  font-weight: 800;
}
.image-module-copy h2 {
  margin: 22px 0 9px;
  font-size: 27px;
}
.image-module-copy > p {
  max-width: 340px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
}
.module-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 20px;
}
.module-tags span {
  height: 25px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  color: #5a565d;
  background: #f6f5f6;
  border: 1px solid var(--line);
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
}
.image-module-action {
  width: fit-content;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 23px;
  padding: 0 16px;
  color: #fff;
  background: var(--ink);
  border-radius: 6px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 750;
}
.image-module-action:hover {
  background: #2a2424;
}
.module-preview {
  position: relative;
  min-height: 292px;
  overflow: hidden;
  background: var(--yellow);
  border-left: 1px solid #e7c500;
}
.preview-window {
  position: absolute;
  inset: 25px 24px 24px 28px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #b99d00;
  border-radius: 7px;
  box-shadow: 0 14px 35px rgba(73,54,0,.16);
}
.preview-toolbar {
  height: 38px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
}
.preview-toolbar > i {
  width: 7px;
  height: 7px;
  background: #d9d5d8;
  border-radius: 50%;
}
.preview-toolbar strong {
  margin-left: 7px;
  color: #625e64;
  font-size: 9px;
}
.preview-layout {
  height: calc(100% - 38px);
  display: grid;
  grid-template-columns: 75px 1fr;
}
.preview-sidebar {
  padding: 13px 9px;
  background: #fafafa;
  border-right: 1px solid var(--line);
}
.preview-sidebar > * {
  width: 100%;
  height: 7px;
  display: block;
  margin-bottom: 10px;
  background: #dcd9dc;
  border-radius: 2px;
}
.preview-sidebar b {
  width: 86%;
  background: #2b272b;
}
.preview-canvas {
  position: relative;
  overflow: hidden;
  background: #f7f7f8;
}
.preview-art {
  position: absolute;
  width: 104px;
  height: 112px;
  overflow: hidden;
  border: 5px solid #fff;
  box-shadow: 0 5px 16px rgba(0,0,0,.12);
}
.preview-art-red {
  left: 27%;
  top: 51px;
  background: #ee3932;
  transform: rotate(-5deg);
}
.preview-art-yellow {
  right: 20%;
  top: 35px;
  background: #fee07e;
  transform: rotate(4deg);
}
.preview-art i {
  position: absolute;
  inset: 17px;
  display: block;
  background: var(--yellow);
  border-radius: 50%;
}
.preview-art-red i::after {
  content: "";
  position: absolute;
  inset: 19px;
  background: var(--ink);
  border-radius: 50%;
}
.preview-art-yellow i {
  background: #fff;
  border-radius: 2px;
}
.preview-art-yellow i::after {
  content: "";
  position: absolute;
  inset: 15px;
  background: #21865f;
  border-radius: 3px;
}
.preview-prompt {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 14px;
  height: 29px;
  display: flex;
  align-items: center;
  padding: 0 9px;
  color: #99949b;
  background: #fff;
  border: 1px solid #d8d4d8;
  border-radius: 4px;
  font-size: 8px;
}
.preview-prompt span {
  width: 17px;
  height: 17px;
  margin-left: auto;
  background: var(--red);
  border-radius: 3px;
}
.future-modules {
  display: grid;
  grid-template-rows: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.future-modules article {
  min-height: 139px;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 22px;
  background: #fff;
  border: 1px dashed #d4d1d5;
  border-radius: 8px;
}
.future-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #777279;
  background: #f2f1f2;
  border-radius: 7px;
}
.future-modules h3 {
  margin: 0 0 6px;
  font-size: 14px;
}
.future-modules p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}
.future-modules small {
  color: #938e95;
  font-size: 10px;
  font-weight: 700;
}
.platform-lower-grid {
  display: grid;
  grid-template-columns: minmax(0,1.55fr) minmax(300px,.75fr);
  gap: 14px;
}
.recent-panel, .lab-news {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.platform-panel-heading {
  height: 52px;
  padding: 0 18px;
  border-bottom: 1px solid var(--line);
}
.platform-panel-heading h2 {
  font-size: 14px;
}
.platform-panel-heading a {
  color: var(--red);
  text-decoration: none;
  font-size: 11px;
  font-weight: 750;
}
.recent-task {
  min-height: 66px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 120px 84px;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  border-bottom: 1px solid #efedef;
}
.recent-task:last-child {
  border-bottom: 0;
}
.recent-task-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #4b474d;
  background: var(--soft-yellow);
  border-radius: 5px;
}
.recent-task > div {
  min-width: 0;
}
.recent-task-title {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}
.recent-task-title strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.recent-task-title button {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #958f97;
  background: transparent;
  border: 0;
  border-radius: 4px;
}
.recent-task-title button:hover {
  color: var(--ink);
  background: #f1eff1;
}
.recent-task small, .recent-task time {
  color: #958f97;
  font-size: 10px;
}
.recent-task > div > small {
  display: block;
  margin-top: 4px;
}
.recent-task > a {
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #373238;
  background: #fff;
  border: 1px solid #d8d4d9;
  border-radius: 5px;
  text-decoration: none;
  font-size: 11px;
  font-weight: 700;
}
.recent-task > a:hover {
  border-color: #99949b;
}
.recent-empty {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
}
.recent-empty a {
  color: var(--red);
  font-weight: 700;
}
.lab-news > article {
  margin: 0 18px;
  padding: 14px 0;
  border-bottom: 1px solid #efedef;
}
.lab-news > article:last-child {
  border-bottom: 0;
}
.lab-news article strong {
  font-size: 12px;
}
.lab-news article p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}
.lab-news article time {
  display: block;
  margin-top: 7px;
  color: #aaa5ac;
  font-size: 9px;
}
.rename-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(16,11,11,.32);
}
.rename-dialog {
  width: min(420px,100%);
  padding: 22px;
  background: #fff;
  border: 1px solid #d7d3d8;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0,0,0,.16);
}
.rename-dialog h2 {
  margin: 0 0 17px;
  font-size: 17px;
}
.rename-dialog label {
  display: grid;
  gap: 8px;
}
.rename-dialog label span {
  font-size: 12px;
  font-weight: 700;
}
.rename-dialog input {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #cbc7cc;
  border-radius: 5px;
  outline: none;
}
.rename-dialog input:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(255,212,0,.35);
}
.rename-dialog > div {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}
.rename-dialog .primary-button, .rename-dialog .secondary-button {
  min-height: 36px;
}
.workbench-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 252px minmax(0, 1fr) 250px;
  background: var(--canvas);
}
.workbench-sidebar {
  height: 100vh;
  position: sticky;
  top: 0;
  padding: 18px 14px 14px;
  background: var(--paper);
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 16px;
  z-index: 20;
}
.sidebar-brand {
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4px;
}
.sidebar-brand > div {
  display: flex;
  align-items: center;
}
.sidebar-brand img {
  width: 112px;
  height: auto;
  object-fit: contain;
}
.new-chat-button {
  height: 42px;
  border: 1px solid var(--ink);
  border-radius: 6px;
  background: var(--ink);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 750;
}
.sidebar-section > span {
  display: block;
  padding: 2px 8px 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.conversation-list {
  display: grid;
  gap: 3px;
  max-height: calc(100vh - 350px);
  overflow: auto;
}
.conversation-row {
  min-height: 38px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 30px 30px;
  align-items: center;
  border-radius: 5px;
  color: #464951;
}
.conversation-row:hover, .conversation-row.active {
  background: var(--soft-yellow);
  color: var(--ink);
}
.conversation-open {
  min-width: 0;
  min-height: 38px;
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 8px 4px 8px 9px;
  color: inherit;
  background: transparent;
  border: 0;
  text-align: left;
}
.conversation-open span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.conversation-rename {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #8d8890;
  background: transparent;
  border: 0;
  border-radius: 4px;
  opacity: 0;
}
.conversation-row:hover .conversation-rename, .conversation-row.active .conversation-rename, .conversation-rename:focus-visible {
  opacity: 1;
}
.conversation-rename:hover {
  color: var(--ink);
  background: rgba(255,255,255,.7);
}
.conversation-delete {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #6f6973;
  background: transparent;
  border: 0;
  border-radius: 4px;
}
.conversation-delete:hover:not(:disabled) {
  color: #ad2831;
  background: rgba(255,255,255,.7);
}
.conversation-delete:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 1px;
}
.conversation-delete:disabled {
  opacity: .4;
  cursor: not-allowed;
}
.sidebar-spacer {
  flex: 1;
}
.credit-meter {
  border: 1px solid #e8d65c;
  background: var(--soft-yellow);
  border-radius: 6px;
  padding: 12px;
}
.credit-meter div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.credit-meter span, .credit-meter small {
  color: #71651b;
  font-size: 11px;
}
.credit-meter strong {
  font-size: 23px;
}
.sidebar-user, .admin-profile {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.sidebar-user > div, .admin-profile > div {
  min-width: 0;
  flex: 1;
  display: grid;
}
.sidebar-user strong, .admin-profile strong {
  font-size: 13px;
}
.sidebar-user small, .admin-profile small {
  color: var(--muted);
  font-size: 11px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.workbench-main {
  min-width: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(min(96px, 24dvh),1fr) minmax(0,auto);
  background: #fafafa;
}
.workbench-header {
  min-width: 0;
  width: 100%;
  min-height: 76px;
  padding: 12px 22px;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.96);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.workbench-header h1 {
  font-size: 18px;
  margin: 4px 0 0;
}
.workbench-title {
  min-width: 0;
  flex: 1;
}
.workbench-title > div {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}
.workbench-title h1 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.workbench-rename-button {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #8d8890;
  background: transparent;
  border: 0;
  border-radius: 4px;
}
.workbench-rename-button:hover:not(:disabled) {
  color: var(--ink);
  background: #f0eef0;
}
.header-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}
.header-controls label {
  font-size: 11px;
  color: var(--muted);
  display: grid;
  gap: 3px;
}
.header-controls select {
  height: 30px;
  min-width: 118px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  padding: 0 8px;
  color: var(--ink);
}
.fixed-spec-picker select {
  min-width: 220px;
  max-width: 250px;
}
.workspace-mode-switch {
  height: 34px;
  display: grid;
  grid-template-columns: repeat(2, max-content);
  align-items: center;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f2f1f2;
}
.workspace-mode-switch button {
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 9px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #6d6870;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.workspace-mode-switch button:hover {
  color: var(--ink);
}
.workspace-mode-switch button.active {
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 1px 3px rgba(16,11,11,.1);
}
.model-picker select {
  min-width: 150px;
  max-width: 210px;
}
.chat-scroll {
  width: 100%;
  overflow: auto;
  min-height: 0;
  padding: 28px clamp(18px, 5vw, 76px);
}
.empty-state {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.spark-box {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  background: var(--yellow);
  border: 2px solid var(--ink);
  border-radius: 8px;
  margin-bottom: 18px;
}
.empty-state h2 {
  font-size: 24px;
  margin-bottom: 8px;
}
.empty-state p {
  color: var(--muted);
}
.prompt-suggestions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}
.prompt-suggestions button {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 9px 12px;
  color: #4e5158;
}
.message-stream {
  width: min(100%, 860px);
  margin: 0 auto;
  display: grid;
  gap: 26px;
}
.message {
  min-width: 0;
}
.message.user {
  justify-self: end;
  width: min(82%, 680px);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px 8px 2px 8px;
  padding: 14px 16px;
}
.message.assistant {
  width: 100%;
}
.message-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 800;
}
.message-meta em {
  font-style: normal;
  color: var(--teal);
  background: #e5f5f3;
  border-radius: 4px;
  padding: 2px 5px;
  font-size: 10px;
}
.message p {
  margin: 0;
  white-space: pre-wrap;
  line-height: 1.65;
}
.knowledge-answer-state {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 11px;
  padding: 6px 9px;
  border: 1px solid #d8d3d8;
  border-radius: 5px;
  background: #f7f6f7;
  color: #625e65;
  font-size: 11px;
  font-weight: 700;
}
.knowledge-answer-state.used {
  border-color: #b9ddd3;
  background: #edf8f5;
  color: #176a57;
}
.knowledge-answer-state.unavailable {
  border-color: #edcfca;
  background: #fff5f3;
  color: #9f3529;
}
.knowledge-citation-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 9px;
}
.knowledge-citation-list button {
  min-width: 0;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  border: 1px solid #d8d3d8;
  border-radius: 5px;
  background: #fff;
  color: #343036;
  cursor: pointer;
}
.knowledge-citation-list button:hover {
  border-color: #aaa4ab;
  background: #f7f6f7;
}
.knowledge-citation-list button > span {
  color: #8c7200;
  font-size: 11px;
  font-weight: 800;
}
.knowledge-citation-list button > strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
}
.knowledge-citation-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  justify-content: flex-end;
  background: rgba(16,11,11,.3);
}
.knowledge-citation-drawer {
  width: min(430px, 92vw);
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border-left: 1px solid #d8d3d8;
  background: #fff;
  box-shadow: -16px 0 42px rgba(16,11,11,.13);
  overflow: auto;
}
.knowledge-citation-drawer > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.knowledge-citation-drawer > header span {
  color: #8c7200;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
}
.knowledge-citation-drawer h2 {
  margin: 5px 0 0;
  font-size: 19px;
  line-height: 1.45;
}
.knowledge-citation-drawer > header button {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
}
.knowledge-citation-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 21px;
}
.knowledge-citation-meta span {
  padding: 5px 8px;
  border-radius: 4px;
  background: #f1eff1;
  color: #625e65;
  font-size: 10px;
  font-weight: 700;
}
.knowledge-citation-drawer blockquote {
  margin: 22px 0;
  padding: 16px;
  border: 1px solid #e2dee2;
  border-left: 3px solid #d6b700;
  background: #fffdf5;
  color: #343036;
  font-size: 13px;
  line-height: 1.75;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.knowledge-citation-drawer > footer {
  display: grid;
  gap: 5px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 10px;
}
.message-assets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.message-asset {
  position: relative;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
}
.generated-image-dimensions {
  display: block;
  padding: 8px 12px;
  color: var(--muted);
}
.message-asset-preview {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
}
.message-assets img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: #fff;
}
.generated-image-preview-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(9, 9, 11, .94);
}
.generated-image-preview-dialog {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}
.generated-image-preview-dialog img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  background: transparent;
}
.generated-image-preview-close {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1001;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 50%;
  background: rgba(16,11,11,.9);
  color: #fff;
  cursor: pointer;
}
.message-file-attachment {
  min-width: 0;
  min-height: 64px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 24px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
}
.message-file-attachment > span:first-child {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: #f0f0f2;
}
.message-file-attachment > span:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.message-file-attachment strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.message-file-attachment small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 10px;
}
.image-download-button {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 5px;
  background: rgba(16,11,11,.82);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
}
.image-download-button:hover {
  background: #100b0b;
}
.message-timing {
  margin-top: 9px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
}
.message-timing.completed {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  color: #187451;
}
.assistant-tool-status {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  color: var(--muted);
  font-size: 12px;
}
.memory-proposal-card {
  width: min(100%, 680px);
  padding: 16px;
  border: 1px solid #ded9c5;
  border-left: 3px solid #d6b700;
  border-radius: 6px;
  background: #fffdf3;
}
.memory-proposal-history {
  width: min(100%, 860px);
  margin: 0 auto 26px;
  display: grid;
  gap: 12px;
}
.memory-proposal-history > h2 {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.memory-proposal-heading {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}
.memory-proposal-heading > div {
  display: grid;
  gap: 3px;
}
.memory-proposal-heading strong {
  font-size: 13px;
}
.memory-proposal-heading span {
  color: var(--muted);
  font-size: 10px;
}
.memory-proposal-card > p, .memory-proposal-detail > p {
  margin: 10px 0 0;
  color: #39363b;
  font-size: 13px;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.memory-proposal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
}
.memory-proposal-actions .primary-button, .memory-proposal-actions .secondary-button {
  min-height: 34px;
  padding: 0 13px;
}
.memory-proposal-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.memory-proposal-status.confirmed {
  color: var(--green);
}
.memory-proposal-terminal {
  min-width: 0;
  padding: 0;
  border-color: var(--line);
  background: #fff;
}
.memory-proposal-terminal > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 4px;
  cursor: pointer;
  list-style: none;
}
.memory-proposal-terminal > summary::-webkit-details-marker {
  display: none;
}
.memory-proposal-terminal > summary::before {
  content: "▸";
  color: var(--muted);
  font-size: 12px;
}
.memory-proposal-terminal[open] > summary::before {
  content: "▾";
}
.memory-proposal-terminal > summary:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}
.memory-proposal-summary-category {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 12px;
}
.memory-proposal-detail-hint {
  flex-shrink: 0;
  margin-left: auto;
  color: var(--muted);
  font-size: 11px;
}
.memory-proposal-detail {
  padding: 14px 16px 16px;
  border-top: 1px solid var(--line);
}
.memory-delete-dialog {
  width: min(480px,100%);
  padding: 22px;
  background: #fff;
  border: 1px solid #d7d3d8;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0,0,0,.16);
}
.memory-delete-dialog-heading {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--red);
}
.memory-delete-dialog-heading h2 {
  margin: 0;
  color: var(--ink);
  font-size: 17px;
}
.memory-delete-dialog-heading p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.memory-delete-snapshot {
  margin-top: 18px;
  max-height: 180px;
  overflow: auto;
  padding: 13px;
  border-left: 3px solid var(--red);
  background: #fff4f3;
  color: #39363b;
  font-size: 13px;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.memory-delete-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}
.memory-delete-actions .secondary-button, .memory-delete-actions .danger-button {
  min-height: 36px;
}
.memory-delete-actions .danger-button {
  padding: 0 14px;
  border: 1px solid var(--red);
  border-radius: 5px;
  background: var(--red);
  color: #fff;
  font-weight: 750;
}
.memory-delete-actions .danger-button:hover:not(:disabled) {
  background: var(--red-dark);
}
.memory-delete-actions .danger-button:disabled {
  cursor: not-allowed;
  opacity: .58;
}
.generation-event {
  padding: 2px 0 6px;
}
.generation-status {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  color: var(--muted);
  font-size: 13px;
}
.generation-status.failed {
  align-items: flex-start;
  flex-direction: column;
  gap: 3px;
  padding: 10px 12px;
  border-left: 3px solid var(--red);
  background: #fff4f3;
  color: var(--muted);
}
.generation-status.failed strong {
  color: var(--red);
}
.generation-spinner {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border: 2px solid #ddd;
  border-top-color: var(--ink);
  border-radius: 50%;
  animation: generation-spin .8s linear infinite;
}
@keyframes generation-spin {
  to {
    transform: rotate(360deg);
  }
}
.composer-wrap {
  width: 100%;
  min-height: 0;
  max-height: 65dvh;
  overflow-y: auto;
  padding: 10px clamp(16px,4vw,60px) 14px;
  background: #fafafa;
}
.composer {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: 8px;
  border: 1px solid #c8cbd0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(16,11,11,.06);
}
.composer:focus-within {
  border-color: #777078;
}
.composer-editor {
  min-width: 0;
}
.composer-editor textarea {
  display: block;
  width: 100%;
  min-height: 44px;
  max-height: min(180px, 25dvh);
  overflow-y: auto;
  resize: none;
  border: 0;
  outline: 0;
  padding: 10px 8px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
}
.composer-editor textarea::placeholder {
  color: #6d6870;
}
.composer-editor.is-expanded textarea {
  max-height: min(480px, 45dvh);
}
.composer-toolbar {
  display: flex;
  position: sticky;
  bottom: 0;
  background: #fff;
  align-items: center;
  gap: 8px;
}
.composer-keyboard-hint {
  flex: 1;
  color: #6d6870;
  font-size: 11px;
}
.composer-expand-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 44px;
  padding: 0 10px;
  flex-shrink: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  background: #f7f6f7;
  font-size: 13px;
  font-weight: 600;
}
.composer-expand-button:hover {
  background: #eeecee;
}
.composer-expand-button:focus-visible, .composer-toolbar > button:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}
.composer-toolbar > .icon-button, .composer-toolbar > .send-button {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}
@media (max-width: 600px) {
  .composer-keyboard-hint {
    font-size: 0;
  }
}
.send-button {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 6px;
  background: var(--red);
  color: #fff;
  display: grid;
  place-items: center;
}
.send-button:hover {
  background: var(--red-dark);
}
.reference-strip {
  width: min(100%,900px);
  margin: 0 auto 7px;
  display: flex;
  gap: 7px;
}
.reference-strip > div {
  width: 66px;
  height: 66px;
  position: relative;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 5px;
}
.reference-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
}
.reference-strip button {
  position: absolute;
  right: -5px;
  top: -5px;
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  display: grid;
  place-items: center;
  padding: 0;
}
.reference-strip > .auto-reference-item {
  width: 178px;
  display: grid;
  grid-template-columns: 64px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  padding-right: 10px;
}
.reference-strip > .auto-reference-item img {
  width: 64px;
  height: 64px;
}
.auto-reference-item > span {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}
.reference-upload {
  overflow: visible;
}
.reference-upload-overlay {
  position: absolute;
  inset: 0;
  border-radius: 4px;
  background: rgba(16,11,11,.68);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  pointer-events: none;
}
.reference-upload-overlay strong {
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0;
}
.reference-upload.failed {
  border-color: #e14235;
}
.reference-upload.failed .reference-upload-overlay {
  background: rgba(178,28,23,.76);
}
.reference-upload-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: generation-spin .8s linear infinite;
}
.chat-attachment-strip {
  width: min(100%,900px);
  margin: 0 auto 7px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.chat-attachment-card {
  width: min(100%, 270px);
  min-height: 58px;
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) 18px;
  align-items: center;
  gap: 9px;
  padding: 7px 26px 7px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.chat-attachment-card.ready {
  border-color: #9dd8c5;
  background: #f5fbf9;
}
.chat-attachment-card.failed {
  border-color: #e2aaa5;
  background: #fff5f4;
}
.chat-attachment-card > img, .chat-attachment-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  object-fit: cover;
  background: #f0f0f2;
}
.chat-attachment-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.chat-attachment-copy strong, .chat-attachment-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-attachment-copy strong {
  font-size: 11px;
}
.chat-attachment-copy small {
  color: var(--muted);
  font-size: 9px;
}
.chat-attachment-card > .reference-upload-spinner {
  border-color: #d5d5d8;
  border-top-color: var(--ink);
}
.chat-attachment-card > button {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--muted);
}
.chat-attachment-card > button:hover {
  background: #ececee;
  color: var(--ink);
}
.composer-error {
  width: min(100%,900px);
  margin: 0 auto 6px;
  color: var(--red);
  font-size: 12px;
}
.composer-foot {
  width: min(100%,900px);
  margin: 6px auto 0;
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  font-size: 10px;
}
.composer-foot span {
  display: flex;
  align-items: center;
  gap: 4px;
}
.activity-panel {
  height: 100vh;
  position: sticky;
  top: 0;
  padding: 24px 16px;
  border-left: 1px solid var(--line);
  background: #fff;
  overflow: auto;
}
.activity-panel h2 {
  font-size: 17px;
  margin: 6px 0 18px;
}
.activity-tabs {
  height: 34px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  padding: 2px;
  margin-bottom: 22px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f2f1f2;
}
.activity-tabs button {
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.activity-tabs button.active {
  background: #fff;
  color: var(--ink);
  box-shadow: 0 1px 3px rgba(16,11,11,.1);
}
.ledger-list {
  display: grid;
  gap: 2px;
}
.ledger-list > div {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid #eeeef0;
  font-size: 12px;
}
.ledger-list span {
  color: #555861;
}
.ledger-list strong {
  color: var(--red);
}
.ledger-list strong.positive {
  color: var(--green);
}
.memory-safety-copy {
  margin: -8px 0 14px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}
.memory-list {
  display: grid;
}
.memory-row {
  padding: 12px 0;
  border-bottom: 1px solid #eeeef0;
}
.memory-row > span {
  display: block;
  margin-bottom: 5px;
  color: #8c6f00;
  font-size: 10px;
  font-weight: 800;
}
.memory-row > p {
  margin: 0;
  color: #414047;
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.admin-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 232px minmax(0,1fr);
  background: var(--canvas);
}
.admin-sidebar {
  height: 100vh;
  position: sticky;
  top: 0;
  background: var(--ink);
  color: #fff;
  padding: 18px 14px;
  display: flex;
  flex-direction: column;
}
.admin-sidebar > img {
  width: 132px;
  height: auto;
  background: #fff;
  border-radius: 5px;
  padding: 4px;
}
.admin-brand-copy {
  display: grid;
  margin: 12px 4px 28px;
}
.admin-brand-copy strong {
  font-size: 14px;
}
.admin-brand-copy span {
  color: #a9a3a3;
  font-size: 11px;
}
.admin-sidebar nav {
  display: grid;
  gap: 4px;
}
.admin-sidebar nav button {
  height: 42px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #bbb5b5;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 11px;
  text-align: left;
}
.admin-sidebar nav button:hover, .admin-sidebar nav button.active {
  background: #2b2424;
  color: #fff;
}
.admin-profile {
  border-color: #3c3434;
}
.admin-profile .icon-button:hover {
  background: #2b2424;
  border-color: #4a4040;
}
.admin-main {
  min-width: 0;
  padding: 0 30px 36px;
}
.admin-header {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--line);
}
.admin-header h1 {
  font-size: 24px;
  margin: 5px 0 0;
}
.status-banner {
  margin: 14px 0;
  padding: 10px 12px;
  border-left: 3px solid var(--teal);
  background: #e7f4f3;
  color: #075e59;
  font-size: 13px;
}
.stats-band {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 7px;
  margin: 24px 0;
}
.stats-band > div {
  min-height: 112px;
  padding: 20px;
  display: grid;
  align-content: center;
  border-right: 1px solid var(--line);
}
.stats-band > div:last-child {
  border-right: 0;
}
.stats-band span {
  color: var(--muted);
  font-size: 12px;
}
.stats-band strong {
  font-size: 31px;
  margin-top: 6px;
}
.admin-grid {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr);
  gap: 18px;
}
.admin-section {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 18px;
  min-width: 0;
}
.admin-section.full {
  margin-top: 24px;
}
.admin-section h2 {
  font-size: 16px;
  margin-bottom: 16px;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section-heading button {
  border: 0;
  background: transparent;
  color: var(--red);
  font-size: 12px;
}
.operation-row, .credit-row, .invite-row, .job-row {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #eeeef0;
}
.operation-row > div:first-child, .credit-row > div, .invite-row > div, .job-row > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.operation-row strong, .credit-row strong, .job-row strong {
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.operation-row span, .credit-row span, .invite-row span, .job-row span {
  color: var(--muted);
  font-size: 11px;
}
.row-actions {
  display: inline-flex;
  gap: 5px;
}
.row-actions button {
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 8px;
}
.row-actions button:first-child {
  color: var(--green);
}
.row-actions button:last-child {
  color: var(--red);
}
.job-row {
  justify-content: flex-start;
}
.job-row > div {
  flex: 1;
}
.job-row em {
  font-style: normal;
  font-size: 10px;
  color: var(--muted);
}
.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #aaa;
}
.status-dot.succeeded {
  background: var(--green);
}
.status-dot.failed, .status-dot.refunded {
  background: var(--red);
}
.empty-line {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 13px;
}
.data-table {
  overflow-x: auto;
}
.table-head, .table-row {
  min-width: 720px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr .8fr 1.4fr;
  gap: 12px;
  align-items: center;
  padding: 11px 8px;
}
.table-head {
  color: var(--muted);
  font-size: 11px;
  border-bottom: 1px solid var(--line);
}
.table-row {
  font-size: 13px;
  border-bottom: 1px solid #eeeef0;
}
.invite-layout {
  margin-top: 24px;
}
.department-layout {
  grid-template-columns: minmax(280px,.9fr) minmax(360px,1.2fr) minmax(280px,.9fr);
}
.form-section {
  display: grid;
  align-content: start;
  gap: 14px;
}
.form-section label {
  display: grid;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
}
.form-section .primary-button {
  margin-top: 4px;
}
.invite-row code {
  font-size: 13px;
  font-weight: 800;
}
.invite-row strong, .credit-row b {
  font-size: 18px;
}
.department-manager .section-heading > span {
  color: var(--muted);
  font-size: 11px;
}
.department-add-form {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
  align-items: end;
  padding-bottom: 14px;
}
.department-add-form label, .department-rename-field {
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
}
.department-add-form input, .department-rename-field input {
  width: 100%;
  height: 40px;
  border: 1px solid #cfd1d6;
  border-radius: 6px;
  padding: 0 11px;
  outline: none;
}
.department-add-form input:focus, .department-rename-field input:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(16,11,11,.08);
}
.department-add-form button {
  height: 40px;
}
.department-list {
  border-top: 1px solid #eeeef0;
}
.department-row {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #eeeef0;
}
.department-row > div:first-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.department-row strong {
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.department-row span {
  color: var(--green);
  font-size: 10px;
}
.department-row.disabled strong {
  color: var(--muted);
}
.department-row.disabled span {
  color: var(--red);
}
.department-rename-field {
  flex: 1;
}
.department-rename-field > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}
.provider-config-layout {
  grid-template-columns: minmax(460px,1.1fr) minmax(320px,.9fr);
}
.provider-form-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.provider-form-heading h2 {
  margin-bottom: 6px;
}
.provider-form-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}
.provider-mode {
  height: 25px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border-radius: 13px;
  font-size: 10px;
  font-weight: 800;
}
.provider-mode.n1n {
  color: #075e59;
  background: #e7f4f3;
}
.provider-mode.unconfigured {
  color: #8f1714;
  background: var(--soft-red);
}
.provider-static-field {
  height: 46px;
  display: flex;
  align-items: center;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f7f7f8;
  color: #40434a;
  font-weight: 600;
}
.provider-model-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.provider-model-grid label {
  display: grid;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
}
.provider-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
}
.connection-result {
  padding: 10px 12px;
  border-left: 3px solid #999;
  background: #f3f3f4;
  font-size: 12px;
}
.connection-result.success {
  color: #075e3e;
  background: #e9f7f0;
  border-color: var(--green);
}
.connection-result.error {
  color: #8f1714;
  background: var(--soft-red);
  border-color: var(--red);
}
.provider-guide dl {
  margin: 0;
}
.provider-guide dl > div {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid #eeeef0;
}
.provider-guide dt {
  color: var(--muted);
  font-size: 11px;
}
.provider-guide dd {
  margin: 0;
  font-family: Consolas, monospace;
  font-size: 11px;
}
.provider-security {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 18px;
  padding: 14px 0 0;
  border-top: 1px solid var(--line);
  color: var(--teal);
}
.provider-security > div {
  min-width: 0;
}
.provider-security strong {
  display: block;
  color: var(--ink);
  font-size: 12px;
}
.provider-security p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 11px;
}
.provider-token-pool {
  grid-column: 1 / -1;
}
.provider-token-pool .section-heading > div {
  display: grid;
  gap: 4px;
}
.provider-token-pool .section-heading span {
  color: var(--muted);
  font-size: 11px;
}
.provider-token-pool .section-heading > strong {
  color: var(--green);
  font-size: 12px;
}
.provider-token-list {
  margin-top: 12px;
  border-top: 1px solid #eeeef0;
}
.provider-token-row {
  min-height: 64px;
  display: grid;
  grid-template-columns: minmax(180px,1.2fr) 72px minmax(140px,.8fr) auto;
  gap: 14px;
  align-items: center;
  border-bottom: 1px solid #eeeef0;
}
.provider-token-identity {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.provider-token-identity strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.provider-token-identity code {
  color: var(--muted);
  font-size: 10px;
}
.provider-token-status {
  width: fit-content;
  padding: 4px 7px;
  border-radius: 10px;
  background: #eee;
  color: #555;
  font-size: 9px;
  font-weight: 800;
}
.provider-token-status.active {
  color: #075e3e;
  background: #e9f7f0;
}
.provider-token-status.busy {
  color: #6f5100;
  background: #fff2bf;
}
.provider-token-status.cooldown {
  color: #7a4100;
  background: #fff0df;
}
.provider-token-status.disabled {
  color: #8f1714;
  background: var(--soft-red);
}
.provider-token-metrics {
  color: var(--muted);
  font-size: 10px;
}
.model-center-shell {
  margin-top: 24px;
}
.model-center-titlebar {
  min-height: 72px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.model-center-titlebar h2 {
  margin: 4px 0 5px;
  font-size: 21px;
}
.model-center-titlebar p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.model-center-title-actions, .model-version-actions, .model-editor-actions, .model-token-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.model-center-message {
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 9px 12px;
  border-left: 3px solid var(--teal);
  background: #e7f4f3;
  color: #075e59;
  font-size: 12px;
}
.model-center-message.error {
  border-color: var(--red);
  background: var(--soft-red);
  color: #8f1714;
}
.model-center-layout {
  min-height: 620px;
  display: grid;
  grid-template-columns: 280px minmax(0,1fr);
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  overflow: hidden;
}
.model-directory {
  min-width: 0;
  border-right: 1px solid var(--line);
  background: #fafafa;
}
.model-directory-tools {
  display: grid;
  gap: 8px;
  padding: 13px;
  border-bottom: 1px solid var(--line);
}
.model-directory-tools select, .model-search {
  width: 100%;
  height: 38px;
  border: 1px solid #d4d5d8;
  border-radius: 5px;
  background: #fff;
}
.model-directory-tools select {
  padding: 0 9px;
  color: var(--ink);
}
.model-search {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 9px;
  color: var(--muted);
}
.model-search input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
}
.model-directory-list {
  padding: 7px;
}
.model-directory-row {
  width: 100%;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.model-directory-row:hover {
  background: #f2f2f3;
}
.model-directory-row.active {
  border-color: #e7c500;
  background: #fff8ce;
}
.model-directory-main {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.model-directory-main strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.model-directory-main small, .model-directory-meta small {
  color: var(--muted);
  font-size: 10px;
}
.model-directory-meta {
  display: flex;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
}
.model-directory-empty {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}
.model-center-detail {
  min-width: 0;
  padding: 18px;
}
.model-version-toolbar {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
}
.model-version-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}
.model-status, .model-config-status, .model-test-passed, .model-token-state {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 7px;
  border-radius: 10px;
  background: #eee;
  color: #555;
  font-size: 9px;
  font-weight: 800;
}
.model-status.status-enabled, .model-config-status.status-published, .model-test-passed, .model-token-state.active {
  background: #e9f7f0;
  color: #075e3e;
}
.model-status.status-maintenance, .model-config-status.status-draft, .model-token-state.cooldown {
  background: #fff2bf;
  color: #6f5100;
}
.model-status.status-disabled, .model-status.status-archived, .model-token-state.disabled {
  background: var(--soft-red);
  color: #8f1714;
}
.model-editor {
  padding-top: 17px;
}
.model-editor-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.model-editor-heading h3 {
  margin: 4px 0 0;
  font-size: 18px;
}
.model-editor-fields {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.model-form-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.model-form-grid label, .model-token-add label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
}
.model-form-grid input, .model-form-grid select, .model-form-grid textarea, .model-token-add input {
  width: 100%;
  min-height: 40px;
  border: 1px solid #cfd1d6;
  border-radius: 5px;
  padding: 8px 10px;
  background: #fff;
  color: var(--ink);
  outline: none;
}
.model-form-grid input:focus, .model-form-grid select:focus, .model-form-grid textarea:focus, .model-token-add input:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(16,11,11,.08);
}
.model-form-grid textarea {
  resize: vertical;
}
.model-field-wide {
  grid-column: 1 / -1;
}
.model-editor-section {
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid var(--line);
}
.model-editor-section-title {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 800;
}
.model-advanced-settings {
  margin-top: 16px;
  border-top: 1px solid var(--line);
}
.model-advanced-settings summary {
  padding: 13px 0;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}
.image-output-table-scroll {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
}
.image-output-matrix, .image-output-size-matrix {
  width: 100%;
  min-width: 700px;
  table-layout: fixed;
  border-collapse: collapse;
}
.image-output-ratio-column {
  width: 72px;
}
.image-output-tier-column {
  width: 157px;
}
.image-output-matrix th, .image-output-matrix td, .image-output-size-matrix th, .image-output-size-matrix td {
  border-right: 1px solid #e7e7e9;
  border-bottom: 1px solid #e7e7e9;
}
.image-output-matrix tr:last-child > *, .image-output-size-matrix tr:last-child > * {
  border-bottom: 0;
}
.image-output-matrix tr > *:last-child, .image-output-size-matrix tr > *:last-child {
  border-right: 0;
}
.image-output-matrix th, .image-output-size-matrix th {
  height: 36px;
  padding: 7px 9px;
  background: #f7f7f8;
  color: #555;
  font-size: 10px;
  text-align: left;
}
.image-output-matrix td {
  height: 82px;
  padding: 9px;
  vertical-align: top;
}
.image-output-toggle {
  min-height: 20px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
}
.image-output-toggle input {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  margin: 0;
  accent-color: var(--ink);
}
.image-output-size {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-family: Consolas, monospace;
  font-size: 10px;
  white-space: nowrap;
}
.image-output-error {
  display: block;
  margin-top: 5px;
  color: var(--red);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.image-output-matrix td.has-error, .image-output-size-matrix td.has-error {
  background: var(--soft-red);
}
.image-output-advanced {
  margin-top: 10px;
  border-top: 1px solid var(--line);
}
.image-output-advanced summary {
  padding: 11px 0;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}
.image-output-size-matrix td {
  min-height: 58px;
  padding: 8px;
  vertical-align: top;
}
.image-output-size-matrix input {
  width: 100%;
  height: 34px;
  border: 1px solid #cfd1d6;
  border-radius: 5px;
  padding: 6px 8px;
  background: #fff;
  color: var(--ink);
  font-family: Consolas, monospace;
  font-size: 10px;
  outline: none;
}
.image-output-size-matrix input:focus, .image-tier-price-grid input:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(16,11,11,.08);
}
.image-tier-pricing {
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
}
.image-tier-pricing-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.image-tier-pricing-title strong {
  font-size: 12px;
}
.image-tier-pricing-title span {
  color: var(--muted);
  font-size: 10px;
}
.image-tier-price-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(120px,1fr));
  gap: 10px;
  margin-top: 10px;
}
.image-tier-price-grid label {
  min-width: 0;
  display: grid;
  gap: 5px;
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
}
.image-tier-price-grid input {
  width: 100%;
  height: 38px;
  border: 1px solid #cfd1d6;
  border-radius: 5px;
  padding: 7px 9px;
  background: #fff;
  color: var(--ink);
  outline: none;
}
.model-editor-actions {
  justify-content: flex-end;
  margin-top: 16px;
}
.model-token-section {
  margin-top: 20px;
  padding-top: 17px;
  border-top: 1px solid var(--line);
}
.model-token-heading, .model-token-heading > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.model-token-heading > div > span {
  display: grid;
  gap: 3px;
}
.model-token-heading strong {
  font-size: 13px;
}
.model-token-heading small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 400;
}
.model-token-heading > strong {
  color: var(--green);
  font-size: 11px;
}
.model-token-add {
  display: grid;
  grid-template-columns: minmax(160px,.8fr) minmax(220px,1.2fr) 90px auto;
  gap: 10px;
  align-items: end;
  margin-top: 14px;
  padding: 13px;
  background: #f7f7f8;
}
.model-token-list {
  margin-top: 12px;
  border-top: 1px solid var(--line);
}
.model-token-row {
  min-height: 61px;
  display: grid;
  grid-template-columns: minmax(180px,1.2fr) 80px minmax(130px,.8fr) auto;
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid #eeeef0;
}
.model-token-row > div:first-child {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.model-token-row > div:first-child strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.model-token-row > div:first-child small, .model-token-usage {
  color: var(--muted);
  font-size: 10px;
}
.model-center-welcome {
  min-height: 480px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 9px;
  text-align: center;
}
.model-center-welcome h3, .model-center-welcome p {
  margin: 0;
}
.model-center-welcome p {
  color: var(--muted);
  font-size: 12px;
}
.legacy-provider-fallback {
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
}
.legacy-provider-fallback > summary {
  padding: 15px 18px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
}
.legacy-provider-fallback > p {
  margin: 0;
  padding: 0 18px 14px;
  color: var(--muted);
  font-size: 11px;
}
.legacy-provider-fallback .provider-config-layout {
  margin: 0;
  padding: 0 18px 18px;
}
.log-workspace {
  margin-top: 24px;
}
.conversation-logs {
  min-width: 0;
}
.conversation-logs-note {
  margin: 10px 0 14px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}
.conversation-logs-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
}
.conversation-logs-filters label {
  display: grid;
  gap: 6px;
  min-width: 140px;
  flex: 1;
  font-size: 12px;
  color: var(--muted);
}
.conversation-logs-filters input, .conversation-logs-filters select {
  width: 100%;
  min-width: 0;
  height: 38px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: white;
  color: var(--ink);
}
.conversation-logs-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 20px 0 12px;
}
.conversation-logs-heading h2 {
  font-size: 16px;
}
.conversation-logs-heading > span {
  color: var(--muted);
  font-size: 12px;
}
.conversation-logs-totals {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 20px;
}
.conversation-logs-totals > div {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.conversation-logs-totals span, .conversation-logs-totals small {
  font-size: 12px;
  color: var(--muted);
}
.conversation-logs-totals strong {
  font-size: 20px;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.conversation-logs-groups {
  margin-bottom: 14px;
  font-size: 12px;
}
.conversation-logs-groups summary {
  cursor: pointer;
}
.conversation-logs-groups > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  padding-top: 14px;
}
.conversation-logs-table-wrap {
  padding: 0;
  overflow-x: auto;
}
.conversation-logs-table-wrap table {
  width: 100%;
  min-width: 1380px;
  border-collapse: collapse;
  text-align: left;
  font-size: 12px;
}
.conversation-logs-table-wrap th, .conversation-logs-table-wrap td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.conversation-logs-table-wrap th {
  background: #f7f9f9;
  color: var(--muted);
  font-weight: 500;
  white-space: nowrap;
}
.conversation-logs-table-wrap td {
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  max-width: 230px;
}
.conversation-logs-table-wrap td small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
}
.conversation-logs-table-wrap time {
  white-space: nowrap;
}
.conversation-logs-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin: 14px 0;
  font-size: 12px;
  color: var(--muted);
}
.conversation-logs button:focus-visible, .conversation-logs input:focus-visible, .conversation-logs select:focus-visible, .conversation-logs-table-wrap:focus-visible, .conversation-logs summary:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}
.log-toolbar {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
}
.log-toolbar label {
  height: 38px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
  color: var(--muted);
}
.log-toolbar label > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}
.log-toolbar input, .log-toolbar select {
  height: 34px;
  min-width: 220px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
}
.log-toolbar select {
  min-width: 130px;
}
.log-toolbar > strong {
  margin-left: auto;
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
}
.system-log-toolbar {
  flex-wrap: wrap;
}
.system-log-toolbar input[type="date"] {
  min-width: 135px;
}
.log-layout {
  display: grid;
  grid-template-columns: minmax(640px,1.45fr) minmax(330px,.55fr);
  gap: 14px;
}
.log-table-wrap {
  overflow-x: auto;
}
.log-table {
  min-width: 760px;
}
.log-table-head, .generation-log-table > button, .system-log-row {
  display: grid;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #eeeef0;
}
.generation-log-table .log-table-head, .generation-log-table > button {
  grid-template-columns: 105px minmax(150px,1.15fr) 90px minmax(130px,1fr) 52px 22px;
}
.log-table-head {
  min-height: 36px;
  color: var(--muted);
  font-size: 10px;
}
.generation-log-table > button {
  width: 100%;
  min-height: 62px;
  padding: 7px 0;
  border-width: 0 0 1px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.generation-log-table > button:hover, .generation-log-table > button.selected {
  background: #faf8ed;
}
.generation-log-table > button > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
}
.generation-log-table > button > span:nth-child(2) {
  display: grid;
  gap: 3px;
}
.generation-log-table b, .system-log-row b {
  font-size: 12px;
}
.generation-log-table small, .system-log-row small {
  color: var(--muted);
  font-size: 9px;
}
.log-status {
  width: fit-content;
  padding: 4px 7px;
  border-radius: 10px;
  background: #eee;
  color: #555;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}
.log-status.succeeded {
  color: #075e3e;
  background: #e9f7f0;
}
.log-status.failed, .log-status.refunded {
  color: #8f1714;
  background: var(--soft-red);
}
.log-detail {
  min-height: 390px;
}
.log-detail .section-heading code {
  color: var(--muted);
  font-size: 10px;
}
.log-detail dl {
  margin: 0;
}
.log-detail dl > div {
  min-height: 42px;
  display: grid;
  grid-template-columns: 70px minmax(0,1fr);
  align-items: center;
  border-top: 1px solid #eeeef0;
}
.log-detail dt {
  color: var(--muted);
  font-size: 10px;
}
.log-detail dd {
  margin: 0;
  font-size: 11px;
  overflow-wrap: anywhere;
}
.prompt-detail, .log-assets {
  margin-top: 14px;
}
.prompt-detail > span, .log-assets > span {
  color: var(--muted);
  font-size: 10px;
}
.prompt-detail p {
  margin: 7px 0 0;
  padding: 11px;
  background: #f7f7f8;
  border-left: 3px solid var(--ink);
  font-size: 12px;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.log-error-detail {
  display: flex;
  gap: 9px;
  margin-top: 12px;
  padding: 11px;
  background: var(--soft-red);
  color: var(--red);
}
.log-error-detail strong {
  font-size: 11px;
}
.log-error-detail p {
  margin: 3px 0 0;
  font-size: 10px;
  line-height: 1.5;
}
.log-assets > div {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px;
  margin-top: 7px;
}
.log-assets img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 4px;
}
.log-detail-empty {
  min-height: 330px;
  display: grid;
  place-content: center;
  justify-items: center;
  color: var(--muted);
  text-align: center;
}
.log-detail-empty p {
  max-width: 220px;
  font-size: 11px;
  line-height: 1.6;
}
.system-log-table {
  min-width: 1120px;
}
.system-log-table .log-table-head, .system-log-row {
  grid-template-columns: 110px 58px 145px minmax(130px,1fr) minmax(180px,1.2fr) minmax(300px,1.6fr);
}
.system-log-row {
  min-height: 62px;
  padding: 8px 0;
  font-size: 10px;
}
.system-log-row > span {
  min-width: 0;
  display: grid;
  gap: 2px;
  overflow-wrap: anywhere;
}
.system-log-row > em {
  width: fit-content;
  padding: 3px 6px;
  font-style: normal;
  font-weight: 800;
}
.system-log-row > em.error {
  color: var(--red);
  background: var(--soft-red);
}
.system-log-row > em.success {
  color: var(--green);
  background: #e9f7f0;
}
.system-log-row > em.warning {
  color: #805300;
  background: #fff3c4;
}
.system-log-row > code {
  color: var(--red);
  font-size: 10px;
  overflow-wrap: anywhere;
}
.system-log-row > code.warning {
  color: #805300;
}
.system-log-row > p {
  grid-column: 3 / -1;
  margin: -6px 0 4px;
  color: var(--muted);
  font-size: 9px;
}
.token-billing-panel {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}
.token-billing-tabs, .token-ledger-switch {
  display: flex;
  align-items: center;
  gap: 3px;
  border-bottom: 1px solid var(--line);
}
.token-billing-tabs button, .token-ledger-switch button {
  min-height: 39px;
  padding: 0 14px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.token-billing-tabs button.active, .token-ledger-switch button.active {
  border-bottom-color: var(--red);
  color: var(--ink);
}
.token-policy-form, .token-adjustment-form {
  max-width: 840px;
  display: grid;
  gap: 14px;
}
.token-policy-form .section-heading p, .token-adjustment-form .section-heading p, .token-profile-form .section-heading p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 10px;
}
.token-policy-form label, .token-adjustment-form label, .token-form-grid label {
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
}
.token-policy-form input, .token-policy-form select, .token-policy-form textarea, .token-adjustment-form input, .token-adjustment-form textarea, .token-adjustment-form select, .token-form-grid input, .token-form-grid select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #cfd1d6;
  border-radius: 5px;
  background: #fff;
  padding: 9px 11px;
  color: var(--ink);
  outline: none;
}
.token-policy-form textarea, .token-adjustment-form textarea {
  min-height: 76px;
  resize: vertical;
}
.token-policy-form .token-check {
  display: flex;
  align-items: center;
  gap: 8px;
}
.token-check input {
  width: 16px;
  min-height: 16px;
}
.token-policy-form .primary-button, .token-adjustment-form .primary-button {
  width: fit-content;
  justify-self: end;
}
.token-profile-layout {
  display: grid;
  grid-template-columns: minmax(520px,1.15fr) minmax(360px,.85fr);
  gap: 14px;
}
.token-profile-form {
  display: grid;
  gap: 14px;
}
.token-form-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 11px;
}
.token-form-grid label small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 400;
}
.token-profile-preview {
  padding: 10px 12px;
  border-left: 3px solid var(--teal);
  background: #e7f4f3;
  color: #075e59;
  font-size: 12px;
  font-weight: 700;
}
.token-profile-form .primary-button {
  justify-self: end;
}
.token-profile-list article {
  min-height: 66px;
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  border-top: 1px solid #eeeef0;
}
.token-profile-list article > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.token-profile-list article strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.token-profile-list article span, .token-profile-list article small {
  color: var(--muted);
  font-size: 9px;
}
.token-profile-list article em {
  padding: 4px 7px;
  border-radius: 10px;
  background: #e9f7f0;
  color: #075e3e;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}
.token-profile-list article button {
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  color: var(--green);
}
.token-ledger-switch {
  margin-bottom: 12px;
}
.token-ledger-filters {
  display: flex;
  align-items: end;
  gap: 8px;
  margin-bottom: 10px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.token-ledger-filters label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}
.token-ledger-filters input, .token-ledger-filters select {
  min-width: 150px;
  height: 36px;
  border: 1px solid #cfd1d6;
  border-radius: 5px;
  background: #fff;
  padding: 0 9px;
}
.token-ledger-layout {
  display: grid;
  grid-template-columns: minmax(650px,1.45fr) minmax(280px,.55fr);
  gap: 12px;
}
.token-ledger-list {
  padding-top: 7px;
  overflow-x: auto;
}
.token-ledger-list > button {
  width: 100%;
  min-width: 640px;
  min-height: 58px;
  display: grid;
  grid-template-columns: 105px minmax(190px,1.2fr) 120px minmax(150px,.8fr);
  gap: 10px;
  align-items: center;
  border-width: 0 0 1px;
  border-color: #eeeef0;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.token-ledger-list > button:hover {
  background: #faf8ed;
}
.token-ledger-list > button span:nth-child(2) {
  display: grid;
  gap: 3px;
}
.token-ledger-list b {
  font-size: 11px;
}
.token-ledger-list span, .token-ledger-list small, .token-ledger-list code {
  color: var(--muted);
  font-size: 9px;
}
.token-ledger-list strong {
  font-size: 11px;
  overflow-wrap: anywhere;
}
.token-ledger-detail {
  min-height: 260px;
}
.token-ledger-detail dl {
  margin: 0;
}
.token-ledger-detail dl > div {
  min-height: 42px;
  display: grid;
  grid-template-columns: 90px minmax(0,1fr);
  align-items: center;
  border-top: 1px solid #eeeef0;
}
.token-ledger-detail dt {
  color: var(--muted);
  font-size: 9px;
}
.token-ledger-detail dd {
  margin: 0;
  font-size: 11px;
  overflow-wrap: anywhere;
}
.token-ledger-detail > p {
  color: var(--muted);
  font-size: 11px;
}
.ledger-next {
  margin-top: 10px;
}
.account-workspace {
  margin-top: 24px;
}
.account-filter-band {
  display: grid;
  grid-template-columns: minmax(190px,1.35fr) repeat(3,minmax(120px,.7fr)) repeat(2,minmax(130px,.75fr)) auto;
  gap: 9px;
  align-items: end;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
}
.account-filter-band label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}
.account-filter-band input, .account-filter-band select {
  width: 100%;
  height: 39px;
  border: 1px solid #cfd1d6;
  border-radius: 5px;
  background: #fff;
  padding: 0 10px;
  color: var(--ink);
  outline: none;
}
.account-filter-band input:focus, .account-filter-band select:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(16,11,11,.07);
}
.account-search-field > div {
  position: relative;
}
.account-search-field svg {
  position: absolute;
  left: 10px;
  top: 11px;
  color: var(--muted);
}
.account-search-field input {
  padding-left: 34px;
}
.account-filter-band .secondary-button {
  height: 39px;
  white-space: nowrap;
}
.account-list-meta {
  min-height: 45px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 11px;
}
.account-list-meta p {
  margin: 0;
}
.account-sort-control {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
}
.account-sort-control select, .account-department-form select {
  min-height: 39px;
  max-width: 100%;
  border: 1px solid #cfd1d6;
  border-radius: 5px;
  background: #fff;
  padding: 8px 10px;
  color: var(--ink);
}
.account-department-form {
  grid-column: 1 / -1;
}
.account-table-wrap {
  padding-top: 8px;
  overflow-x: auto;
}
.account-table {
  min-width: 980px;
}
.account-table-head, .account-table > button {
  display: grid;
  grid-template-columns: minmax(170px,1.25fr) minmax(110px,.75fr) 110px 80px 80px minmax(145px,1fr) 24px;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #eeeef0;
}
.account-table-head {
  min-height: 36px;
  color: var(--muted);
  font-size: 10px;
}
.account-table > button {
  width: 100%;
  min-height: 64px;
  padding: 8px 0;
  border-width: 0 0 1px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.account-table > button:hover {
  background: #faf8ed;
}
.account-table > button > span:first-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.account-table > button b {
  font-size: 12px;
}
.account-table > button small {
  color: var(--muted);
  font-size: 9px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-table > button > span, .account-table > button > strong {
  font-size: 11px;
  overflow-wrap: anywhere;
}
.account-table > button > strong {
  color: var(--red);
}
.account-back-button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 12px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  color: var(--ink);
}
.account-detail-heading {
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 3px 16px;
}
.account-avatar {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--ink);
}
.account-detail-heading > div:nth-child(2) {
  min-width: 0;
}
.account-detail-heading h2 {
  margin: 0;
  font-size: 22px;
}
.account-detail-heading p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 11px;
}
.account-status {
  margin-left: auto;
  padding: 5px 8px;
  border-radius: 12px;
  background: #eee;
  color: #555;
  font-size: 10px;
  font-weight: 800;
}
.account-status.active {
  background: #e9f7f0;
  color: #075e3e;
}
.account-status.rejected, .account-status.disabled {
  background: var(--soft-red);
  color: var(--red);
}
.account-summary-band {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
}
.account-summary-band > div {
  min-height: 104px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 16px 18px;
  border-right: 1px solid var(--line);
}
.account-summary-band > div:last-child {
  border-right: 0;
}
.account-summary-band span, .account-summary-band small {
  color: var(--muted);
  font-size: 10px;
}
.account-summary-band strong {
  font-size: 24px;
}
.account-detail-grid {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) minmax(280px,.5fr);
  gap: 16px;
  margin-top: 16px;
}
.daily-spend-section .section-heading h2 {
  margin-bottom: 4px;
}
.daily-spend-section .section-heading p, .account-credit-form > div p, .account-generation-section .section-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
}
.daily-spend-chart {
  min-height: 172px;
  display: flex;
  align-items: flex-end;
  gap: 5px;
  padding-top: 22px;
  overflow-x: auto;
}
.daily-spend-column {
  min-width: 24px;
  height: 145px;
  display: grid;
  grid-template-rows: 16px 112px 17px;
  align-items: end;
  justify-items: center;
  flex: 1;
  color: var(--muted);
}
.daily-spend-column > span {
  font-size: 8px;
}
.daily-spend-column > i {
  width: min(72%,18px);
  min-height: 2px;
  display: block;
  background: var(--yellow);
  border: 1px solid #d7b800;
  border-bottom: 0;
}
.daily-spend-column > small {
  font-size: 8px;
  white-space: nowrap;
}
.account-credit-form {
  display: grid;
  align-content: start;
  gap: 13px;
}
.account-credit-form h2 {
  margin-bottom: 4px;
}
.account-credit-form label {
  display: grid;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
}
.account-credit-form input, .account-credit-form textarea {
  width: 100%;
  border: 1px solid #cfd1d6;
  border-radius: 5px;
  padding: 10px;
  outline: none;
}
.account-credit-form input {
  height: 41px;
}
.account-credit-form textarea {
  min-height: 74px;
  resize: vertical;
}
.account-role-form {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(260px,.7fr) auto;
  align-items: end;
  gap: 16px;
}
.account-role-form h2 {
  margin-bottom: 4px;
}
.account-role-form p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
}
.account-role-form label {
  display: grid;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
}
.account-role-form select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #cfd1d6;
  border-radius: 5px;
  background: #fff;
  padding: 9px 11px;
  color: var(--ink);
  outline: none;
}
.account-role-form > button {
  white-space: nowrap;
}
.account-role-current {
  align-self: center;
  font-size: 12px !important;
  font-weight: 700;
}
.account-password-security {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.account-password-security h2 {
  margin-bottom: 4px;
}
.account-password-security p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
}
.account-password-admin-note {
  padding: 9px 11px;
  border-left: 3px solid var(--red);
  background: var(--soft-red);
  color: var(--red) !important;
  font-weight: 700;
}
.password-reset-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(16,11,11,.48);
}
.password-reset-dialog {
  width: min(460px,100%);
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.password-reset-dialog h2 {
  margin: 8px 0;
  font-size: 22px;
}
.password-reset-dialog > p {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}
.password-reset-dialog > code {
  display: block;
  padding: 14px;
  border: 1px solid #d7b800;
  border-radius: 5px;
  background: #fff8cc;
  color: var(--ink);
  font-size: 16px;
  font-weight: 800;
  overflow-wrap: anywhere;
  user-select: all;
}
.password-reset-dialog > div {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}
.account-generation-section {
  margin-top: 16px;
}
.account-generation-section .section-heading h2 {
  margin-bottom: 4px;
}
.account-generation-section .section-heading > strong {
  color: var(--muted);
  font-size: 11px;
}
.account-generation-list {
  display: grid;
  gap: 12px;
}
.account-generation-list article {
  padding: 14px 0 4px;
  border-top: 1px solid #eeeef0;
}
.account-generation-list article > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.account-generation-list article > header > div {
  display: flex;
  align-items: center;
  gap: 9px;
}
.account-generation-list time {
  color: var(--muted);
  font-size: 10px;
}
.account-generation-list code {
  color: var(--muted);
  font-size: 9px;
}
.account-job-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  margin-top: 9px;
  color: var(--muted);
  font-size: 10px;
}
.account-job-error {
  margin-top: 10px;
  padding: 10px;
  border-left: 3px solid var(--red);
  background: var(--soft-red);
  color: var(--red);
}
.account-job-error strong {
  font-size: 10px;
}
.account-job-error p {
  margin: 4px 0 0;
  font-size: 10px;
}
.account-model-run-section {
  margin-top: 14px;
}
.account-model-token-usage, .account-model-timing {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 10px;
}
.account-job-assets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.account-job-assets img {
  width: 180px;
  height: 126px;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 4px;
}
@media (max-width: 1180px) {
  .platform-content {
    width: calc(100% - 40px);
  }
  .platform-capabilities, .platform-lower-grid {
    grid-template-columns: 1fr;
  }
  .future-modules {
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-rows: auto;
  }
  .workbench-shell {
    grid-template-columns: 226px minmax(0,1fr);
  }
  .department-layout {
    grid-template-columns: 1fr 1fr;
  }
  .department-layout > :last-child {
    grid-column: 1 / -1;
  }
  .log-layout {
    grid-template-columns: 1fr;
  }
  .token-profile-layout, .token-ledger-layout {
    grid-template-columns: 1fr;
  }
  .account-filter-band {
    grid-template-columns: repeat(3,minmax(150px,1fr));
  }
  .account-detail-grid {
    grid-template-columns: 1fr;
  }
  .model-token-add {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .image-tier-price-grid {
    grid-template-columns: repeat(2,minmax(120px,1fr));
  }
  .activity-panel {
    display: none;
  }
}
@media (max-width: 860px) {
  .mobile-only {
    display: inline-flex;
  }
  .auth-page {
    grid-template-columns: 1fr;
  }
  .auth-brand-band {
    min-height: 230px;
    padding: 26px 24px;
    justify-content: flex-start;
    gap: 22px;
  }
  .auth-brand-band::after {
    font-size: 150px;
    bottom: -50px;
  }
  .auth-brand-band img {
    width: 150px;
  }
  .auth-brand-band h1 {
    font-size: 28px;
    margin-bottom: 8px;
  }
  .auth-brand-band p {
    display: none;
  }
  .auth-panel {
    min-height: calc(100vh - 230px);
    padding: 34px 22px;
    place-items: start center;
  }
  .platform-shell {
    grid-template-columns: 74px minmax(0,1fr);
  }
  .platform-sidebar {
    padding: 16px 10px;
  }
  .platform-brand {
    justify-content: center;
    min-height: 66px;
    padding: 0 0 16px;
  }
  .platform-brand img {
    width: 52px;
  }
  .platform-brand > span, .platform-nav-label, .platform-nav span, .platform-nav small, .platform-credit, .platform-profile > div, .platform-profile .icon-button {
    display: none;
  }
  .platform-nav {
    margin-top: 17px;
  }
  .platform-nav a, .platform-nav button {
    display: flex;
    justify-content: center;
    padding: 0;
  }
  .platform-personal-label {
    display: block;
    height: 1px;
    margin: 16px 7px 12px;
    padding: 0;
    overflow: hidden;
  }
  .platform-profile {
    display: flex;
    justify-content: center;
    padding: 12px 0 0;
  }
  .platform-topbar {
    padding: 0 18px;
  }
  .platform-content {
    width: calc(100% - 28px);
    padding-top: 28px;
  }
  .platform-welcome > p, .service-status {
    display: none;
  }
  .image-module {
    grid-template-columns: minmax(260px,.8fr) minmax(330px,1.2fr);
  }
  .workbench-shell {
    grid-template-columns: 1fr;
  }
  .workbench-sidebar {
    position: fixed;
    left: 0;
    top: 0;
    width: min(84vw,300px);
    transform: translateX(-105%);
    transition: transform .2s ease;
    box-shadow: 12px 0 32px rgba(0,0,0,.16);
  }
  .workbench-sidebar.open {
    transform: translateX(0);
  }
  .workbench-header {
    padding: 10px 12px;
    min-height: 68px;
  }
  .workbench-header > div:nth-child(2) {
    flex: 1;
  }
  .header-controls {
    min-width: 0;
    flex: 0 1 auto;
    max-width: calc(100% - 154px);
  }
  .header-controls > *, .model-picker {
    min-width: 0;
  }
  .workspace-mode-switch button {
    width: 34px;
    padding: 0;
    font-size: 0;
  }
  .header-controls select {
    min-width: 92px;
  }
  .model-picker select {
    width: min(28vw,150px);
    max-width: 100%;
    min-width: 0;
  }
  .fixed-spec-picker select {
    width: min(38vw,220px);
    max-width: 100%;
    min-width: 0;
  }
  .chat-scroll {
    padding: 18px 12px;
  }
  .message.user {
    width: 92%;
  }
  .message-assets {
    grid-template-columns: 1fr;
  }
  .composer-wrap {
    padding: 8px;
  }
  .composer-foot {
    padding: 0 4px;
  }
  .composer-foot span:last-child {
    display: none;
  }
  .admin-shell {
    grid-template-columns: 1fr;
  }
  .admin-sidebar {
    height: auto;
    position: static;
    padding: 10px 14px;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    overflow-x: auto;
  }
  .admin-sidebar > img {
    width: 86px;
  }
  .admin-brand-copy, .admin-sidebar .sidebar-spacer, .admin-profile {
    display: none;
  }
  .admin-sidebar nav {
    display: flex;
    gap: 4px;
  }
  .admin-sidebar nav button {
    white-space: nowrap;
    padding: 0 9px;
  }
  .admin-main {
    padding: 0 14px 24px;
  }
  .stats-band {
    grid-template-columns: repeat(2,1fr);
  }
  .stats-band > div:nth-child(2) {
    border-right: 0;
  }
  .stats-band > div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }
  .admin-grid {
    grid-template-columns: 1fr;
  }
  .account-filter-band {
    grid-template-columns: repeat(2,minmax(140px,1fr));
  }
  .account-summary-band {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .account-summary-band > div:nth-child(2) {
    border-right: 0;
  }
  .account-summary-band > div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }
  .account-role-form {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .account-role-form > button {
    width: 100%;
  }
  .provider-model-grid {
    grid-template-columns: 1fr;
  }
  .model-center-layout {
    grid-template-columns: 1fr;
  }
  .model-directory {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .model-directory-list {
    max-height: 220px;
    overflow-y: auto;
  }
  .model-version-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .model-form-grid, .model-token-add {
    grid-template-columns: 1fr;
  }
  .image-tier-price-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .model-token-row {
    grid-template-columns: minmax(0,1fr) auto;
    padding: 9px 0;
  }
  .model-token-usage {
    grid-column: 1;
  }
  .model-token-actions {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}
@media (max-width: 560px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
  .auth-brand-band {
    min-height: 205px;
  }
  .auth-panel {
    min-height: calc(100vh - 205px);
  }
  .auth-form-wrap > h2 {
    font-size: 25px;
  }
  .platform-topbar > div:first-child span {
    display: none;
  }
  .platform-welcome h1 {
    font-size: 25px;
  }
  .platform-section-heading span {
    display: none;
  }
  .image-module {
    grid-template-columns: 1fr;
  }
  .module-preview {
    min-height: 235px;
    border-top: 1px solid #e7c500;
    border-left: 0;
  }
  .future-modules {
    grid-template-columns: 1fr;
  }
  .recent-task {
    grid-template-columns: 38px minmax(0,1fr) 62px;
    padding: 0 10px;
  }
  .recent-task time {
    display: none;
  }
  .recent-task > a {
    width: 62px;
  }
  .header-controls label:not(.model-picker) {
    display: none;
  }
  .model-picker {
    display: grid;
  }
  .model-picker select {
    width: min(27vw, 108px);
  }
  .header-controls > .icon-button {
    display: none;
  }
  .image-workbench-header {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 8px 10px;
  }
  .image-workbench-header .header-controls {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr);
    gap: 8px;
  }
  .image-workbench-header .header-controls label.fixed-spec-picker {
    display: grid;
    min-width: 0;
  }
  .image-workbench-header .fixed-spec-picker:first-child {
    grid-column: 1 / -1;
  }
  .image-workbench-header .header-controls select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    font-size: 16px;
  }
  .workspace-mode-switch {
    grid-template-columns: repeat(2, 32px);
  }
  .workspace-mode-switch button {
    width: 32px;
  }
  .workbench-header h1 {
    font-size: 15px;
  }
  .empty-state h2 {
    font-size: 20px;
  }
  .stats-band > div {
    min-height: 88px;
    padding: 14px;
  }
  .stats-band strong {
    font-size: 24px;
  }
  .admin-header h1 {
    font-size: 20px;
  }
  .admin-header .secondary-button {
    width: 40px;
    padding: 0;
    font-size: 0;
  }
  .model-center-titlebar {
    flex-direction: column;
    align-items: stretch;
  }
  .model-center-title-actions {
    width: 100%;
    justify-content: flex-end;
  }
  .model-center-title-actions .primary-button {
    min-width: 120px;
    white-space: nowrap;
  }
  .image-tier-price-grid {
    grid-template-columns: 1fr;
  }
  .account-filter-band {
    grid-template-columns: 1fr;
  }
  .account-summary-band {
    grid-template-columns: 1fr;
  }
  .account-summary-band > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .account-summary-band > div:last-child {
    border-bottom: 0;
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

/* immutable fec31180345b661ee2e1ebf1b00d71d9c9de7e04: app/platform-responsive.css follows globals.css */
@media (max-width: 1180px) {
  .platform-content {
    width: calc(100% - 40px);
  }

  .platform-capabilities,
  .platform-lower-grid {
    grid-template-columns: 1fr;
  }

  .future-modules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }
}

@media (max-width: 860px) {
  .platform-shell {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .platform-sidebar {
    padding: 16px 10px;
  }

  .platform-brand {
    justify-content: center;
    min-height: 66px;
    padding: 0 0 16px;
  }

  .platform-brand img {
    width: 52px;
  }

  .platform-brand > span,
  .platform-nav-label,
  .platform-nav span,
  .platform-nav small,
  .platform-credit,
  .platform-profile > div,
  .platform-profile .icon-button {
    display: none;
  }

  .platform-nav {
    margin-top: 17px;
  }

  .platform-nav a,
  .platform-nav button {
    display: flex;
    justify-content: center;
    padding: 0;
  }

  .platform-personal-label {
    display: block;
    height: 1px;
    margin: 16px 7px 12px;
    padding: 0;
    overflow: hidden;
  }

  .platform-profile {
    display: flex;
    justify-content: center;
    padding: 12px 0 0;
  }

  .platform-topbar {
    padding: 0 18px;
  }

  .platform-content {
    width: calc(100% - 28px);
    padding-top: 28px;
  }

  .platform-welcome > p,
  .service-status {
    display: none;
  }

  .image-module {
    grid-template-columns: minmax(260px, .8fr) minmax(330px, 1.2fr);
  }
}

@media (max-width: 560px) {
  .platform-topbar > div:first-child span {
    display: none;
  }

  .platform-welcome h1 {
    font-size: 25px;
  }

  .platform-section-heading span {
    display: none;
  }

  .image-module {
    grid-template-columns: minmax(0, 1fr);
  }

  .image-module > *,
  .image-module-copy,
  .module-preview {
    min-width: 0;
  }

  .image-module-copy {
    padding: 24px 22px;
  }

  .module-preview {
    min-height: 235px;
    border-top: 1px solid #e7c500;
    border-left: 0;
  }

  .future-modules {
    grid-template-columns: 1fr;
  }

  .future-modules article {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .future-modules article > small {
    grid-column: 2;
  }

  .recent-task {
    grid-template-columns: 38px minmax(0, 1fr) 62px;
    padding: 0 10px;
  }

  .recent-task time {
    display: none;
  }

  .recent-task > a {
    width: 62px;
  }
}

