/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --spacing: 0.25rem;
  --container-sm: 24rem;
  --container-md: 28rem;
  --container-lg: 32rem;
  --container-xl: 36rem;
  --container-2xl: 42rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --tracking-widest: 0.1em;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --animate-spin: spin 1s linear infinite;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.pointer-events-none {
  pointer-events: none;
}
.collapse {
  visibility: collapse;
}
.visible {
  visibility: visible;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.relative {
  position: relative;
}
.static {
  position: static;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-x-0 {
  inset-inline: 0px;
}
.top-3 {
  top: calc(var(--spacing) * 3);
}
.top-4 {
  top: calc(var(--spacing) * 4);
}
.right-0 {
  right: 0px;
}
.bottom-0 {
  bottom: 0px;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: calc(1 / 2 * 100%);
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[54\] {
  z-index: 54;
}
.z-\[55\] {
  z-index: 55;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[70\] {
  z-index: 70;
}
.z-\[80\] {
  z-index: 80;
}
.mx-1 {
  margin-inline: var(--spacing);
}
.mx-4 {
  margin-inline: calc(var(--spacing) * 4);
}
.mt-1 {
  margin-top: var(--spacing);
}
.mt-1\.5 {
  margin-top: calc(var(--spacing) * 1.5);
}
.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}
.mt-3 {
  margin-top: calc(var(--spacing) * 3);
}
.mt-4 {
  margin-top: calc(var(--spacing) * 4);
}
.mt-5 {
  margin-top: calc(var(--spacing) * 5);
}
.mt-6 {
  margin-top: calc(var(--spacing) * 6);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mr-1 {
  margin-right: var(--spacing);
}
.mr-2 {
  margin-right: calc(var(--spacing) * 2);
}
.mb-1 {
  margin-bottom: var(--spacing);
}
.mb-1\.5 {
  margin-bottom: calc(var(--spacing) * 1.5);
}
.mb-2 {
  margin-bottom: calc(var(--spacing) * 2);
}
.mb-3 {
  margin-bottom: calc(var(--spacing) * 3);
}
.mb-4 {
  margin-bottom: calc(var(--spacing) * 4);
}
.mb-5 {
  margin-bottom: calc(var(--spacing) * 5);
}
.mb-6 {
  margin-bottom: calc(var(--spacing) * 6);
}
.ml-1 {
  margin-left: var(--spacing);
}
.ml-2 {
  margin-left: calc(var(--spacing) * 2);
}
.ml-auto {
  margin-left: auto;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.inline {
  display: inline;
}
.inline-block {
  display: inline-block;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.h-2 {
  height: calc(var(--spacing) * 2);
}
.h-full {
  height: 100%;
}
.max-h-40 {
  max-height: calc(var(--spacing) * 40);
}
.max-h-44 {
  max-height: calc(var(--spacing) * 44);
}
.min-h-0 {
  min-height: 0px;
}
.min-h-screen {
  min-height: 100vh;
}
.w-full {
  width: 100%;
}
.max-w-2xl {
  max-width: var(--container-2xl);
}
.max-w-lg {
  max-width: var(--container-lg);
}
.max-w-md {
  max-width: var(--container-md);
}
.max-w-sm {
  max-width: var(--container-sm);
}
.max-w-xl {
  max-width: var(--container-xl);
}
.min-w-0 {
  min-width: 0px;
}
.flex-1 {
  flex: 1;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.basis-full {
  flex-basis: 100%;
}
.border-collapse {
  border-collapse: collapse;
}
.transform {
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
}
.animate-spin {
  animation: var(--animate-spin);
}
.cursor-pointer {
  cursor: pointer;
}
.resize {
  resize: both;
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-baseline {
  align-items: baseline;
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-stretch {
  align-items: stretch;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.justify-end {
  justify-content: flex-end;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: calc(var(--spacing) * 0.5);
}
.gap-1 {
  gap: var(--spacing);
}
.gap-1\.5 {
  gap: calc(var(--spacing) * 1.5);
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-8 {
  gap: calc(var(--spacing) * 8);
}
.gap-x-3 {
  column-gap: calc(var(--spacing) * 3);
}
.gap-x-4 {
  column-gap: calc(var(--spacing) * 4);
}
.gap-y-1 {
  row-gap: var(--spacing);
}
.gap-y-2 {
  row-gap: calc(var(--spacing) * 2);
}
.self-start {
  align-self: flex-start;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-y-auto {
  overflow-y: auto;
}
.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);
}
.rounded-md {
  border-radius: var(--radius-md);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-2 {
  border-style: var(--tw-border-style);
  border-width: 2px;
}
.border-dashed {
  --tw-border-style: dashed;
  border-style: dashed;
}
.p-0\.5 {
  padding: calc(var(--spacing) * 0.5);
}
.p-1 {
  padding: var(--spacing);
}
.p-2 {
  padding: calc(var(--spacing) * 2);
}
.p-2\.5 {
  padding: calc(var(--spacing) * 2.5);
}
.p-3 {
  padding: calc(var(--spacing) * 3);
}
.p-4 {
  padding: calc(var(--spacing) * 4);
}
.p-5 {
  padding: calc(var(--spacing) * 5);
}
.p-8 {
  padding: calc(var(--spacing) * 8);
}
.p-10 {
  padding: calc(var(--spacing) * 10);
}
.px-1 {
  padding-inline: var(--spacing);
}
.px-1\.5 {
  padding-inline: calc(var(--spacing) * 1.5);
}
.px-2 {
  padding-inline: calc(var(--spacing) * 2);
}
.px-2\.5 {
  padding-inline: calc(var(--spacing) * 2.5);
}
.px-3 {
  padding-inline: calc(var(--spacing) * 3);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.px-8 {
  padding-inline: calc(var(--spacing) * 8);
}
.py-0\.5 {
  padding-block: calc(var(--spacing) * 0.5);
}
.py-1 {
  padding-block: var(--spacing);
}
.py-1\.5 {
  padding-block: calc(var(--spacing) * 1.5);
}
.py-2 {
  padding-block: calc(var(--spacing) * 2);
}
.py-2\.5 {
  padding-block: calc(var(--spacing) * 2.5);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.py-4 {
  padding-block: calc(var(--spacing) * 4);
}
.py-6 {
  padding-block: calc(var(--spacing) * 6);
}
.pt-1 {
  padding-top: var(--spacing);
}
.pt-2 {
  padding-top: calc(var(--spacing) * 2);
}
.pt-3 {
  padding-top: calc(var(--spacing) * 3);
}
.pt-4 {
  padding-top: calc(var(--spacing) * 4);
}
.pr-1 {
  padding-right: var(--spacing);
}
.pr-2 {
  padding-right: calc(var(--spacing) * 2);
}
.pb-1 {
  padding-bottom: var(--spacing);
}
.pb-2 {
  padding-bottom: calc(var(--spacing) * 2);
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.text-lg {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.tracking-widest {
  --tw-tracking: var(--tracking-widest);
  letter-spacing: var(--tracking-widest);
}
.whitespace-nowrap {
  white-space: nowrap;
}
.lowercase {
  text-transform: lowercase;
}
.uppercase {
  text-transform: uppercase;
}
.italic {
  font-style: italic;
}
.line-through {
  text-decoration-line: line-through;
}
.underline {
  text-decoration-line: underline;
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.filter {
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.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));
}
.ease-in-out {
  --tw-ease: var(--ease-in-out);
  transition-timing-function: var(--ease-in-out);
}
@media (width >= 48rem) {
  .md\:flex {
    display: flex;
  }
  .md\:px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
}
*, ::before, ::after {
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
}
:root {
  --char: #171310;
  --oven: #201a15;
  --crust: #3a322a;
  --flour: #f3ede4;
  --ash: #a89e8f;
  --ember: #f8a030;
  --ember-dim: #8a6a45;
  --basil: #a3c585;
  --tomato: #e4573d;
  --wash: rgba(248, 160, 48, 0.07);
}
html {
  background: var(--char);
}
html[data-theme="light"] {
  --char: #f7f2e9;
  --oven: #ffffff;
  --crust: #e6ddcd;
  --flour: #2a231c;
  --ash: #8b7f6e;
  --ember: #f8a030;
  --ember-dim: #b98a4e;
  --basil: #5c8f3e;
  --tomato: #cc3d24;
  --wash: rgba(248, 160, 48, 0.10);
}
* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
}
body {
  background: var(--char);
  color: var(--flour);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.mono,
code {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
}
a {
  color: var(--ember);
}
.shell {
  max-width: 880px;
  margin: 0 auto;
  padding: 24px 20px 64px;
}
.topbar {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0 20px;
  border-bottom: 1px solid var(--crust);
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.wordmark {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.22em;
  color: var(--ember);
}
.wordmark small {
  display: block;
  letter-spacing: 0.08em;
  font-weight: 500;
  font-size: 11px;
  color: var(--ash);
  margin-top: 2px;
}
.session-line {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ash);
  font-size: 13px;
}
.card {
  background: var(--oven);
  border: 1px solid var(--crust);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
}
.card h2 {
  margin: 0 0 4px;
  font-size: 15px;
  letter-spacing: 0.02em;
}
.card .sub {
  margin: 0 0 16px;
  color: var(--ash);
  font-size: 13px;
  line-height: 1.5;
}
button,
.btn {
  appearance: none;
  border: 1px solid var(--crust);
  background: var(--char);
  color: var(--flour);
  border-radius: 8px;
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
button:hover,
.btn:hover {
  border-color: var(--ember-dim);
  background: var(--wash);
}
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--ember);
  outline-offset: 2px;
}
button.primary {
  background: var(--ember);
  border-color: var(--ember);
  color: #201a15;
}
button.primary:hover {
  filter: brightness(1.06);
}
button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
input[type="text"],
input[type="email"],
input[type="password"] {
  width: 100%;
  background: var(--char);
  border: 1px solid var(--crust);
  border-radius: 8px;
  color: var(--flour);
  padding: 10px 12px;
  font-size: 14px;
}
label {
  display: block;
  font-size: 12px;
  color: var(--ash);
  margin: 14px 0 6px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.login-wrap {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.login-card {
  width: 100%;
  max-width: 380px;
  background: var(--oven);
  border: 1px solid var(--crust);
  border-radius: 14px;
  padding: 28px;
}
.login-card .wordmark {
  text-align: center;
  margin-bottom: 4px;
}
.login-card .tagline {
  text-align: center;
  color: var(--ash);
  font-size: 13px;
  margin: 0 0 10px;
}
.form-error {
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--tomato);
  color: var(--tomato);
  background: rgba(228, 87, 61, 0.08);
  font-size: 13px;
}
.login-card button.primary {
  width: 100%;
  margin-top: 18px;
  padding: 11px;
}
.status-row {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--crust);
  color: var(--ash);
}
.pill.ok {
  color: var(--basil);
  border-color: rgba(163, 197, 133, 0.4);
}
.pill.err {
  color: var(--tomato);
  border-color: rgba(228, 87, 61, 0.4);
}
.metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.metric {
  background: var(--char);
  border: 1px solid var(--crust);
  border-radius: 10px;
  padding: 12px;
}
.metric .k {
  font-size: 11px;
  color: var(--ash);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.metric .v {
  font-size: 20px;
  font-weight: 700;
  margin-top: 4px;
  color: var(--flour);
}
table.labor {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
  font-size: 13px;
}
table.labor th,
table.labor td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid var(--crust);
}
table.labor th {
  color: var(--ash);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
table.labor td.num,
table.labor th.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.salaried-tag {
  color: var(--ember);
  font-size: 11px;
  margin-left: 6px;
}
ul.plainlist {
  margin: 0;
  padding-left: 18px;
  color: var(--ash);
  font-size: 13px;
  line-height: 1.7;
}
ul.plainlist code {
  color: var(--flour);
  background: var(--char);
  padding: 1px 6px;
  border-radius: 6px;
  border: 1px solid var(--crust);
}
@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-tracking {
  syntax: "*";
  inherits: false;
}
@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;
}
@property --tw-ease {
  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-tracking: initial;
      --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;
      --tw-ease: initial;
    }
  }
}
