/* Contractor family, sourced from dashboard/home#index at c2503ca.
 * Scope excludes the preserved dashboard, admin, marketing and retired lineup.
 * Legacy utility aliases below are a migration adapter: one shared rendering
 * contract for existing forms, not a second per-page palette. */
.artisan-ui {
  /* AA corrections to existing utility tokens, not layout/semantic overrides.
   * Keep light-canvas metadata readable; dark panels restore their light ink. */
  --color-stone-400: #57534e;
  --color-stone-500: #6b6560;
  --color-amber-600: #b45309;
  --color-red-500: #b91c1c;
  --color-green-600: #15803d;
  --artisan-clay-badge: #a9562b;
  --artisan-font: Sora, ui-sans-serif, system-ui, sans-serif;
  --artisan-canvas: #f5f5f4;
  --artisan-ink: #1c1917;
  --artisan-muted: #57534e;
  --artisan-rule: #d6d3d1;
  --artisan-panel: #fff;
  --artisan-work: #0c0a09;
  --artisan-accent: #e38a55;
  --artisan-radius: .5rem;
  --artisan-space: 1.25rem;
}
.artisan-ui :is(.bg-stone-950,.bg-stone-900,.artisan-work-panel) {
  --color-stone-400: #a6a09b;
  --color-stone-500: #79716b;
}
.artisan-clay-badge { background-color: var(--artisan-clay-badge); }
.artisan-next-action-label { opacity: .75; }
.artisan-workspace { font-family: var(--artisan-font); color: var(--artisan-ink); font-size: .875rem; line-height: 1.5; }
.artisan-workspace .font-serif, .artisan-workspace .font-sans { font-family: var(--artisan-font); }
.artisan-workspace h1 { font-family: var(--artisan-font); font-size: 1.5rem; line-height: 1.3; font-weight: 700; letter-spacing: -.025em; }
.artisan-workspace h2 { font-family: var(--artisan-font); font-size: .875rem; line-height: 1.5; font-weight: 700; }
.artisan-workspace h3 { font-family: var(--artisan-font); font-size: .875rem; font-weight: 700; }
.artisan-workspace :is(.rounded-xl,.rounded-2xl,.rounded-3xl,.rounded-\[14px\]) { border-radius: var(--artisan-radius); }
.artisan-workspace :is(.shadow-lg,.shadow-xl,.shadow-2xl) { box-shadow: 0 1px 2px rgb(0 0 0 / .05); }
.artisan-workspace > :is(.max-w-3xl,.max-w-4xl,.max-w-5xl,.max-w-6xl) { max-width: 100%; }
.artisan-workspace :is(.space-y-6,.space-y-8) > :not(:last-child) { --tw-space-y-reverse: 0; margin-block-end: var(--artisan-space); }
.artisan-workspace :is(.text-stone-400,.text-gray-400) { color: var(--artisan-muted); }
.artisan-workspace :is(.text-\[9px\],.text-\[10px\],.text-\[11px\]) { font-size: .75rem; }
.artisan-workspace :is(.bg-gradient-to-br,.bg-gradient-to-r) { background-image: none; background-color: var(--artisan-panel); }
.artisan-workspace :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select), .artisan-field {
  font: inherit; color: var(--artisan-ink); background-color: white;
  border: 1px solid var(--artisan-rule); border-radius: var(--artisan-radius);
  min-height: 44px; padding: .625rem .75rem; max-width: 100%;
}
.artisan-workspace :is(input[type=checkbox],input[type=radio]) { accent-color: var(--artisan-ink); }
.artisan-workspace select { appearance: none; height: 44px; padding-right: 2rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2357534e' stroke-width='2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .75rem center; }
.artisan-workspace label { font-size: .75rem; font-weight: 600; }
.artisan-workspace :is(button,input[type=submit],summary),
.artisan-workspace a:is([class*="rounded"],[class*="underline"]),
.artisan-button { min-height: 44px; }
.artisan-workspace :is(button,input[type=submit]), .artisan-button { font-family: var(--artisan-font); font-size: .75rem; font-weight: 700; cursor: pointer; }
.artisan-workspace :is(button,a,input[type=submit]):is(.bg-amber-600,.bg-amber-700,.bg-blue-500,.bg-blue-600,.bg-blue-700,.bg-indigo-500,.bg-indigo-600,.bg-indigo-700,.bg-purple-500,.bg-purple-600,.bg-purple-700,.bg-violet-500,.bg-violet-600,.bg-violet-700,.bg-stone-800,.bg-stone-900,.bg-stone-950), .artisan-button-primary {
  background: var(--artisan-work); color: white; border: 1px solid var(--artisan-work); border-radius: var(--artisan-radius); padding: .625rem 1rem;
}
.artisan-workspace :is(.bg-stone-950,.bg-stone-900) :is(a,button,input[type=submit]):is(.bg-blue-500,.bg-blue-600,.bg-purple-600,.bg-amber-400,.bg-amber-500) { background: white; color: var(--artisan-ink); border-color: var(--artisan-rule); }
.artisan-workspace :is(.bg-stone-950,.bg-stone-900) :is(.text-stone-400,.text-gray-400) { color: #d6d3d1; }
.artisan-button-secondary { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--artisan-rule); border-radius: var(--artisan-radius); padding: .625rem 1rem; background: white; color: var(--artisan-ink); }
.artisan-workspace :is(button,a,input,textarea,select,summary):focus-visible { outline: 2px solid #b45309; outline-offset: 3px; }
.artisan-workspace :is(button,input,select,textarea):disabled { cursor: not-allowed; opacity: .6; }
.artisan-workspace [aria-invalid=true] { border-color: #b91c1c; background: #fef2f2; }
.artisan-workspace [role=alert] { color: #991b1b; }
.artisan-workspace th { text-align: start; font-size: .75rem; font-weight: 700; color: var(--artisan-muted); }
.artisan-workspace :is(td,th) { padding: .75rem; }
.artisan-panel { background: var(--artisan-panel); border: 1px solid var(--artisan-rule); border-radius: var(--artisan-radius); padding: var(--artisan-space); }
.artisan-work-panel { background: var(--artisan-work); color: white; border: 1px solid #292524; border-radius: var(--artisan-radius); padding: var(--artisan-space); box-shadow: 0 1px 2px rgb(0 0 0 / .05); }
.artisan-workspace .artisan-work-panel h2 { font-size: 1.25rem; color: white; }
.artisan-work-panel .artisan-eyebrow { color: var(--artisan-accent); }
.artisan-work-panel .artisan-help { color: #d6d3d1; }
.artisan-work-panel :is([role=alert],.text-amber-900) { color: #fcd34d; }
.artisan-workspace .artisan-work-panel :is(.artisan-button-primary,input[type=submit]) { background: white; color: var(--artisan-ink); border-color: white; }
.artisan-workspace turbo-frame { display: block; }
.artisan-workspace #estimate_pricing { margin-block-end: var(--artisan-space); }
.artisan-work-panel a { color: inherit; }
.artisan-work-panel .divide-stone-200 > :not(:last-child) { border-color: #44403c; }
.artisan-workspace [data-project-shell-target=pane] > turbo-frame > section { background: white; border: 1px solid var(--artisan-rule); border-radius: var(--artisan-radius); padding: 1rem; }
.artisan-workspace [data-project-shell-target=pane] h2 { text-transform: none; letter-spacing: normal; }
.artisan-document { background: var(--artisan-canvas); }
.artisan-document .artisan-workspace { max-width: 56rem; margin-inline: auto; }
@media (max-width: 639px) {
  .artisan-workspace :is(.p-8,.p-6) { padding: 1rem; }
  .artisan-workspace header { flex-wrap: wrap; }
  .artisan-workspace h1 { overflow-wrap: anywhere; }
  .artisan-workspace :is(input,textarea,select) { font-size: 1rem; }
  .artisan-workspace table { font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .artisan-workspace * { scroll-behavior: auto; transition-duration: 0s; animation-duration: 0s; }
}
