
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-sm: 24rem;
    --container-lg: 32rem;
    --container-5xl: 64rem;
    --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);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --radius-xs: 0.125rem;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: Arial, Helvetica, sans-serif;
    --default-mono-font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
  }
}
@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 {
  .pointer-events-none {
    pointer-events: none;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }
  .inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .start\! {
    inset-inline-start: var(--spacing) !important;
  }
  .end {
    inset-inline-end: var(--spacing);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\.5 {
    top: calc(var(--spacing) * 1.5);
  }
  .top-3\.5 {
    top: calc(var(--spacing) * 3.5);
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .top-\[50\%\] {
    top: 50%;
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-1 {
    right: calc(var(--spacing) * 1);
  }
  .right-2 {
    right: calc(var(--spacing) * 2);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-\[50\%\] {
    left: 50%;
  }
  .isolate {
    isolation: isolate;
  }
  .z-10 {
    z-index: 10;
  }
  .z-20 {
    z-index: 20;
  }
  .z-50 {
    z-index: 50;
  }
  .order-first {
    order: -9999;
  }
  .order-last {
    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;
    }
  }
  .-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }
  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }
  .mx-3\.5 {
    margin-inline: calc(var(--spacing) * 3.5);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }
  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }
  .my-5 {
    margin-block: calc(var(--spacing) * 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-auto {
    margin-top: auto;
  }
  .mr-2 {
    margin-right: 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: calc(var(--spacing) * -1);
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .table-caption {
    display: table-caption;
  }
  .table-cell {
    display: table-cell;
  }
  .table-row {
    display: table-row;
  }
  .field-sizing-content {
    field-sizing: content;
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .size-2\.5 {
    width: calc(var(--spacing) * 2.5);
    height: calc(var(--spacing) * 2.5);
  }
  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }
  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }
  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }
  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-\[calc\(--spacing\(5\.5\)\)\] {
    height: calc(calc(var(--spacing) * 5.5));
  }
  .h-\[calc\(100\%-1px\)\] {
    height: calc(100% - 1px);
  }
  .h-\[var\(--radix-select-trigger-height\)\] {
    height: var(--radix-select-trigger-height);
  }
  .h-auto {
    height: auto;
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .h-svh {
    height: 100svh;
  }
  .max-h-\(--radix-select-content-available-height\) {
    max-height: var(--radix-select-content-available-height);
  }
  .max-h-96 {
    max-height: calc(var(--spacing) * 96);
  }
  .max-h-\[min\(calc\(--spacing\(96\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\] {
    max-height: min(calc(calc(var(--spacing) * 96) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)));
  }
  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }
  .min-h-9 {
    min-height: calc(var(--spacing) * 9);
  }
  .min-h-14 {
    min-height: calc(var(--spacing) * 14);
  }
  .min-h-16 {
    min-height: calc(var(--spacing) * 16);
  }
  .min-h-svh {
    min-height: 100svh;
  }
  .w-\(--anchor-width\) {
    width: var(--anchor-width);
  }
  .w-\(--sidebar-width\) {
    width: var(--sidebar-width);
  }
  .w-3\/4 {
    width: calc(3 / 4 * 100%);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-auto {
    width: auto;
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .max-w-\(--available-width\) {
    max-width: var(--available-width);
  }
  .max-w-\(--skeleton-width\) {
    max-width: var(--skeleton-width);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-\[calc\(100\%-2rem\)\] {
    max-width: calc(100% - 2rem);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-5 {
    min-width: calc(var(--spacing) * 5);
  }
  .min-w-16 {
    min-width: calc(var(--spacing) * 16);
  }
  .min-w-\[8rem\] {
    min-width: 8rem;
  }
  .min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\] {
    min-width: calc(var(--anchor-width) + calc(var(--spacing) * 7));
  }
  .min-w-\[var\(--radix-select-trigger-width\)\] {
    min-width: var(--radix-select-trigger-width);
  }
  .flex-1 {
    flex: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .caption-bottom {
    caption-side: bottom;
  }
  .origin-\(--radix-select-content-transform-origin\) {
    transform-origin: var(--radix-select-content-transform-origin);
  }
  .origin-\(--radix-tooltip-content-transform-origin\) {
    transform-origin: var(--radix-tooltip-content-transform-origin);
  }
  .origin-\(--transform-origin\) {
    transform-origin: var(--transform-origin);
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-x-px {
    --tw-translate-x: -1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-\[-50\%\] {
    --tw-translate-x: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-px {
    --tw-translate-x: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-0\.5 {
    --tw-translate-y: calc(var(--spacing) * 0.5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-\[-50\%\] {
    --tw-translate-y: -50%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-\[calc\(-50\%_-_2px\)\] {
    --tw-translate-y: calc(-50% - 2px);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .rotate-45 {
    rotate: 45deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-in {
    animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-default {
    cursor: default;
  }
  .cursor-text {
    cursor: text;
  }
  .resize {
    resize: both;
  }
  .resize-none {
    resize: none;
  }
  .scroll-my-1 {
    scroll-margin-block: calc(var(--spacing) * 1);
  }
  .scroll-py-1 {
    scroll-padding-block: calc(var(--spacing) * 1);
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-col-reverse {
    flex-direction: column-reverse;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-content-center {
    place-content: center;
  }
  .place-items-center {
    place-items: center;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .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);
  }
  .space-y-5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-\[2px\] {
    border-radius: 2px;
  }
  .rounded-\[4px\] {
    border-radius: 4px;
  }
  .rounded-\[calc\(var\(--radius\)-5px\)\] {
    border-radius: calc(var(--radius) - 5px);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius);
  }
  .rounded-md {
    border-radius: calc(var(--radius) - 2px);
  }
  .rounded-none {
    border-radius: 0;
  }
  .rounded-sm {
    border-radius: calc(var(--radius) - 4px);
  }
  .rounded-xs {
    border-radius: var(--radius-xs);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-input {
    border-color: var(--input);
  }
  .border-sidebar-border {
    border-color: var(--sidebar-border);
  }
  .border-transparent {
    border-color: transparent;
  }
  .bg-accent {
    background-color: var(--accent);
  }
  .bg-background {
    background-color: var(--background);
  }
  .bg-black\/50 {
    background-color: color-mix(in srgb, #000 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }
  .bg-border {
    background-color: var(--border);
  }
  .bg-destructive {
    background-color: var(--destructive);
  }
  .bg-foreground {
    background-color: var(--foreground);
  }
  .bg-muted {
    background-color: var(--muted);
  }
  .bg-muted\/50 {
    background-color: var(--muted);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--muted) 50%, transparent);
    }
  }
  .bg-popover {
    background-color: var(--popover);
  }
  .bg-primary {
    background-color: var(--primary);
  }
  .bg-primary\/20 {
    background-color: var(--primary);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--primary) 20%, transparent);
    }
  }
  .bg-secondary {
    background-color: var(--secondary);
  }
  .bg-sidebar {
    background-color: var(--sidebar);
  }
  .bg-sidebar-border {
    background-color: var(--sidebar-border);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-clip-padding {
    background-clip: padding-box;
  }
  .fill-foreground {
    fill: var(--foreground);
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-\[3px\] {
    padding: 3px;
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .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-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }
  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }
  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .align-middle {
    vertical-align: middle;
  }
  .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-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .text-balance {
    text-wrap: balance;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-background {
    color: var(--background);
  }
  .text-blue-700 {
    color: var(--color-blue-700);
  }
  .text-current {
    color: currentcolor;
  }
  .text-foreground {
    color: var(--foreground);
  }
  .text-foreground\/60 {
    color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--foreground) 60%, transparent);
    }
  }
  .text-muted-foreground {
    color: var(--muted-foreground);
  }
  .text-popover-foreground {
    color: var(--popover-foreground);
  }
  .text-primary {
    color: var(--primary);
  }
  .text-primary-foreground {
    color: var(--primary-foreground);
  }
  .text-red-700 {
    color: var(--color-red-700);
  }
  .text-secondary-foreground {
    color: var(--secondary-foreground);
  }
  .text-sidebar-foreground {
    color: var(--sidebar-foreground);
  }
  .text-sidebar-foreground\/70 {
    color: var(--sidebar-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--sidebar-foreground) 70%, transparent);
    }
  }
  .text-white {
    color: var(--color-white);
  }
  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .line-through {
    text-decoration-line: line-through;
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .shadow-\[0_0_0_1px_var\(--sidebar-border\)\] {
    --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-border));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px 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-none {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-foreground\/10 {
    --tw-ring-color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--foreground) 10%, transparent);
    }
  }
  .ring-sidebar-ring {
    --tw-ring-color: var(--sidebar-ring);
  }
  .ring-offset-background {
    --tw-ring-offset-color: var(--background);
  }
  .outline-hidden {
    --tw-outline-style: none;
    outline-style: none;
    @media (forced-colors: active) {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
  }
  .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));
  }
  .transition-\[color\,box-shadow\] {
    transition-property: color,box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[left\,right\,width\] {
    transition-property: left,right,width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[margin\,opacity\] {
    transition-property: margin,opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[width\,height\,padding\] {
    transition-property: width,height,padding;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[width\] {
    transition-property: width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-none {
    transition-property: none;
  }
  .duration-100 {
    --tw-duration: 100ms;
    transition-duration: 100ms;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .ease-linear {
    --tw-ease: linear;
    transition-timing-function: linear;
  }
  .fade-in-0 {
    --tw-enter-opacity: calc(0/100);
    --tw-enter-opacity: 0;
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .zoom-in-95 {
    --tw-enter-scale: calc(95*1%);
    --tw-enter-scale: .95;
  }
  .paused {
    animation-play-state: paused;
  }
  .running {
    animation-play-state: running;
  }
  .group-focus-within\/menu-item\:opacity-100 {
    &:is(:where(.group\/menu-item):focus-within *) {
      opacity: 100%;
    }
  }
  .group-hover\/menu-item\:opacity-100 {
    &:is(:where(.group\/menu-item):hover *) {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8 {
    &:is(:where(.group\/menu-item):has(*[data-sidebar="menu-action"]) *) {
      padding-right: calc(var(--spacing) * 8);
    }
  }
  .group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden {
    &:is(:where(.group\/input-group):has(*[data-slot="combobox-clear"]) *) {
      display: none;
    }
  }
  .group-has-\[\>input\]\/input-group\:pt-2\.5 {
    &:is(:where(.group\/input-group):has(>input) *) {
      padding-top: calc(var(--spacing) * 2.5);
    }
  }
  .group-has-\[\>input\]\/input-group\:pb-2\.5 {
    &:is(:where(.group\/input-group):has(>input) *) {
      padding-bottom: calc(var(--spacing) * 2.5);
    }
  }
  .group-data-empty\/combobox-content\:flex {
    &:is(:where(.group\/combobox-content)[data-empty] *) {
      display: flex;
    }
  }
  .group-data-\[collapsible\=icon\]\:-mt-8 {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      margin-top: calc(var(--spacing) * -8);
    }
  }
  .group-data-\[collapsible\=icon\]\:hidden {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      display: none;
    }
  }
  .group-data-\[collapsible\=icon\]\:size-8\! {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      width: calc(var(--spacing) * 8) !important;
      height: calc(var(--spacing) * 8) !important;
    }
  }
  .group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\) {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      width: var(--sidebar-width-icon);
    }
  }
  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\] {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)));
    }
  }
  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\] {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px);
    }
  }
  .group-data-\[collapsible\=icon\]\:overflow-hidden {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      overflow: hidden;
    }
  }
  .group-data-\[collapsible\=icon\]\:p-0\! {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      padding: calc(var(--spacing) * 0) !important;
    }
  }
  .group-data-\[collapsible\=icon\]\:p-2\! {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      padding: calc(var(--spacing) * 2) !important;
    }
  }
  .group-data-\[collapsible\=icon\]\:opacity-0 {
    &:is(:where(.group)[data-collapsible="icon"] *) {
      opacity: 0%;
    }
  }
  .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
    &:is(:where(.group)[data-collapsible="offcanvas"] *) {
      right: calc(var(--sidebar-width) * -1);
    }
  }
  .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
    &:is(:where(.group)[data-collapsible="offcanvas"] *) {
      left: calc(var(--sidebar-width) * -1);
    }
  }
  .group-data-\[collapsible\=offcanvas\]\:w-0 {
    &:is(:where(.group)[data-collapsible="offcanvas"] *) {
      width: calc(var(--spacing) * 0);
    }
  }
  .group-data-\[collapsible\=offcanvas\]\:translate-x-0 {
    &:is(:where(.group)[data-collapsible="offcanvas"] *) {
      --tw-translate-x: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .group-data-\[disabled\=true\]\/input-group\:opacity-50 {
    &:is(:where(.group\/input-group)[data-disabled="true"] *) {
      opacity: 50%;
    }
  }
  .group-data-\[orientation\=horizontal\]\/tabs\:h-9 {
    &:is(:where(.group\/tabs)[data-orientation="horizontal"] *) {
      height: calc(var(--spacing) * 9);
    }
  }
  .group-data-\[orientation\=vertical\]\/tabs\:h-fit {
    &:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
      height: fit-content;
    }
  }
  .group-data-\[orientation\=vertical\]\/tabs\:w-full {
    &:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
      width: 100%;
    }
  }
  .group-data-\[orientation\=vertical\]\/tabs\:flex-col {
    &:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
      flex-direction: column;
    }
  }
  .group-data-\[orientation\=vertical\]\/tabs\:justify-start {
    &:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
      justify-content: flex-start;
    }
  }
  .group-data-\[side\=left\]\:-right-4 {
    &:is(:where(.group)[data-side="left"] *) {
      right: calc(var(--spacing) * -4);
    }
  }
  .group-data-\[side\=left\]\:border-r {
    &:is(:where(.group)[data-side="left"] *) {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }
  }
  .group-data-\[side\=right\]\:left-0 {
    &:is(:where(.group)[data-side="right"] *) {
      left: calc(var(--spacing) * 0);
    }
  }
  .group-data-\[side\=right\]\:rotate-180 {
    &:is(:where(.group)[data-side="right"] *) {
      rotate: 180deg;
    }
  }
  .group-data-\[side\=right\]\:border-l {
    &:is(:where(.group)[data-side="right"] *) {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }
  }
  .group-data-\[variant\=floating\]\:rounded-lg {
    &:is(:where(.group)[data-variant="floating"] *) {
      border-radius: var(--radius);
    }
  }
  .group-data-\[variant\=floating\]\:border {
    &:is(:where(.group)[data-variant="floating"] *) {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }
  }
  .group-data-\[variant\=floating\]\:border-sidebar-border {
    &:is(:where(.group)[data-variant="floating"] *) {
      border-color: var(--sidebar-border);
    }
  }
  .group-data-\[variant\=floating\]\:shadow-sm {
    &:is(:where(.group)[data-variant="floating"] *) {
      --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);
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:bg-transparent {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      background-color: transparent;
    }
  }
  .peer-hover\/menu-button\:text-sidebar-accent-foreground {
    &:is(:where(.peer\/menu-button):hover ~ *) {
      @media (hover: hover) {
        color: var(--sidebar-accent-foreground);
      }
    }
  }
  .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground {
    &:is(:where(.peer\/menu-button)[data-active="true"] ~ *) {
      color: var(--sidebar-accent-foreground);
    }
  }
  .peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
    &:is(:where(.peer\/menu-button)[data-size="default"] ~ *) {
      top: calc(var(--spacing) * 1.5);
    }
  }
  .peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
    &:is(:where(.peer\/menu-button)[data-size="lg"] ~ *) {
      top: calc(var(--spacing) * 2.5);
    }
  }
  .peer-data-\[size\=sm\]\/menu-button\:top-1 {
    &:is(:where(.peer\/menu-button)[data-size="sm"] ~ *) {
      top: calc(var(--spacing) * 1);
    }
  }
  .selection\:bg-primary {
    & *::selection {
      background-color: var(--primary);
    }
    &::selection {
      background-color: var(--primary);
    }
  }
  .selection\:text-primary-foreground {
    & *::selection {
      color: var(--primary-foreground);
    }
    &::selection {
      color: var(--primary-foreground);
    }
  }
  .file\:inline-flex {
    &::file-selector-button {
      display: inline-flex;
    }
  }
  .file\:h-7 {
    &::file-selector-button {
      height: calc(var(--spacing) * 7);
    }
  }
  .file\:border-0 {
    &::file-selector-button {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .file\:bg-transparent {
    &::file-selector-button {
      background-color: transparent;
    }
  }
  .file\:text-sm {
    &::file-selector-button {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .file\:font-medium {
    &::file-selector-button {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }
  .file\:text-foreground {
    &::file-selector-button {
      color: var(--foreground);
    }
  }
  .placeholder\:text-muted-foreground {
    &::placeholder {
      color: var(--muted-foreground);
    }
  }
  .after\:absolute {
    &::after {
      content: var(--tw-content);
      position: absolute;
    }
  }
  .after\:-inset-2 {
    &::after {
      content: var(--tw-content);
      inset: calc(var(--spacing) * -2);
    }
  }
  .after\:inset-y-0 {
    &::after {
      content: var(--tw-content);
      inset-block: calc(var(--spacing) * 0);
    }
  }
  .after\:left-1\/2 {
    &::after {
      content: var(--tw-content);
      left: calc(1 / 2 * 100%);
    }
  }
  .after\:w-\[2px\] {
    &::after {
      content: var(--tw-content);
      width: 2px;
    }
  }
  .after\:bg-foreground {
    &::after {
      content: var(--tw-content);
      background-color: var(--foreground);
    }
  }
  .after\:opacity-0 {
    &::after {
      content: var(--tw-content);
      opacity: 0%;
    }
  }
  .after\:transition-opacity {
    &::after {
      content: var(--tw-content);
      transition-property: opacity;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }
  .group-data-\[collapsible\=offcanvas\]\:after\:left-full {
    &:is(:where(.group)[data-collapsible="offcanvas"] *) {
      &::after {
        content: var(--tw-content);
        left: 100%;
      }
    }
  }
  .group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0 {
    &:is(:where(.group\/tabs)[data-orientation="horizontal"] *) {
      &::after {
        content: var(--tw-content);
        inset-inline: calc(var(--spacing) * 0);
      }
    }
  }
  .group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\] {
    &:is(:where(.group\/tabs)[data-orientation="horizontal"] *) {
      &::after {
        content: var(--tw-content);
        bottom: -5px;
      }
    }
  }
  .group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5 {
    &:is(:where(.group\/tabs)[data-orientation="horizontal"] *) {
      &::after {
        content: var(--tw-content);
        height: calc(var(--spacing) * 0.5);
      }
    }
  }
  .group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0 {
    &:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
      &::after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * 0);
      }
    }
  }
  .group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1 {
    &:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
      &::after {
        content: var(--tw-content);
        right: calc(var(--spacing) * -1);
      }
    }
  }
  .group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5 {
    &:is(:where(.group\/tabs)[data-orientation="vertical"] *) {
      &::after {
        content: var(--tw-content);
        width: calc(var(--spacing) * 0.5);
      }
    }
  }
  .last\:border-b-0 {
    &:last-child {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 0px;
    }
  }
  .focus-within\:border-ring {
    &:focus-within {
      border-color: var(--ring);
    }
  }
  .focus-within\:ring-\[3px\] {
    &:focus-within {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-within\:ring-ring\/50 {
    &:focus-within {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
  }
  .hover\:bg-accent {
    &:hover {
      @media (hover: hover) {
        background-color: var(--accent);
      }
    }
  }
  .hover\:bg-destructive\/90 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
        }
      }
    }
  }
  .hover\:bg-muted\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--muted);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--muted) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-primary\/90 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--primary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--primary) 90%, transparent);
        }
      }
    }
  }
  .hover\:bg-secondary\/80 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--secondary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
        }
      }
    }
  }
  .hover\:bg-sidebar-accent {
    &:hover {
      @media (hover: hover) {
        background-color: var(--sidebar-accent);
      }
    }
  }
  .hover\:text-accent-foreground {
    &:hover {
      @media (hover: hover) {
        color: var(--accent-foreground);
      }
    }
  }
  .hover\:text-foreground {
    &:hover {
      @media (hover: hover) {
        color: var(--foreground);
      }
    }
  }
  .hover\:text-sidebar-accent-foreground {
    &:hover {
      @media (hover: hover) {
        color: var(--sidebar-accent-foreground);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .hover\:opacity-100 {
    &:hover {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\] {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-accent));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar {
    &:hover {
      @media (hover: hover) {
        &:is(:where(.group)[data-collapsible="offcanvas"] *) {
          background-color: var(--sidebar);
        }
      }
    }
  }
  .hover\:after\:bg-sidebar-border {
    &:hover {
      @media (hover: hover) {
        &::after {
          content: var(--tw-content);
          background-color: var(--sidebar-border);
        }
      }
    }
  }
  .focus\:bg-accent {
    &:focus {
      background-color: var(--accent);
    }
  }
  .focus\:text-accent-foreground {
    &:focus {
      color: var(--accent-foreground);
    }
  }
  .focus\:ring-2 {
    &:focus {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus\:ring-ring {
    &:focus {
      --tw-ring-color: var(--ring);
    }
  }
  .focus\:ring-offset-2 {
    &:focus {
      --tw-ring-offset-width: 2px;
      --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    }
  }
  .focus\:outline-hidden {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
  }
  .focus-visible\:border-ring {
    &:focus-visible {
      border-color: var(--ring);
    }
  }
  .focus-visible\:ring-0 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-2 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-\[3px\] {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-destructive\/20 {
    &:focus-visible {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }
  .focus-visible\:ring-ring\/50 {
    &:focus-visible {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
  }
  .focus-visible\:outline-1 {
    &:focus-visible {
      outline-style: var(--tw-outline-style);
      outline-width: 1px;
    }
  }
  .focus-visible\:outline-ring {
    &:focus-visible {
      outline-color: var(--ring);
    }
  }
  .active\:bg-sidebar-accent {
    &:active {
      background-color: var(--sidebar-accent);
    }
  }
  .active\:text-sidebar-accent-foreground {
    &:active {
      color: var(--sidebar-accent-foreground);
    }
  }
  .disabled\:pointer-events-none {
    &:disabled {
      pointer-events: none;
    }
  }
  .disabled\:cursor-not-allowed {
    &:disabled {
      cursor: not-allowed;
    }
  }
  .disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
  .disabled\:filter {
    &:disabled {
      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,);
    }
  }
  .in-data-\[side\=left\]\:cursor-w-resize {
    :where(*[data-side="left"]) & {
      cursor: w-resize;
    }
  }
  .in-data-\[side\=right\]\:cursor-e-resize {
    :where(*[data-side="right"]) & {
      cursor: e-resize;
    }
  }
  .has-disabled\:pointer-events-none {
    &:has(*:disabled) {
      pointer-events: none;
    }
  }
  .has-disabled\:cursor-not-allowed {
    &:has(*:disabled) {
      cursor: not-allowed;
    }
  }
  .has-disabled\:opacity-50 {
    &:has(*:disabled) {
      opacity: 50%;
    }
  }
  .has-aria-expanded\:bg-muted\/50 {
    &:has(*[aria-expanded="true"]) {
      background-color: var(--muted);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--muted) 50%, transparent);
      }
    }
  }
  .has-aria-invalid\:border-destructive {
    &:has(*[aria-invalid="true"]) {
      border-color: var(--destructive);
    }
  }
  .has-aria-invalid\:ring-\[3px\] {
    &:has(*[aria-invalid="true"]) {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .has-aria-invalid\:ring-destructive\/20 {
    &:has(*[aria-invalid="true"]) {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }
  .has-data-\[slot\=combobox-chip\]\:px-1\.5 {
    &:has(*[data-slot="combobox-chip"]) {
      padding-inline: calc(var(--spacing) * 1.5);
    }
  }
  .has-data-\[slot\=combobox-chip-remove\]\:pr-0 {
    &:has(*[data-slot="combobox-chip-remove"]) {
      padding-right: calc(var(--spacing) * 0);
    }
  }
  .has-data-\[variant\=inset\]\:bg-sidebar {
    &:has(*[data-variant="inset"]) {
      background-color: var(--sidebar);
    }
  }
  .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring {
    &:has(*:is([data-slot=input-group-control]:focus-visible)) {
      border-color: var(--ring);
    }
  }
  .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-\[3px\] {
    &:has(*:is([data-slot=input-group-control]:focus-visible)) {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50 {
    &:has(*:is([data-slot=input-group-control]:focus-visible)) {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
  }
  .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive {
    &:has(*:is([data-slot][aria-invalid=true])) {
      border-color: var(--destructive);
    }
  }
  .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20 {
    &:has(*:is([data-slot][aria-invalid=true])) {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }
  .has-\[\>\[data-align\=block-end\]\]\:h-auto {
    &:has(>[data-align=block-end]) {
      height: auto;
    }
  }
  .has-\[\>\[data-align\=block-end\]\]\:flex-col {
    &:has(>[data-align=block-end]) {
      flex-direction: column;
    }
  }
  .has-\[\>\[data-align\=block-start\]\]\:h-auto {
    &:has(>[data-align=block-start]) {
      height: auto;
    }
  }
  .has-\[\>\[data-align\=block-start\]\]\:flex-col {
    &:has(>[data-align=block-start]) {
      flex-direction: column;
    }
  }
  .has-\[\>button\]\:mr-\[-0\.45rem\] {
    &:has(>button) {
      margin-right: -0.45rem;
    }
  }
  .has-\[\>button\]\:ml-\[-0\.45rem\] {
    &:has(>button) {
      margin-left: -0.45rem;
    }
  }
  .has-\[\>kbd\]\:mr-\[-0\.35rem\] {
    &:has(>kbd) {
      margin-right: -0.35rem;
    }
  }
  .has-\[\>kbd\]\:ml-\[-0\.35rem\] {
    &:has(>kbd) {
      margin-left: -0.35rem;
    }
  }
  .has-\[\>svg\]\:p-0 {
    &:has(>svg) {
      padding: calc(var(--spacing) * 0);
    }
  }
  .has-\[\>svg\]\:px-1\.5 {
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 1.5);
    }
  }
  .has-\[\>svg\]\:px-2 {
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 2);
    }
  }
  .has-\[\>svg\]\:px-2\.5 {
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 2.5);
    }
  }
  .has-\[\>svg\]\:px-3 {
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 3);
    }
  }
  .has-\[\>svg\]\:px-4 {
    &:has(>svg) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .has-\[\>textarea\]\:h-auto {
    &:has(>textarea) {
      height: auto;
    }
  }
  .aria-disabled\:pointer-events-none {
    &[aria-disabled="true"] {
      pointer-events: none;
    }
  }
  .aria-disabled\:opacity-50 {
    &[aria-disabled="true"] {
      opacity: 50%;
    }
  }
  .aria-invalid\:border-destructive {
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
  }
  .aria-invalid\:ring-destructive\/20 {
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }
  .data-empty\:p-0 {
    &[data-empty] {
      padding: calc(var(--spacing) * 0);
    }
  }
  .data-highlighted\:bg-accent {
    &[data-highlighted] {
      background-color: var(--accent);
    }
  }
  .data-highlighted\:text-accent-foreground {
    &[data-highlighted] {
      color: var(--accent-foreground);
    }
  }
  .data-pressed\:bg-transparent {
    &[data-pressed] {
      background-color: transparent;
    }
  }
  .data-\[active\=true\]\:bg-sidebar-accent {
    &[data-active="true"] {
      background-color: var(--sidebar-accent);
    }
  }
  .data-\[active\=true\]\:font-medium {
    &[data-active="true"] {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }
  .data-\[active\=true\]\:text-sidebar-accent-foreground {
    &[data-active="true"] {
      color: var(--sidebar-accent-foreground);
    }
  }
  .data-\[chips\=true\]\:min-w-\(--anchor-width\) {
    &[data-chips="true"] {
      min-width: var(--anchor-width);
    }
  }
  .data-\[disabled\]\:pointer-events-none {
    &[data-disabled] {
      pointer-events: none;
    }
  }
  .data-\[disabled\]\:opacity-50 {
    &[data-disabled] {
      opacity: 50%;
    }
  }
  .data-\[orientation\=horizontal\]\:h-px {
    &[data-orientation="horizontal"] {
      height: 1px;
    }
  }
  .data-\[orientation\=horizontal\]\:w-full {
    &[data-orientation="horizontal"] {
      width: 100%;
    }
  }
  .data-\[orientation\=horizontal\]\:flex-col {
    &[data-orientation="horizontal"] {
      flex-direction: column;
    }
  }
  .data-\[orientation\=vertical\]\:h-full {
    &[data-orientation="vertical"] {
      height: 100%;
    }
  }
  .data-\[orientation\=vertical\]\:w-px {
    &[data-orientation="vertical"] {
      width: 1px;
    }
  }
  .data-\[placeholder\]\:text-muted-foreground {
    &[data-placeholder] {
      color: var(--muted-foreground);
    }
  }
  .data-\[side\=bottom\]\:translate-y-1 {
    &[data-side="bottom"] {
      --tw-translate-y: calc(var(--spacing) * 1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[side\=bottom\]\:slide-in-from-top-2 {
    &[data-side="bottom"] {
      --tw-enter-translate-y: calc(2*var(--spacing)*-1);
    }
  }
  .data-\[side\=left\]\:-translate-x-1 {
    &[data-side="left"] {
      --tw-translate-x: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[side\=left\]\:slide-in-from-right-2 {
    &[data-side="left"] {
      --tw-enter-translate-x: calc(2*var(--spacing));
    }
  }
  .data-\[side\=right\]\:translate-x-1 {
    &[data-side="right"] {
      --tw-translate-x: calc(var(--spacing) * 1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[side\=right\]\:slide-in-from-left-2 {
    &[data-side="right"] {
      --tw-enter-translate-x: calc(2*var(--spacing)*-1);
    }
  }
  .data-\[side\=top\]\:-translate-y-1 {
    &[data-side="top"] {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .data-\[side\=top\]\:slide-in-from-bottom-2 {
    &[data-side="top"] {
      --tw-enter-translate-y: calc(2*var(--spacing));
    }
  }
  .data-\[size\=default\]\:h-9 {
    &[data-size="default"] {
      height: calc(var(--spacing) * 9);
    }
  }
  .data-\[size\=sm\]\:h-8 {
    &[data-size="sm"] {
      height: calc(var(--spacing) * 8);
    }
  }
  .\*\:data-\[slot\=input-group\]\:m-1 {
    :is(& > *) {
      &[data-slot="input-group"] {
        margin: calc(var(--spacing) * 1);
      }
    }
  }
  .\*\:data-\[slot\=input-group\]\:mb-0 {
    :is(& > *) {
      &[data-slot="input-group"] {
        margin-bottom: calc(var(--spacing) * 0);
      }
    }
  }
  .\*\:data-\[slot\=input-group\]\:h-8 {
    :is(& > *) {
      &[data-slot="input-group"] {
        height: calc(var(--spacing) * 8);
      }
    }
  }
  .\*\:data-\[slot\=input-group\]\:border-input\/30 {
    :is(& > *) {
      &[data-slot="input-group"] {
        border-color: var(--input);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--input) 30%, transparent);
        }
      }
    }
  }
  .\*\:data-\[slot\=input-group\]\:bg-input\/30 {
    :is(& > *) {
      &[data-slot="input-group"] {
        background-color: var(--input);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--input) 30%, transparent);
        }
      }
    }
  }
  .\*\:data-\[slot\=input-group\]\:shadow-none {
    :is(& > *) {
      &[data-slot="input-group"] {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .\*\:data-\[slot\=select-value\]\:line-clamp-1 {
    :is(& > *) {
      &[data-slot="select-value"] {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
      }
    }
  }
  .\*\:data-\[slot\=select-value\]\:flex {
    :is(& > *) {
      &[data-slot="select-value"] {
        display: flex;
      }
    }
  }
  .\*\:data-\[slot\=select-value\]\:items-center {
    :is(& > *) {
      &[data-slot="select-value"] {
        align-items: center;
      }
    }
  }
  .\*\:data-\[slot\=select-value\]\:gap-2 {
    :is(& > *) {
      &[data-slot="select-value"] {
        gap: calc(var(--spacing) * 2);
      }
    }
  }
  .data-\[state\=active\]\:bg-background {
    &[data-state="active"] {
      background-color: var(--background);
    }
  }
  .data-\[state\=active\]\:text-foreground {
    &[data-state="active"] {
      color: var(--foreground);
    }
  }
  .group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm {
    &:is(:where(.group\/tabs-list)[data-variant="default"] *) {
      &[data-state="active"] {
        --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);
      }
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      &[data-state="active"] {
        background-color: transparent;
      }
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      &[data-state="active"] {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100 {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      &[data-state="active"] {
        &::after {
          content: var(--tw-content);
          opacity: 100%;
        }
      }
    }
  }
  .data-\[state\=checked\]\:border-primary {
    &[data-state="checked"] {
      border-color: var(--primary);
    }
  }
  .data-\[state\=checked\]\:bg-primary {
    &[data-state="checked"] {
      background-color: var(--primary);
    }
  }
  .data-\[state\=checked\]\:text-primary-foreground {
    &[data-state="checked"] {
      color: var(--primary-foreground);
    }
  }
  .data-\[state\=closed\]\:animate-accordion-up {
    &[data-state="closed"] {
      animation: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-\[state\=closed\]\:animate-out {
    &[data-state="closed"] {
      animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-\[state\=closed\]\:duration-300 {
    &[data-state="closed"] {
      --tw-duration: 300ms;
      transition-duration: 300ms;
    }
  }
  .data-\[state\=closed\]\:fade-out-0 {
    &[data-state="closed"] {
      --tw-exit-opacity: calc(0/100);
      --tw-exit-opacity: 0;
    }
  }
  .data-\[state\=closed\]\:zoom-out-95 {
    &[data-state="closed"] {
      --tw-exit-scale: calc(95*1%);
      --tw-exit-scale: .95;
    }
  }
  .data-\[state\=closed\]\:slide-out-to-bottom {
    &[data-state="closed"] {
      --tw-exit-translate-y: 100%;
    }
  }
  .data-\[state\=closed\]\:slide-out-to-left {
    &[data-state="closed"] {
      --tw-exit-translate-x: -100%;
    }
  }
  .data-\[state\=closed\]\:slide-out-to-right {
    &[data-state="closed"] {
      --tw-exit-translate-x: 100%;
    }
  }
  .data-\[state\=closed\]\:slide-out-to-top {
    &[data-state="closed"] {
      --tw-exit-translate-y: -100%;
    }
  }
  .data-\[state\=inactive\]\:hidden {
    &[data-state="inactive"] {
      display: none;
    }
  }
  .data-\[state\=open\]\:animate-accordion-down {
    &[data-state="open"] {
      animation: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-\[state\=open\]\:animate-in {
    &[data-state="open"] {
      animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-\[state\=open\]\:bg-accent {
    &[data-state="open"] {
      background-color: var(--accent);
    }
  }
  .data-\[state\=open\]\:bg-secondary {
    &[data-state="open"] {
      background-color: var(--secondary);
    }
  }
  .data-\[state\=open\]\:text-muted-foreground {
    &[data-state="open"] {
      color: var(--muted-foreground);
    }
  }
  .data-\[state\=open\]\:opacity-100 {
    &[data-state="open"] {
      opacity: 100%;
    }
  }
  .data-\[state\=open\]\:duration-500 {
    &[data-state="open"] {
      --tw-duration: 500ms;
      transition-duration: 500ms;
    }
  }
  .data-\[state\=open\]\:fade-in-0 {
    &[data-state="open"] {
      --tw-enter-opacity: calc(0/100);
      --tw-enter-opacity: 0;
    }
  }
  .data-\[state\=open\]\:zoom-in-95 {
    &[data-state="open"] {
      --tw-enter-scale: calc(95*1%);
      --tw-enter-scale: .95;
    }
  }
  .data-\[state\=open\]\:slide-in-from-bottom {
    &[data-state="open"] {
      --tw-enter-translate-y: 100%;
    }
  }
  .data-\[state\=open\]\:slide-in-from-left {
    &[data-state="open"] {
      --tw-enter-translate-x: -100%;
    }
  }
  .data-\[state\=open\]\:slide-in-from-right {
    &[data-state="open"] {
      --tw-enter-translate-x: 100%;
    }
  }
  .data-\[state\=open\]\:slide-in-from-top {
    &[data-state="open"] {
      --tw-enter-translate-y: -100%;
    }
  }
  .data-\[state\=open\]\:hover\:bg-sidebar-accent {
    &[data-state="open"] {
      &:hover {
        @media (hover: hover) {
          background-color: var(--sidebar-accent);
        }
      }
    }
  }
  .data-\[state\=open\]\:hover\:text-sidebar-accent-foreground {
    &[data-state="open"] {
      &:hover {
        @media (hover: hover) {
          color: var(--sidebar-accent-foreground);
        }
      }
    }
  }
  .data-\[state\=selected\]\:bg-muted {
    &[data-state="selected"] {
      background-color: var(--muted);
    }
  }
  .data-\[variant\=line\]\:rounded-none {
    &[data-variant="line"] {
      border-radius: 0;
    }
  }
  .sm\:flex {
    @media (width >= 40rem) {
      display: flex;
    }
  }
  .sm\:max-w-lg {
    @media (width >= 40rem) {
      max-width: var(--container-lg);
    }
  }
  .sm\:max-w-sm {
    @media (width >= 40rem) {
      max-width: var(--container-sm);
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:justify-end {
    @media (width >= 40rem) {
      justify-content: flex-end;
    }
  }
  .sm\:text-left {
    @media (width >= 40rem) {
      text-align: left;
    }
  }
  .md\:block {
    @media (width >= 48rem) {
      display: block;
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:grid-cols-4 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .md\:text-sm {
    @media (width >= 48rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .md\:opacity-0 {
    @media (width >= 48rem) {
      opacity: 0%;
    }
  }
  .md\:peer-data-\[variant\=inset\]\:m-2 {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-variant="inset"] ~ *) {
        margin: calc(var(--spacing) * 2);
      }
    }
  }
  .md\:peer-data-\[variant\=inset\]\:ml-0 {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-variant="inset"] ~ *) {
        margin-left: calc(var(--spacing) * 0);
      }
    }
  }
  .md\:peer-data-\[variant\=inset\]\:rounded-xl {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-variant="inset"] ~ *) {
        border-radius: calc(var(--radius) + 4px);
      }
    }
  }
  .md\:peer-data-\[variant\=inset\]\:shadow-sm {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-variant="inset"] ~ *) {
        --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);
      }
    }
  }
  .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2 {
    @media (width >= 48rem) {
      &:is(:where(.peer)[data-variant="inset"] ~ *) {
        &:is(:where(.peer)[data-state="collapsed"] ~ *) {
          margin-left: calc(var(--spacing) * 2);
        }
      }
    }
  }
  .md\:after\:hidden {
    @media (width >= 48rem) {
      &::after {
        content: var(--tw-content);
        display: none;
      }
    }
  }
  .dark\:border-input {
    @media (prefers-color-scheme: dark) {
      border-color: var(--input);
    }
  }
  .dark\:bg-destructive\/60 {
    @media (prefers-color-scheme: dark) {
      background-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--destructive) 60%, transparent);
      }
    }
  }
  .dark\:bg-input\/30 {
    @media (prefers-color-scheme: dark) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
  }
  .dark\:bg-transparent {
    @media (prefers-color-scheme: dark) {
      background-color: transparent;
    }
  }
  .dark\:text-muted-foreground {
    @media (prefers-color-scheme: dark) {
      color: var(--muted-foreground);
    }
  }
  .dark\:hover\:bg-accent\/50 {
    @media (prefers-color-scheme: dark) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--accent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--accent) 50%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-input\/50 {
    @media (prefers-color-scheme: dark) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--input);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--input) 50%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:text-foreground {
    @media (prefers-color-scheme: dark) {
      &:hover {
        @media (hover: hover) {
          color: var(--foreground);
        }
      }
    }
  }
  .dark\:focus-visible\:ring-destructive\/40 {
    @media (prefers-color-scheme: dark) {
      &:focus-visible {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .dark\:has-aria-invalid\:border-destructive\/50 {
    @media (prefers-color-scheme: dark) {
      &:has(*[aria-invalid="true"]) {
        border-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
        }
      }
    }
  }
  .dark\:has-aria-invalid\:ring-destructive\/40 {
    @media (prefers-color-scheme: dark) {
      &:has(*[aria-invalid="true"]) {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40 {
    @media (prefers-color-scheme: dark) {
      &:has(*:is([data-slot][aria-invalid=true])) {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .dark\:aria-invalid\:ring-destructive\/40 {
    @media (prefers-color-scheme: dark) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .dark\:data-\[state\=active\]\:border-input {
    @media (prefers-color-scheme: dark) {
      &[data-state="active"] {
        border-color: var(--input);
      }
    }
  }
  .dark\:data-\[state\=active\]\:bg-input\/30 {
    @media (prefers-color-scheme: dark) {
      &[data-state="active"] {
        background-color: var(--input);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--input) 30%, transparent);
        }
      }
    }
  }
  .dark\:data-\[state\=active\]\:text-foreground {
    @media (prefers-color-scheme: dark) {
      &[data-state="active"] {
        color: var(--foreground);
      }
    }
  }
  .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent {
    @media (prefers-color-scheme: dark) {
      &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
        &[data-state="active"] {
          border-color: transparent;
        }
      }
    }
  }
  .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent {
    @media (prefers-color-scheme: dark) {
      &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
        &[data-state="active"] {
          background-color: transparent;
        }
      }
    }
  }
  .dark\:data-\[state\=checked\]\:bg-primary {
    @media (prefers-color-scheme: dark) {
      &[data-state="checked"] {
        background-color: var(--primary);
      }
    }
  }
  .pointer-coarse\:size-5 {
    @media (pointer: coarse) {
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
    }
  }
  .pointer-coarse\:px-3 {
    @media (pointer: coarse) {
      padding-inline: calc(var(--spacing) * 3);
    }
  }
  .pointer-coarse\:py-2 {
    @media (pointer: coarse) {
      padding-block: calc(var(--spacing) * 2);
    }
  }
  .pointer-coarse\:text-sm {
    @media (pointer: coarse) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .data-open\:animate-in {
    &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
      animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-open\:fade-in-0 {
    &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
      --tw-enter-opacity: calc(0/100);
      --tw-enter-opacity: 0;
    }
  }
  .data-open\:zoom-in-95 {
    &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
      --tw-enter-scale: calc(95*1%);
      --tw-enter-scale: .95;
    }
  }
  .data-closed\:animate-out {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-closed\:fade-out-0 {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      --tw-exit-opacity: calc(0/100);
      --tw-exit-opacity: 0;
    }
  }
  .data-closed\:zoom-out-95 {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      --tw-exit-scale: calc(95*1%);
      --tw-exit-scale: .95;
    }
  }
  .\[\&_svg\]\:pointer-events-none {
    & svg {
      pointer-events: none;
    }
  }
  .\[\&_svg\]\:shrink-0 {
    & svg {
      flex-shrink: 0;
    }
  }
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 {
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 {
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground {
    & svg:not([class*='text-']) {
      color: var(--muted-foreground);
    }
  }
  .\[\&_tr\]\:border-b {
    & tr {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
    }
  }
  .\[\&_tr\:last-child\]\:border-0 {
    & tr:last-child {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0 {
    &:has([role=checkbox]) {
      padding-right: calc(var(--spacing) * 0);
    }
  }
  .\[\.border-b\]\:pb-3 {
    &:is(.border-b) {
      padding-bottom: calc(var(--spacing) * 3);
    }
  }
  .\[\.border-t\]\:pt-3 {
    &:is(.border-t) {
      padding-top: calc(var(--spacing) * 3);
    }
  }
  .\*\:\[span\]\:last\:flex {
    :is(& > *) {
      &:is(span) {
        &:last-child {
          display: flex;
        }
      }
    }
  }
  .\*\:\[span\]\:last\:items-center {
    :is(& > *) {
      &:is(span) {
        &:last-child {
          align-items: center;
        }
      }
    }
  }
  .\*\:\[span\]\:last\:gap-2 {
    :is(& > *) {
      &:is(span) {
        &:last-child {
          gap: calc(var(--spacing) * 2);
        }
      }
    }
  }
  .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] {
    &>[role=checkbox] {
      --tw-translate-y: 2px;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .\[\&\>button\]\:hidden {
    &>button {
      display: none;
    }
  }
  .has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3 {
    &:has(>[data-align=block-end]) {
      &>input {
        padding-top: calc(var(--spacing) * 3);
      }
    }
  }
  .has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3 {
    &:has(>[data-align=block-start]) {
      &>input {
        padding-bottom: calc(var(--spacing) * 3);
      }
    }
  }
  .has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2 {
    &:has(>[data-align=inline-end]) {
      &>input {
        padding-right: calc(var(--spacing) * 2);
      }
    }
  }
  .has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2 {
    &:has(>[data-align=inline-start]) {
      &>input {
        padding-left: calc(var(--spacing) * 2);
      }
    }
  }
  .\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\] {
    &>kbd {
      border-radius: calc(var(--radius) - 5px);
    }
  }
  .\[\&\>span\:last-child\]\:truncate {
    &>span:last-child {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }
  .\[\&\>svg\]\:size-4 {
    &>svg {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .\[\&\>svg\]\:shrink-0 {
    &>svg {
      flex-shrink: 0;
    }
  }
  .\[\&\>svg\]\:text-sidebar-accent-foreground {
    &>svg {
      color: var(--sidebar-accent-foreground);
    }
  }
  .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 {
    &>svg:not([class*='size-']) {
      width: calc(var(--spacing) * 3.5);
      height: calc(var(--spacing) * 3.5);
    }
  }
  .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 {
    &>svg:not([class*='size-']) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .\[\&\>tr\]\:last\:border-b-0 {
    &>tr {
      &:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0px;
      }
    }
  }
  .\[\&\[data-state\=open\]\>svg\]\:rotate-180 {
    &[data-state=open]>svg {
      rotate: 180deg;
    }
  }
  .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
    [data-side=left][data-collapsible=offcanvas] & {
      right: calc(var(--spacing) * -2);
    }
  }
  .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
    [data-side=left][data-state=collapsed] & {
      cursor: e-resize;
    }
  }
  .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
    [data-side=right][data-collapsible=offcanvas] & {
      left: calc(var(--spacing) * -2);
    }
  }
  .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
    [data-side=right][data-state=collapsed] & {
      cursor: w-resize;
    }
  }
}
@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}
@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}
@property --tw-animation-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}
@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --scroll-fade-t {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-b {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-s {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-e {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-mask {
  syntax: "*";
  inherits: false;
}
@property --shimmer-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 20deg;
}
@property --shimmer-image {
  syntax: "*";
  inherits: false;
}
@property --shimmer-text-fill {
  syntax: "*";
  inherits: false;
}
@media (prefers-reduced-motion: reduce) {
  .shimmer {
    animation: none;
    background-image: none;
    -webkit-text-fill-color: currentColor;
  }
}
.program-replace {
  padding: 18px !important;
  margin-top: 16px;
  background: #f0f8fb;
  border: 1px solid #b8dce9;
  border-radius: 12px;
}
.program-replace h3 {
  margin: 0 0 8px;
}
.program-replace .program-upload>button {
  min-height: 48px;
}
.program-replace .daily-plan-file {
  min-height: 52px;
}
.program-upload .daily-plan-file input {
  width: 100%;
  height: 100%;
}
:root {
  --background: #ffffff;
  --foreground: #171717;
  --card: #ffffff;
  --card-foreground: #171717;
  --popover: #ffffff;
  --popover-foreground: #171717;
  --primary: #075bce;
  --primary-foreground: #fafafa;
  --secondary: #f5f5f5;
  --secondary-foreground: #171717;
  --muted: #f5f5f5;
  --muted-foreground: #737373;
  --accent: #f5f5f5;
  --accent-foreground: #171717;
  --destructive: #e7000b;
  --border: #dbe4ee;
  --input: #e5e5e5;
  --ring: #2c7ddd;
  --chart-1: #f54900;
  --chart-2: #009689;
  --chart-3: #104e64;
  --chart-4: #ffb900;
  --chart-5: #fe9a00;
  --radius: 0.625rem;
  --sidebar: #fafafa;
  --sidebar-foreground: #171717;
  --sidebar-primary: #171717;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #f5f5f5;
  --sidebar-accent-foreground: #171717;
  --sidebar-border: #e5e5e5;
  --sidebar-ring: #a1a1a1;
}
@media (prefers-color-scheme: dark) {
  :root {
    --background: #0a0a0a;
    --foreground: #ededed;
    --card: #171717;
    --card-foreground: #ededed;
    --popover: #171717;
    --popover-foreground: #ededed;
    --primary: #ededed;
    --primary-foreground: #171717;
    --secondary: #262626;
    --secondary-foreground: #ededed;
    --muted: #262626;
    --muted-foreground: #a1a1a1;
    --accent: #262626;
    --accent-foreground: #ededed;
    --destructive: #ff6467;
    --border: #ffffff1a;
    --input: #ffffff26;
    --ring: #737373;
    --chart-1: #8e51ff;
    --chart-2: #00bc7d;
    --chart-3: #fe9a00;
    --chart-4: #ad46ff;
    --chart-5: #ff2056;
    --sidebar: #171717;
    --sidebar-foreground: #ededed;
    --sidebar-primary: #8e51ff;
    --sidebar-primary-foreground: #ededed;
    --sidebar-accent: #262626;
    --sidebar-accent-foreground: #ededed;
    --sidebar-border: #ffffff1a;
    --sidebar-ring: #737373;
  }
}
body {
  background: var(--background);
  color: var(--foreground);
  font-family: Arial, Helvetica, sans-serif;
}
:root {
  --background: #f5f7fa;
  --foreground: #1b293b;
  --card: #fff;
  --card-foreground: #1b293b;
  --popover: #fff;
  --popover-foreground: #1b293b;
  --primary: #1263e6;
  --primary-foreground: #fff;
  --secondary: #eaf0f8;
  --secondary-foreground: #1b293b;
  --muted: #edf1f6;
  --muted-foreground: #66758a;
  --accent: #e9f0fd;
  --accent-foreground: #1759b8;
  --border: #dfe5ee;
  --input: #d6deea;
  --ring: #1263e6;
  --radius: .55rem;
  --sidebar: #10243c;
  --sidebar-foreground: #cfdae7;
  --sidebar-accent: #243e5e;
  --sidebar-accent-foreground: #fff;
  --sidebar-border: #2a405a;
}
body {
  font-family: Arial,Helvetica,sans-serif;
  font-size: 16px;
}
button,a,input,textarea {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: default;
}
h1,h2,h3 {
  letter-spacing: -.035em;
}
h1 {
  font-size: clamp(1.9rem,3vw,2.5rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 9px 0 12px;
}
h2 {
  font-size: 1.2rem;
  font-weight: 650;
}
h3 {
  font-size: 1.2rem;
  font-weight: 650;
  margin: 12px 0 6px;
}
p {
  line-height: 1.55;
}
.muted,.heading p {
  color: #68788d;
}
.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 12px 28px;
  font-size: 15px;
  letter-spacing: .11em;
  font-weight: 700;
  color: white;
}
.brand small {
  display: block;
  font-size: 12px;
  letter-spacing: .36em;
  margin-top: 5px;
  font-weight: 400;
}
.brandmark {
  font-size: 35px;
  letter-spacing: -4px;
  color: white;
}
.brandmark span {
  color: #3e8cff;
  font-size: 34px;
}
.workspace {
  font-size: 12px;
  letter-spacing: .14em;
  padding: 5px 16px 17px;
  color: #8fa4bd;
}
.industrial-sidebar [data-slot=sidebar-content] {
  padding: 0 18px;
}
.industrial-sidebar [data-slot=sidebar-menu-button] {
  height: 45px;
  font-size: 15px;
  padding: 12px;
  margin: 3px 0;
  border-radius: 7px;
}
.industrial-sidebar [data-active=true] {
  background: #214670 !important;
  color: #fff !important;
  border-left: 3px solid #559dff;
}
.navcount {
  margin-left: auto;
  background: #9c422d;
  color: #fff;
  border-radius: 4px;
  padding: 0 6px;
}
.sidebar-note {
  border: 1px solid #31465e;
  border-radius: 8px;
  margin: 15px 10px 23px;
  padding: 15px;
  color: #9db2cb;
  font-size: 14px;
}
.sidebar-note p {
  margin-top: 9px;
}
.profile {
  display: flex;
  gap: 10px;
  border-top: 1px solid #31465e;
  padding: 18px 8px;
  font-size: 14px;
}
.profile>span {
  background: #335171;
  color: white;
  padding: 9px;
  border-radius: 50%;
  align-self: center;
}
.profile small {
  display: block;
  color: #9ab0c8;
  margin-top: 4px;
}
.topbar {
  height: 76px;
  padding: 0 38px;
  background: white;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
}
.date {
  color: #66758a;
}
.main {
  padding: 38px;
  max-width: 1600px;
  width: 100%;
  margin: auto;
  flex: 1;
}
.heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-bottom: 30px;
}
.eyebrow {
  font-size: 12px;
  letter-spacing: .14em;
  color: #60758e;
  font-weight: 650;
}
.actions {
  display: flex;
  gap: 10px;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 18px;
  margin: 28px 0 35px;
}
.stat {
  background: white;
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 20px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}
.stat svg {
  color: #7389a3;
  grid-column: 2;
  grid-row: 1;
}
.stat strong {
  font-size: 34px;
  font-weight: 600;
  grid-column: 1;
  grid-row: 1;
}
.stat span {
  grid-column: 1/3;
  font-size: 14px;
  color: #627086;
}
.sectiontitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  gap: 15px;
}
.sectiontitle button:not([data-slot]) {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 14px;
  color: #1b64c7;
}
.sitegrid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
}
.sitecard {
  background: white;
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 22px;
  text-align: left;
  transition: box-shadow .2s,border-color .2s;
}
.sitecard:hover {
  border-color: #8eafe0;
  box-shadow: 0 8px 24px #1835500c;
}
.sitecard p {
  font-size: 14px;
  color: #67778a;
}
.siteicon {
  background: #edf3fe;
  color: #3378d6;
  padding: 10px;
  border-radius: 7px;
}
.badge {
  font-size: 12px;
  background: #edf2f9;
  color: #526b89;
  padding: 5px 9px;
  border-radius: 5px;
  white-space: nowrap;
  align-self: center;
}
.badge.warn {
  background: #fff0e9;
  color: #b74920;
}
.worklines {
  margin: 26px 0 14px;
  display: grid;
  gap: 16px;
  font-size: 14px;
}
.worklines [data-slot=progress],.detailprogress [data-slot=progress] {
  height: 6px;
  margin: 10px 0;
}
.worklines small {
  color: #728095;
}
.sitecard footer,.entry footer {
  border-top: 1px solid #edf0f4;
  margin-top: 17px;
  padding-top: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #677c93;
  gap: 8px;
}
.panel {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: white;
  padding: 26px;
}
.onboarding {
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 255px;
  border-top: 3px solid #286fca;
}
.onboarding-icon {
  width: 88px;
  height: 88px;
  background: #edf3fc;
  color: #3878cb;
  display: grid;
  place-items: center;
  border-radius: 20px;
  flex-shrink: 0;
}
.onboarding h2 {
  font-size: 1.55rem;
  margin: 10px 0;
}
.onboarding p {
  color: #6b7b90;
  margin-bottom: 20px;
  font-size: 15px;
}
.checklist {
  margin-left: auto;
  display: grid;
  gap: 20px;
  font-size: 14px;
  color: #65778e;
  flex-shrink: 0;
}
.checklist>span {
  display: flex;
  align-items: center;
  gap: 12px;
}
.checklist>span>span {
  font-size: 12px;
  border: 1px solid #dae4f0;
  border-radius: 50%;
  padding: 6px;
  color: #3574c9;
}
.bottomgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 28px;
}
.bottomgrid h2 {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 24px;
}
.bottomgrid p {
  font-size: 15px;
}
.listrow {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  border-bottom: 1px solid #ecf0f5;
  width: 100%;
  text-align: left;
  font-size: 14px;
}
.listrow small {
  display: block;
  color: #728096;
  margin-top: 5px;
}
.pagefooter {
  display: flex;
  justify-content: space-between;
  padding: 20px 38px;
  color: #8190a1;
  font-size: 12px;
  letter-spacing: .06em;
}
.pagefooter span {
  letter-spacing: 0;
}
.back {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  color: #3d6da8;
  margin-bottom: 18px;
}
.detailprogress {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap: 24px;
  margin-bottom: 22px;
  font-size: 14px;
}
.detailprogress span {
  display: block;
  color: #62758c;
  margin-top: 9px;
}
.filterbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin: 24px 0;
}
.filterbar label {
  font-size: 14px;
  color: #65778d;
}
.filterbar input {
  border: 1px solid var(--border);
  background: white;
  border-radius: 6px;
  padding: 7px;
  margin-left: 7px;
  max-width: 170px;
}
.empty {
  text-align: center;
  padding: 60px 24px;
  color: #60748c;
}
.empty svg {
  margin: 0 auto 15px;
}
.empty h3 {
  color: #1b293b;
}
.empty p {
  margin-bottom: 20px;
}
.feed {
  max-width: 950px;
  display: grid;
  gap: 22px;
}
.entryfacts {
  display: flex;
  gap: 16px;
  font-size: 14px;
  margin: 18px 0;
  color: #526b89;
}
.entryfacts span {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #f1f5fa;
  padding: 8px 12px;
  border-radius: 5px;
}
.material {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff4e9;
  padding: 12px;
  font-size: 14px;
  color: #9d531d;
}
.photos {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.photos img {
  width: 160px;
  height: 120px;
  object-fit: cover;
  border-radius: 6px;
}
.prewrap {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.taskstatus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 18px;
}
.taskstatus [data-slot=select-trigger] {
  width: 180px;
}
.taskstatus small {
  font-size: 13px;
  color: #76869a;
}
.comment {
  margin-top: 14px;
  background: #f5f8fc;
  padding: 14px;
  border-radius: 6px;
  font-size: 14px;
}
.commentphoto {
  height: 100px;
  margin-top: 10px;
}
.accessnote {
  color: #5e728b;
  font-size: 14px;
  background: #eef4fd;
  padding: 15px;
  border-radius: 7px;
  margin-bottom: 12px;
}
.rolecards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  margin-top: 28px;
  font-size: 14px;
}
.rolecards p {
  color: #6a7d93;
  margin-top: 8px;
}
.formdialog {
  max-height: 90vh;
  overflow-y: auto;
  background: white !important;
}
.form {
  display: grid;
  gap: 16px;
}
.field {
  display: grid;
  gap: 7px;
  font-size: 14px;
  font-weight: 500;
}
.field input,.field textarea,.workform input {
  padding: 10px 12px;
  border: 1px solid #d4deea;
  border-radius: 6px;
  background: white;
  min-width: 0;
  width: 100%;
  font-size: 16px;
  color: #1b293b;
}
.field textarea {
  resize: vertical;
}
.formgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.workform {
  display: grid;
  grid-template-columns: 2fr 1fr 60px;
  gap: 8px;
}
.upload {
  border: 1px dashed #aec3df;
  border-radius: 8px;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 14px;
  color: #47678d;
}
.upload small {
  display: block;
  color: #76879c;
  font-size: 12px;
  margin-top: 4px;
}
.upload input {
  font-size: 13px;
  width: 100%;
}
.checkrow {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px;
}
.error {
  padding: 13px;
  background: #fff0ee;
  color: #a13629;
  border-radius: 6px;
  margin: 12px 0;
  font-size: 14px;
}
.error a {
  text-decoration: underline;
}
.success {
  padding: 10px 15px;
  background: #eaf6ef;
  color: #276541;
  border-radius: 6px;
  margin-bottom: 15px;
  font-size: 14px;
}
@media (max-width:1150px) {
  .sitegrid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .checklist {
    display: none;
  }
  .stats {
    gap: 10px;
  }
  .main {
    padding: 28px;
  }
  .stat {
    padding: 15px;
  }
  .heading {
    align-items: flex-start;
  }
}
@media (max-width:767px) {
  .main {
    padding: 23px 17px;
  }
  .topbar {
    padding: 0 16px;
    height: 62px;
  }
  .date {
    display: none;
  }
  .heading {
    flex-direction: column;
    gap: 14px;
  }
  .stats {
    grid-template-columns: 1fr 1fr;
  }
  .sitegrid,.bottomgrid,.rolecards {
    grid-template-columns: 1fr;
  }
  .onboarding {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    padding: 24px;
  }
  .onboarding-icon {
    width: 60px;
    height: 60px;
  }
  .onboarding h2 {
    font-size: 1.35rem;
  }
  .filterbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .panel {
    padding: 20px;
  }
  .pagefooter {
    padding: 20px 17px;
    gap: 15px;
    font-size: 12px;
  }
  .pagefooter span {
    max-width: 140px;
  }
  .listrow {
    flex-wrap: wrap;
  }
  .taskstatus {
    align-items: flex-start;
  }
  .formgrid {
    grid-template-columns: 1fr;
  }
  .entry footer {
    flex-wrap: wrap;
  }
  .topbar .muted {
    display: none;
  }
}
.ops {
  margin-top: 24px;
}
.ops .field input,.hoursinput {
  padding: 9px 12px;
  border: 1px solid var(--input);
  border-radius: 6px;
  background: #fff;
  font-size: 16px;
  min-width: 0;
}
.ops [data-slot=table-container] {
  overflow-x: auto;
}
.ops [data-slot=table] {
  font-size: 14px;
}
.ops [data-slot=table-cell] {
  white-space: normal;
  min-width: 105px;
  vertical-align: top;
  padding: 16px 10px;
}
.ops [data-slot=table-head] {
  white-space: nowrap;
  padding: 12px 10px;
  color: #536880;
}
.ops [data-slot=table-cell]:first-child {
  min-width: 160px;
}
.ops h2 {
  margin-bottom: 7px;
}
.ops .boqrow {
  display: grid;
  grid-template-columns: 80px 2fr 65px 90px 1fr;
  gap: 8px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
}
.boqdialog {
  max-width: min(1050px,95vw) !important;
}
.airesult {
  margin-top: 20px;
  font-size: 15px;
}
.airesult ul {
  list-style: disc;
  padding-left: 20px;
}
.airesult li {
  margin: 9px 0;
}
.doclink {
  font-size: 14px;
  color: var(--primary);
  padding: 8px;
}
.ops .stats {
  margin-top: 20px;
}
.ops .stats strong {
  font-size: 28px;
}
.ops .field {
  min-width: 0;
}
@media (max-width:767px) {
  .ops .boqrow {
    grid-template-columns: 1fr 1fr;
  }
  .ops .sectiontitle {
    align-items: flex-start;
    flex-direction: column;
  }
  .ops .stats {
    grid-template-columns: 1fr 1fr;
  }
  .ops .stats strong {
    font-size: 24px;
  }
}
.sitehours {
  display: flex;
  gap: 30px;
  align-items: center;
  flex-wrap: wrap;
  margin: 22px 0;
  background: #edf4ff;
  border-color: #cfdef5;
}
.sitehours span {
  display: block;
  font-size: 12px;
  letter-spacing: .04em;
  color: #527298;
}
.sitehours strong {
  display: block;
  font-size: 24px;
  margin-top: 7px;
}
.sitehours small {
  color: #62768f;
  margin-left: auto;
  max-width: 190px;
}
.assetcounts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0;
}
.assetcounts .badge {
  font-size: 14px;
  padding: 9px 12px;
}
.brand-logo {
  width: 54px;
  height: 54px;
  object-fit: contain;
  background: white;
  border-radius: 10px;
  padding: 5px;
  flex-shrink: 0;
}
.topbar-logo {
  width: 32px;
  height: 32px;
  object-fit: contain;
  flex-shrink: 0;
}
.mobile-menu-control>span {
  display: none;
}
.pwa-install {
  position: fixed;
  right: max(18px,env(safe-area-inset-right));
  bottom: max(18px,env(safe-area-inset-bottom));
  z-index: 60;
}
.pwa-install>button {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 0;
  border-radius: 999px;
  background: #1768d5;
  color: #fff;
  padding: 12px 17px;
  box-shadow: 0 10px 28px #102a4340;
  font-weight: 650;
}
.pwa-help {
  position: absolute;
  right: 0;
  bottom: 56px;
  width: min(310px,calc(100vw - 34px));
  background: #fff;
  border: 1px solid #cad7e7;
  border-radius: 12px;
  padding: 18px;
  box-shadow: 0 16px 42px #102a4333;
}
.pwa-help>button {
  position: absolute;
  right: 8px;
  top: 8px;
  padding: 6px;
}
.pwa-help strong {
  display: block;
  margin-bottom: 7px;
}
.pwa-help p {
  font-size: 14px;
  color: #536880;
  padding-right: 12px;
}
@media (display-mode:standalone) {
  body {
    padding-bottom: env(safe-area-inset-bottom);
  }
  .topbar {
    padding-top: env(safe-area-inset-top);
    height: calc(62px + env(safe-area-inset-top));
  }
}
.brand small {
  font-size: 11px;
  letter-spacing: .06em;
}
.brand {
  gap: 10px;
}
.sal-panel {
  margin-bottom: 22px;
  border-left: 4px solid #1768d5;
}
.sal-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 20px;
  margin: 18px 0 20px;
}
.sal-grid>div {
  background: #f6f9fd;
  border-radius: 7px;
  padding: 14px;
  font-size: 14px;
}
.sal-track {
  height: 8px;
  background: #dce7f5;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 11px;
}
.sal-track span {
  display: block;
  height: 100%;
  background: #1768d5;
  border-radius: 999px;
}
.official-sal-card {
  margin: 17px 0;
  padding: 14px;
  background: #edf5ff;
  border: 1px solid #c7daf6;
  border-radius: 8px;
}
.official-sal-card>div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.official-sal-card span,.official-sal-hero span {
  font-size: 11px;
  letter-spacing: .08em;
  color: #3c6495;
  font-weight: 700;
}
.official-sal-card strong {
  font-size: 23px;
  color: #125fca;
}
.official-sal-card [data-slot=progress] {
  height: 9px;
  margin: 11px 0 7px;
}
.official-sal-card small {
  color: #627995;
}
.official-sal-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px 22px;
  align-items: center;
  margin-bottom: 18px;
  background: linear-gradient(135deg,#edf5ff,#fff);
  border: 2px solid #9fc0ee;
}
.official-sal-hero>div:first-child {
  display: grid;
  gap: 5px;
}
.official-sal-hero small {
  color: #5c718b;
}
.official-sal-hero>strong {
  font-size: 38px;
  color: #125fca;
}
.official-sal-hero .sal-track {
  grid-column: 1/-1;
  margin-top: 2px;
  height: 11px;
}
.detailprogress-heading {
  grid-column: 1/-1;
  border-bottom: 1px solid #e3e9f1;
  padding-bottom: 15px;
}
.detailprogress-heading strong {
  font-size: 17px;
}
.detailprogress-heading span {
  margin-top: 5px;
}
.sitecard .worklines {
  max-height: 270px;
  overflow: hidden;
}
.detailprogress {
  max-height: 560px;
  overflow-y: auto;
}
@media (max-width:767px) {
  .sal-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:767px) {
  .official-sal-hero {
    padding: 17px;
    grid-template-columns: 1fr auto;
  }
  .official-sal-hero>strong {
    font-size: 30px;
  }
  .official-sal-card strong {
    font-size: 21px;
  }
}
.inspection-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 20px;
}
.inspection-card {
  min-width: 0;
}
.inspection-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}
.inspection-head>strong {
  font-size: 32px;
  color: #1263e6;
}
.inspection-card [data-slot=progress] {
  height: 10px;
  margin: 15px 0;
}
.inspection-card footer {
  border-top: 1px solid #e5ebf2;
  margin-top: 18px;
  padding-top: 12px;
  color: #6a7d93;
  font-size: 13px;
}
.inspection-videos {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 14px;
}
.inspection-videos video {
  width: 100%;
  max-height: 280px;
  background: #0f172a;
  border-radius: 8px;
}
@media (max-width:767px) {
  .inspection-grid {
    grid-template-columns: 1fr;
  }
  .inspection-videos {
    grid-template-columns: 1fr;
  }
  .inspection-section .sectiontitle {
    align-items: flex-start;
    flex-direction: column;
  }
  .inspection-section .sectiontitle button {
    width: 100%;
  }
}
@media (max-width:767px) {
  .main [data-slot=tabs] {
    display: block;
    overflow: hidden;
    margin: 18px -17px 22px;
    padding: 0 17px;
  }
  .main [data-slot=tabs-list] {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    padding: 4px;
    background: #eaf0f7;
    gap: 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .main [data-slot=tabs-list]::-webkit-scrollbar {
    display: none;
  }
  .main [data-slot=tabs-trigger] {
    flex: 0 0 auto !important;
    height: 40px !important;
    padding: 8px 13px;
    font-size: 14px;
    scroll-snap-align: start;
  }
  .ops {
    margin-top: 16px;
  }
  .ops .sectiontitle h2 {
    font-size: 1.25rem;
    line-height: 1.3;
    margin: 0 0 7px;
    overflow-wrap: anywhere;
  }
  .ops .sectiontitle .actions {
    width: 100%;
  }
  .ops .sectiontitle .actions button {
    width: 100%;
    justify-content: center;
  }
  .ops>.panel {
    overflow: hidden;
    padding: 16px;
  }
  .ops [data-slot=table-container] {
    width: 100%;
    overflow-x: auto;
    border-radius: 6px;
    -webkit-overflow-scrolling: touch;
  }
  .ops [data-slot=table] {
    min-width: 650px;
  }
  .ops .empty {
    min-width: 0;
    padding: 44px 16px;
  }
  .ops .empty h3 {
    font-size: 1.25rem;
  }
  .ops .empty p {
    font-size: 15px;
  }
}
.bulk-dialog {
  max-width: 720px;
}
.bulk-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.bulk-search {
  width: 100%;
  border: 1px solid #d4deea;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 16px;
}
.bulk-roster {
  display: grid;
  gap: 7px;
  max-height: 330px;
  overflow-y: auto;
  border: 1px solid #e0e7f0;
  border-radius: 8px;
  padding: 8px;
}
.bulk-person {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px;
  border-radius: 6px;
  background: #f8fafc;
}
.bulk-person.selected {
  background: #edf4ff;
}
.bulk-person>label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.bulk-person small {
  display: block;
  color: #6b7d92;
  margin-top: 3px;
}
.bulk-overrides {
  display: grid;
  grid-template-columns: 90px 90px;
  gap: 7px;
}
.bulk-overrides input {
  width: 100%;
  border: 1px solid #cbd8e8;
  border-radius: 6px;
  padding: 8px;
  font-size: 16px;
}
@media (max-width:767px) {
  .actions {
    flex-wrap: wrap;
  }
  .bulk-dialog {
    max-width: calc(100vw - 20px);
  }
  .bulk-person {
    align-items: flex-start;
    flex-direction: column;
  }
  .bulk-overrides {
    width: 100%;
    grid-template-columns: 1fr 1fr;
  }
  .bulk-toolbar {
    align-items: flex-start;
  }
  .bulk-toolbar strong {
    font-size: 14px;
  }
}
.ai-manager {
  display: grid;
  gap: 22px;
}
.ai-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  background: linear-gradient(135deg,#102b4d,#174d88);
  color: #fff;
  border: 0;
}
.ai-hero h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.65rem;
  margin: 7px 0;
}
.ai-hero p {
  max-width: 760px;
  color: #d8e7fa;
}
.ai-hero .eyebrow {
  color: #91bff5;
}
.ai-hero button {
  flex-shrink: 0;
  background: #fff;
  color: #12365f;
}
.ai-stats {
  margin: 0;
}
.ai-site-list {
  display: grid;
  gap: 16px;
}
.ai-site {
  padding: 22px;
}
.ai-site-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}
.ai-site-head h3 {
  font-size: 1.3rem;
  margin-top: 9px;
}
.ai-site-head p {
  color: #687b91;
  font-size: 14px;
}
.ai-flags {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 17px;
}
.ai-flags>span {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f1f5fa;
  color: #526b89;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 13px;
}
.ai-flags svg {
  width: 15px;
  height: 15px;
}
.ai-flags .bad {
  background: #fff0ed;
  color: #a43b27;
}
.ai-flags .ok {
  background: #eaf7f0;
  color: #26714a;
}
.ai-problem {
  margin-top: 10px;
  border-left: 3px solid #dc623f;
  background: #fff7f4;
  padding: 10px 12px;
  font-size: 14px;
}
.ai-report {
  border-left: 4px solid #2b75d4;
}
.ai-summary {
  font-size: 1.05rem;
  margin: 10px 0 20px;
}
.ai-report-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}
.ai-report-grid>div {
  background: #f6f9fd;
  padding: 16px;
  border-radius: 8px;
}
.ai-report-grid ul {
  list-style: disc;
  padding-left: 20px;
  font-size: 14px;
}
.ai-report-grid li {
  margin: 7px 0;
}
.photo-analysis {
  margin-top: 18px;
  border-top: 1px solid #e1e8f1;
  padding-top: 18px;
}
.visual-progress {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 20px;
  align-items: center;
  margin-bottom: 15px;
  background: #edf5ff;
  border-radius: 8px;
  padding: 14px;
}
.visual-progress span {
  font-size: 11px;
  letter-spacing: .08em;
  color: #3c6495;
  font-weight: 700;
}
.visual-progress strong {
  grid-column: 2;
  grid-row: 1/3;
  font-size: 28px;
  color: #125fca;
}
.visual-progress small {
  color: #617790;
}
@media (max-width:767px) {
  .ai-hero,.ai-site-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .ai-hero button,.ai-site-head .actions,.ai-site-head .actions button {
    width: 100%;
  }
  .ai-report-grid {
    grid-template-columns: 1fr;
  }
  .ai-stats {
    grid-template-columns: 1fr 1fr;
  }
  .ai-site {
    padding: 17px;
  }
  .visual-progress {
    grid-template-columns: 1fr;
  }
  .visual-progress strong {
    grid-column: 1;
    grid-row: auto;
  }
}
.equipment-dialog {
  width: min(620px,calc(100vw - 24px));
  max-width: 620px !important;
  max-height: 94vh;
  padding: 0;
  gap: 0;
  border: 0;
  border-radius: 16px;
  overflow-y: auto;
  box-shadow: 0 24px 70px #102d5050;
}
.equipment-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 24px;
  background: linear-gradient(135deg,#123963,#1f65ad);
  color: #fff;
}
.equipment-head-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #ffffff1c;
  border: 1px solid #ffffff2e;
  flex: none;
}
.equipment-head-icon svg {
  width: 24px;
  height: 24px;
}
.equipment-head [data-slot=dialog-title] {
  font-size: 1.28rem;
  line-height: 1.25;
}
.equipment-head [data-slot=dialog-description] {
  color: #d7e8fa;
  margin-top: 4px;
  font-size: 14px;
}
.equipment-dialog [data-slot=dialog-close] {
  top: 17px;
  right: 17px;
  color: white;
  background: #ffffff18;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  opacity: 1;
}
.equipment-flow {
  padding: 20px 24px 24px;
  gap: 12px;
  background: #f4f7fb;
}
.equipment-step {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  padding: 16px;
  border: 1px solid #dce5ef;
  border-radius: 12px;
  background: white;
  opacity: .58;
  transition: .2s;
}
.equipment-step.is-active,.equipment-step.is-done {
  opacity: 1;
}
.equipment-step.is-active {
  border-color: #77a8df;
  box-shadow: 0 0 0 3px #2873c515;
}
.equipment-step.is-done {
  border-color: #cbdbe9;
}
.step-number {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e9eef5;
  color: #60748b;
  font-weight: 750;
}
.is-active>.step-number {
  background: #1769bd;
  color: #fff;
}
.is-done>.step-number {
  background: #e2f5e9;
  color: #267648;
}
.step-number svg {
  width: 18px;
}
.step-body {
  min-width: 0;
  display: grid;
  gap: 12px;
}
.step-title {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}
.step-title>svg {
  width: 19px;
  color: #3777b9;
  margin-top: 2px;
  flex: none;
}
.step-title strong,.step-title small {
  display: block;
}
.step-title strong {
  font-size: 16px;
  color: #172c42;
}
.step-title small {
  font-size: 13px;
  color: #667b91;
  margin-top: 3px;
}
.step-control {
  width: 100%;
  min-height: 46px;
  font-size: 16px;
}
.photo-picker {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 2px dashed #8fb2d8;
  border-radius: 10px;
  background: #f4f9ff;
  color: #175c9f;
  cursor: pointer;
}
.photo-picker>svg {
  width: 26px;
  height: 26px;
  flex: none;
}
.photo-picker span,.photo-picker small {
  display: block;
  min-width: 0;
}
.photo-picker strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.photo-picker small {
  color: #657b91;
  margin-top: 3px;
  font-size: 12px;
}
.photo-picker input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.previous-photo {
  display: grid;
  gap: 7px;
}
.previous-photo>span {
  font-size: 12px;
  color: #7a8b9d;
  text-align: center;
}
.step-button,.final-register {
  width: 100%;
  min-height: 48px;
  font-size: 16px;
}
.manual-note {
  display: flex;
  gap: 6px;
  align-items: center;
  color: #65798e;
}
.manual-note svg {
  width: 16px;
}
.serial-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 9px;
}
.serial-row button {
  height: 43px;
}
.serial-row input {
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.step-hint {
  font-size: 13px;
  color: #536a81;
  background: #eef4fb;
  padding: 10px;
  border-radius: 7px;
}
.asset-result {
  display: flex;
  gap: 11px;
  padding: 13px;
  border-radius: 9px;
}
.asset-result>svg {
  flex: none;
  width: 22px;
}
.asset-result p {
  font-size: 13px;
  margin-top: 3px;
}
.asset-result.found {
  background: #eaf7ef;
  color: #215f3d;
}
.asset-result.new {
  background: #edf4fc;
  color: #225d98;
}
.optional {
  font-weight: 400;
  color: #7c8c9c;
}
.confirm-card {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 13px;
  border: 1px solid #b8d0e6;
  border-radius: 9px;
  background: #f5f9fd;
  cursor: pointer;
}
.confirm-card.is-disabled {
  opacity: .5;
  cursor: default;
}
.confirm-card strong,.confirm-card small {
  display: block;
}
.confirm-card strong {
  font-size: 14px;
}
.confirm-card small {
  font-size: 12px;
  color: #65798e;
  margin-top: 3px;
}
.equipment-error {
  margin: 0;
  border: 1px solid #f0c3bd;
}
.final-register {
  margin-top: 2px;
  min-height: 52px;
  font-weight: 700;
}
.final-register svg {
  width: 19px;
}
@media (max-width:600px) {
  .equipment-dialog {
    width: 100%;
    max-width: 100% !important;
    max-height: 96vh;
    top: auto;
    bottom: 0;
    transform: translateX(-50%);
    border-radius: 18px 18px 0 0;
  }
  .equipment-head {
    padding: 18px;
  }
  .equipment-flow {
    padding: 14px;
    gap: 10px;
  }
  .equipment-step {
    grid-template-columns: 30px 1fr;
    padding: 14px 12px;
    gap: 9px;
  }
  .step-number {
    width: 28px;
    height: 28px;
  }
  .serial-row {
    grid-template-columns: 1fr;
  }
  .serial-row button {
    width: 100%;
    height: 44px;
  }
  .equipment-head [data-slot=dialog-title] {
    font-size: 1.2rem;
  }
}
html,body {
  max-width: 100%;
  overflow-x: hidden;
}
body {
  font-family: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background: linear-gradient(180deg,#edf3fa 0,#f7f9fc 420px);
  letter-spacing: -.006em;
}
.main {
  min-width: 0;
}
.panel,.sitecard,.stat {
  border-color: #d6e1ee;
  box-shadow: 0 8px 28px rgba(18,48,81,.055);
}
.panel {
  border-radius: 14px;
}
.sitecard {
  border-radius: 15px;
  box-shadow: 0 7px 25px rgba(18,48,81,.06);
  position: relative;
  overflow: hidden;
}
.sitecard:before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #2877d3;
}
.sitecard:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(18,48,81,.11);
}
.stat {
  border-radius: 13px;
  border-top: 3px solid #2f7ed5;
}
.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  box-shadow: 0 1px 12px rgba(24,55,88,.055);
}
.industrial-sidebar {
  --sidebar: #0d2847;
}
.industrial-sidebar [data-slot=sidebar-menu-button] {
  border-radius: 10px;
  transition: .18s;
}
.industrial-sidebar [data-active=true] {
  background: linear-gradient(135deg,#225c9e,#2f77c9) !important;
  border-left: 0;
  box-shadow: 0 8px 18px #071b3038;
}
.brand-logo {
  border-radius: 13px;
  box-shadow: 0 5px 16px #0002;
}
.eyebrow {
  color: #2870bc;
  font-weight: 750;
}
.heading h1 {
  color: #122c49;
}
.heading p {
  font-size: 15px;
}
.badge {
  border-radius: 999px;
}
.accessnote {
  border: 1px solid #d1e1f4;
  border-left: 4px solid #347bc8;
  border-radius: 10px;
}
.error,.success {
  border-radius: 10px;
}
.actions [data-slot=button],[data-slot=button].actions {
  min-height: 42px;
}
.formdialog {
  border-radius: 15px;
  box-shadow: 0 24px 70px #102d5045;
}
.field input,.field textarea,.field [data-slot=select-trigger] {
  border-radius: 9px;
  min-height: 44px;
}
.photos img {
  border-radius: 10px;
}
.pwa-install>button {
  min-height: 48px;
}
@media (max-width:767px) {
  body {
    background: #f3f6fa;
  }
  [data-slot=sidebar-inset] {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
  }
  .topbar {
    position: sticky;
    height: calc(64px + env(safe-area-inset-top));
    min-height: calc(64px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 14px 0;
    gap: 9px;
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) 48px;
    align-items: center;
  }
  .topbar>div {
    min-width: 0;
  }
  .topbar>div span {
    font-weight: 750;
    font-size: 16px;
  }
  .topbar-logo {
    width: 34px;
    height: 34px;
  }
  .topbar-brand {
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);
    justify-content: center;
    gap: 8px !important;
    white-space: nowrap;
    pointer-events: none;
  }
  .topbar-brand>span {
    font-size: 17px !important;
  }
  .topbar>.notification-button {
    grid-column: 3;
    justify-self: end;
  }
  .topbar-logout {
    display: none !important;
  }
  .topbar [data-slot=button] {
    min-width: 42px;
    min-height: 42px;
  }
  .mobile-menu-control {
    grid-column: 1;
    display: grid;
    justify-self: start;
  }
  .mobile-menu-control>span {
    display: none !important;
  }
  .mobile-menu-control [data-slot=sidebar-trigger] {
    width: 44px;
    height: 44px;
    min-width: 44px !important;
    min-height: 44px !important;
    border: 1px solid #c8d7e7;
    border-radius: 12px;
    background: #f4f8fc;
    color: #174f8a;
    box-shadow: 0 3px 10px rgba(20,55,90,.08);
  }
  .main {
    width: 100%;
    max-width: 100vw;
    padding: 20px 14px 104px;
  }
  .heading {
    margin-bottom: 20px;
    gap: 14px;
  }
  .heading h1 {
    font-size: 1.75rem;
    margin: 6px 0 7px;
    line-height: 1.16;
  }
  .heading p {
    font-size: 14px;
    line-height: 1.45;
  }
  .heading>.actions {
    display: grid;
    grid-template-columns: auto 1fr;
    width: 100%;
  }
  .heading>.actions [data-slot=button] {
    min-height: 46px;
  }
  .heading>.actions [data-slot=button]:last-child {
    width: 100%;
  }
  .back {
    min-height: 40px;
    margin-bottom: 10px;
    font-weight: 650;
  }
  .eyebrow {
    font-size: 11px;
  }
  .stats,.ops .stats,.ai-stats {
    grid-template-columns: 1fr !important;
    gap: 10px;
    margin: 16px 0 22px;
  }
  .stat {
    padding: 16px 17px;
    min-height: 96px;
  }
  .stat strong,.ops .stats strong {
    font-size: 28px;
  }
  .stat span {
    font-size: 14px;
  }
  .sitegrid {
    grid-template-columns: 1fr;
    gap: 13px;
  }
  .sitecard {
    padding: 18px 17px;
  }
  .sitecard h3 {
    font-size: 1.18rem;
  }
  .sitecard .worklines {
    margin-top: 18px;
  }
  .sitecard footer {
    font-size: 13px;
  }
  .panel {
    padding: 17px;
    border-radius: 13px;
  }
  .bottomgrid {
    gap: 14px;
  }
  .onboarding {
    padding: 20px;
    min-height: 0;
  }
  .onboarding-icon {
    border-radius: 14px;
  }
  .sectiontitle {
    gap: 12px;
  }
  .sectiontitle .actions,.filterbar .actions {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .sectiontitle .actions [data-slot=button],.filterbar .actions [data-slot=button] {
    width: 100%;
    min-height: 46px;
  }
  .filterbar {
    margin: 17px 0;
    gap: 12px;
  }
  .filterbar>label {
    width: 100%;
  }
  .filterbar input {
    width: 100%;
    max-width: none;
    margin: 5px 0 0;
    min-height: 44px;
  }
  .main [data-slot=tabs] {
    margin: 14px 0 20px;
    padding: 0;
    overflow: visible;
  }
  .main [data-slot=tabs-list] {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    overflow: visible !important;
    height: auto !important;
    width: 100% !important;
    padding: 5px;
    gap: 5px;
    border-radius: 12px;
  }
  .main [data-slot=tabs-trigger] {
    width: 100%;
    min-width: 0;
    height: 42px !important;
    padding: 8px 7px !important;
    font-size: 13px;
    white-space: normal;
    line-height: 1.1;
  }
  .entry {
    padding: 17px;
  }
  .entryfacts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .entryfacts span {
    width: 100%;
  }
  .taskstatus {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 12px;
  }
  .taskstatus [data-slot=select-trigger] {
    width: 100%;
    min-height: 44px;
  }
  .entry footer {
    align-items: flex-start;
    gap: 8px;
  }
  .entry footer [data-slot=button] {
    width: 100%;
    min-height: 44px;
  }
  .listrow {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 15px 0;
  }
  .listrow>div {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .listrow .actions {
    display: grid;
    width: 100%;
  }
  .listrow [data-slot=button],.listrow .doclink {
    min-height: 43px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d7e2ee;
    border-radius: 8px;
  }
  .ops>.panel {
    overflow: visible;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  .ops [data-slot=table-container] {
    overflow: visible;
    width: 100%;
    border-radius: 0;
  }
  .ops [data-slot=table] {
    display: block;
    min-width: 0 !important;
    width: 100%;
  }
  .ops [data-slot=table-header] {
    display: none;
  }
  .ops [data-slot=table-body] {
    display: grid;
    gap: 11px;
  }
  .ops [data-slot=table-row] {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 12px;
    padding: 13px 15px;
    background: #fff;
    border: 1px solid #d7e2ee;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(20,52,86,.055);
  }
  .ops [data-slot=table-cell] {
    display: block;
    min-width: 0 !important;
    padding: 8px 0;
    white-space: normal;
    overflow-wrap: anywhere;
    border-bottom: 1px solid #edf1f5;
  }
  .ops [data-slot=table-cell]:before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    color: #72849a;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 750;
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  .ops [data-slot=table-cell]:first-child {
    grid-column: 1/-1;
    min-width: 0 !important;
    font-size: 16px;
    border-bottom: 1px solid #dce5ee;
  }
  .ops [data-slot=table-cell]:last-child {
    border-bottom: 0;
  }
  .ops [data-slot=table-cell] [data-slot=button] {
    min-height: 42px;
  }
  .sal-grid,.inspection-grid,.ai-report-grid {
    grid-template-columns: 1fr !important;
  }
  .official-sal-hero {
    grid-template-columns: 1fr !important;
  }
  .official-sal-hero>strong {
    font-size: 29px;
  }
  .official-sal-hero .sal-track {
    grid-column: 1;
  }
  .sitehours {
    gap: 16px;
  }
  .sitehours>div {
    width: calc(50% - 8px);
  }
  .sitehours small {
    width: 100%;
    margin-left: 0;
  }
  .photos {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
  }
  .photos a,.photos img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
  [data-slot=dialog-content]:not(.equipment-dialog) {
    top: auto;
    bottom: 0;
    transform: translateX(-50%);
    width: 100%;
    max-width: 100% !important;
    max-height: 94vh;
    border-radius: 18px 18px 0 0;
    padding: 20px 16px calc(20px + env(safe-area-inset-bottom));
    overflow-y: auto;
  }
  [data-slot=dialog-content] .form {
    gap: 14px;
  }
  [data-slot=dialog-content] [data-slot=button] {
    min-height: 48px;
    font-size: 15px;
  }
  .formgrid,.workform {
    grid-template-columns: 1fr;
  }
  .upload {
    padding: 16px;
  }
  .checkrow {
    align-items: flex-start;
    padding: 10px 4px;
  }
  .pagefooter {
    display: none;
  }
  .pwa-install {
    bottom: calc(14px + env(safe-area-inset-bottom));
    right: 14px;
  }
}
@media (max-width:390px) {
  .topbar-logo {
    width: 30px;
    height: 30px;
  }
  .topbar-brand {
    gap: 6px !important;
  }
  .topbar-brand>span {
    font-size: 16px !important;
  }
  .main {
    padding-left: 11px;
    padding-right: 11px;
  }
  .panel {
    padding: 15px;
  }
  .heading h1 {
    font-size: 1.58rem;
  }
  .main [data-slot=tabs-trigger] {
    font-size: 12px;
  }
  .sitehours>div {
    width: 100%;
  }
}
.notification-button {
  position: relative;
}
.notification-button>span {
  position: absolute;
  right: -5px;
  top: -6px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #dc3f31;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}
.notification-dialog {
  max-width: 560px !important;
  gap: 14px;
}
.notification-title {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-right: 34px;
}
.notification-title>svg {
  width: 42px;
  height: 42px;
  padding: 10px;
  border-radius: 12px;
  background: #e9f3ff;
  color: #1f68b4;
  flex: none;
}
.notification-title [data-slot=dialog-title] {
  font-size: 20px;
  line-height: 1.2;
}
.notification-title [data-slot=dialog-description] {
  margin-top: 3px;
}
.push-status {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 14px;
  border-radius: 11px;
  border: 1px solid;
}
.push-status svg {
  width: 22px;
  flex: none;
}
.push-status strong,.push-status small {
  display: block;
}
.push-status small {
  margin-top: 4px;
  line-height: 1.45;
}
.push-status.active {
  background: #eaf8ef;
  border-color: #b9dfc6;
  color: #246840;
}
.push-status.inactive {
  background: #fff7e7;
  border-color: #ecd59d;
  color: #795819;
}
.notification-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.notification-message {
  padding: 12px;
  border-radius: 9px;
  background: #edf4fc;
  color: #285d91;
  font-size: 14px;
}
.notification-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid #e1e8ef;
  padding-top: 12px;
}
.notification-list-head strong,.notification-list-head small {
  display: block;
}
.notification-list-head small {
  color: #6e8095;
  font-size: 12px;
  margin-top: 3px;
}
.notification-list-head [data-slot=button] {
  padding-inline: 8px;
}
.notification-list {
  display: grid;
  max-height: 42vh;
  overflow-y: auto;
  margin-inline: -5px;
  padding-inline: 5px;
}
.notification-item {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px 11px;
  border: 0;
  border-bottom: 1px solid #e8eef5;
  background: #fff;
  text-align: left;
  border-radius: 9px;
}
.notification-item:hover {
  background: #f4f8fd;
}
.notification-item.is-new {
  background: #f3f8ff;
}
.notification-copy {
  position: relative;
  display: grid;
  min-width: 0;
  gap: 3px;
  padding-left: 14px;
  overflow-wrap: anywhere;
}
.notification-copy strong {
  color: #17324f;
  font-size: 15px;
  line-height: 1.3;
}
.notification-copy>span:not(.notification-dot) {
  color: #425f7d;
  font-size: 14px;
  line-height: 1.4;
}
.notification-copy small {
  color: #788a9e;
  font-size: 12px;
  margin-top: 2px;
}
.notification-dot {
  position: absolute;
  left: 0;
  top: 6px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #176fd0;
}
.notification-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2b6eb5;
}
.notification-meta>svg {
  width: 17px;
}
.notification-new {
  font-size: 11px;
  font-weight: 750;
  color: #1764b5;
  background: #dfedfc;
  border-radius: 999px;
  padding: 5px 8px;
}
.notification-empty {
  padding: 24px 8px;
  text-align: center;
  color: #6c7d91;
  font-size: 14px;
}
@media (max-width:767px) {
  [data-slot=dialog-content]:not(.equipment-dialog) {
    left: 0 !important;
    translate: 0 0 !important;
    transform: none !important;
  }
  .notification-dialog {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    translate: 0 0 !important;
    transform: none !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: calc(16px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom)) !important;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }
  .notification-dialog [data-slot=dialog-close] {
    top: calc(17px + env(safe-area-inset-top));
    right: 16px;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eef3f8;
    opacity: 1;
  }
  .notification-title {
    min-height: 50px;
  }
  .notification-actions {
    grid-template-columns: 1fr;
  }
  .notification-list-head {
    align-items: center;
  }
  .notification-list-head [data-slot=button] {
    min-height: 40px !important;
    font-size: 13px !important;
    width: auto !important;
  }
  .notification-list {
    max-height: none;
    min-height: 0;
    flex: 1;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .notification-item {
    min-height: 88px;
    padding: 14px 8px;
  }
  .notification-meta {
    align-self: center;
  }
  .notification-title [data-slot=dialog-title] {
    font-size: 22px;
  }
  .push-status {
    padding: 12px;
  }
  .push-status small {
    font-size: 13px;
  }
  .notification-dialog .notification-actions [data-slot=button] {
    min-height: 46px;
  }
}
.close-assets {
  display: grid;
  gap: 12px;
}
.close-assets-summary {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 15px;
  border-radius: 11px;
  background: #edf5ff;
  color: #245f9d;
}
.close-assets-summary>svg {
  width: 28px;
  flex: none;
}
.close-assets-summary strong,.close-assets-summary small,.close-asset small {
  display: block;
}
.close-assets-summary small {
  margin-top: 4px;
  color: #5f7690;
}
.close-asset {
  display: grid;
  grid-template-columns: minmax(160px,1fr) minmax(210px,1fr);
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid #dae4ee;
  border-radius: 10px;
}
.close-asset small {
  margin-top: 4px;
  color: #6a7d92;
}
.asset-pending {
  margin-top: 5px;
  color: #a24d24;
  font-weight: 700;
}
@media (max-width:600px) {
  .close-asset {
    grid-template-columns: 1fr;
  }
  .close-assets-summary {
    align-items: flex-start;
  }
}
.daily-plan {
  margin-bottom: 22px;
  border-top: 4px solid #1769bd;
}
.daily-plan-head h2 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 6px 0 5px;
  font-size: 1.45rem;
}
.daily-plan-head p {
  color: #65798e;
  max-width: 820px;
}
.daily-plan-controls {
  display: grid;
  grid-template-columns: 190px minmax(260px,1fr) auto;
  gap: 12px;
  align-items: end;
  margin-top: 18px;
}
.daily-plan-file {
  position: relative;
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 13px;
  border: 1px dashed #8eb2d8;
  border-radius: 10px;
  background: #f2f7fd;
  color: #235e99;
  cursor: pointer;
  overflow: hidden;
}
.daily-plan-file>svg {
  width: 23px;
  flex: none;
}
.daily-plan-file strong,.daily-plan-file small {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.daily-plan-file small {
  font-size: 12px;
  color: #6e8093;
  margin-top: 2px;
}
.daily-plan-file input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.daily-plan-controls>[data-slot=button] {
  min-height: 46px;
}
.daily-plan-result {
  margin-top: 20px;
  border-top: 1px solid #dfe7ef;
  padding-top: 18px;
}
.plan-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 10px;
  background: #eaf3fe;
  color: #245d97;
}
.plan-summary strong,.plan-summary span {
  display: block;
}
.plan-summary span {
  font-size: 13px;
}
.plan-sites {
  display: grid;
  gap: 11px;
  margin-top: 13px;
}
.plan-site {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(220px,.7fr);
  gap: 15px;
  padding: 15px;
  border: 1px solid #dce5ee;
  border-left: 5px solid #d0dae4;
  border-radius: 11px;
  background: #fff;
}
.plan-site.ok {
  border-left-color: #3a9a63;
}
.plan-site.warn {
  border-left-color: #df7b38;
}
.plan-site h3 {
  margin: 7px 0 5px;
}
.plan-site p {
  font-size: 14px;
}
.plan-site ul {
  list-style: disc;
  padding-left: 20px;
  font-size: 14px;
}
.plan-site small {
  grid-column: 1/-1;
  color: #6b7d90;
}
.plan-site.neutral {
  border-left-color: #8495a7;
}
@media (max-width:767px) {
  .daily-plan {
    padding: 17px;
  }
  .daily-plan-head h2 {
    font-size: 1.25rem;
  }
  .daily-plan-controls {
    grid-template-columns: 1fr;
  }
  .daily-plan-controls>[data-slot=button] {
    width: 100%;
  }
  .plan-summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .plan-site {
    grid-template-columns: 1fr;
  }
  .plan-site small {
    grid-column: 1;
  }
}
.notification-viewport {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100 !important;
  width: 100% !important;
  height: 100dvh !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(10,25,42,.54);
}
.notification-panel {
  position: relative;
  width: min(560px,100%);
  max-height: min(760px,calc(100dvh - 32px));
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
  padding: 24px;
  border: 1px solid #dce5ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 70px #102d5045;
}
.notification-close {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #eef3f8;
  color: #263d56;
}
.notification-close svg {
  width: 20px;
}
.notification-title h2 {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 750;
}
.notification-title p {
  margin-top: 3px;
  color: #6d7c8d;
  font-size: 14px;
}
@media (max-width:767px) {
  .notification-viewport {
    display: block;
    padding: 0;
  }
  .notification-panel {
    position: absolute;
    inset: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: calc(16px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));
    border: 0;
    border-radius: 0;
  }
  .notification-close {
    top: calc(17px + env(safe-area-inset-top));
    right: 16px;
  }
  .notification-title {
    padding-right: 48px;
  }
  .notification-title h2 {
    font-size: 22px;
  }
  .notification-list {
    max-height: none;
    min-height: 0;
    flex: 1;
  }
}
.photos > button {
  cursor: zoom-in;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 8px;
  overflow: hidden;
}
.photo-viewer[data-slot="dialog-content"] {
  inset: 0 !important;
  transform: none !important;
  translate: 0 0 !important;
  overflow: hidden !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  max-height: none !important;
  border: 0;
  border-radius: 0;
  background: #080d14;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  z-index: 1000;
}
.photo-viewer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-shrink: 0;
}
.photo-viewer-header h2 {
  color: white;
  font-size: 16px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.photo-viewer-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border: 1px solid #607086;
  border-radius: 50%;
  background: #1c2839;
  color: white;
  cursor: pointer;
}
.photo-viewer-control:focus-visible {
  outline: 3px solid white;
  outline-offset: 3px;
}
.photo-viewer-stage {
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
  padding: 12px 0;
}
.photo-viewer-stage img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.photo-viewer-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  flex-shrink: 0;
  min-height: 56px;
  font-size: 16px;
}
@media (max-width:767px) {
  [data-slot="dialog-content"]:not(.photo-viewer):not(.equipment-dialog):not(.notification-dialog) {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    transform: none !important;
    translate: 0 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    max-height: 90dvh !important;
    margin: 0 !important;
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
    padding: 24px 18px max(24px, env(safe-area-inset-bottom));
  }
  [data-slot="dialog-content"] input,[data-slot="dialog-content"] textarea,[data-slot="dialog-content"] select {
    font-size: 16px !important;
    min-width: 0;
    max-width: 100%;
  }
  [data-slot="dialog-content"] [data-slot="dialog-title"] {
    padding-right: 44px;
    overflow-wrap: anywhere;
  }
  [data-slot="dialog-content"] > [data-slot="dialog-close"] {
    top: 12px;
    right: 12px;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    background: #eef3f8;
    opacity: 1;
  }
}
.schedule-team {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
  gap: 10px;
  max-height: 280px;
  overflow: auto;
  margin: 12px 0;
}
.schedule-team label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}
.schedule-team input {
  width: 20px;
  height: 20px;
}
.app-dialog-viewport {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  isolation: isolate;
}
.app-dialog-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8,20,35,.6);
}
.app-dialog-panel {
  position: relative !important;
  inset: auto !important;
  translate: none !important;
  transform: none !important;
  animation: none !important;
  width: min(620px,100%) !important;
  max-width: 100% !important;
  max-height: 100% !important;
  overflow: auto;
  overscroll-behavior: contain;
  background: white;
  border-radius: 16px;
  padding: 24px;
  display: grid;
  gap: 16px;
  min-width: 0;
  outline: none;
}
.app-dialog-panel [data-slot=dialog-title] {
  padding-right: 44px;
  font-size: 20px;
  line-height: 1.3;
}
.app-dialog-panel input,.app-dialog-panel textarea,.app-dialog-panel select {
  font-size: 16px !important;
  min-width: 0;
  max-width: 100%;
}
.app-dialog-close {
  position: absolute;
  right: 12px;
  top: 12px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  background: #edf3fa;
  color: #1b314a;
  border-radius: 50%;
  z-index: 3;
}
.app-photo-viewport {
  padding: 0;
  z-index: 1000;
}
.app-dialog-panel.photo-viewer {
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  border: 0;
  border-radius: 0;
  background: #080d14;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  padding: max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
}
.app-dialog-panel.photo-viewer .photo-viewer-header {
  min-height: 52px;
}
.app-dialog-panel.photo-viewer .photo-viewer-header h2 {
  font-size: 16px;
  padding-right: 0;
}
@media (max-width:767px) {
  .app-dialog-viewport {
    padding: max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));
    align-items: center;
  }
  .app-dialog-panel {
    padding: 22px 16px;
    border-radius: 14px;
  }
  .app-photo-viewport {
    padding: 0;
    z-index: 1000;
  }
}
.completion-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(140px,1fr));
  gap: 12px;
  margin-top: 20px;
}
.completion-grid button {
  border: 3px solid transparent;
  border-radius: 10px;
  overflow: hidden;
  text-align: left;
  background: #edf3fa;
}
.completion-grid button.selected {
  border-color: #1472d2;
}
.completion-grid img {
  width: 100%;
  height: 120px;
  object-fit: cover;
}
.completion-grid span {
  display: block;
  padding: 8px;
  font-size: 14px;
}
.roof-map {
  display: block;
  width: 100%;
  max-width: 660px;
  max-height: 70vh;
  margin: 18px auto;
  border: 1px solid #bccbdb;
  border-radius: 12px;
  background: #edf3f8;
}
.roof-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 12px 0;
}
.roof-legend span {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 14px;
}
.roof-legend i {
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 3px;
}
.roof-progress select {
  padding: 12px;
  border: 1px solid #cad5e1;
  border-radius: 8px;
  font-size: 16px;
  width: 100%;
  background: white;
}
.roof-progress ul {
  list-style: disc;
  padding-left: 22px;
}
.project-3d {
  margin-bottom: 20px;
  border: 1px solid #cbdcec;
  background: linear-gradient(130deg,#f3f8ff,#fff);
}
.project-3d-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #165a9e;
}
.project-3d-heading h3,.project-3d-heading p {
  margin: 0;
}
.app-dialog-panel.project-3d-dialog {
  height: 100% !important;
  min-height: 0;
  color: #eef5ff;
  background: #0d1726;
}
.project-3d-caption {
  color: #bacbe1 !important;
  font-size: 13px !important;
  line-height: 1.4;
  margin: 8px 0;
  flex-shrink: 0;
}
.project-3d-stage {
  position: relative;
  flex: 1;
  min-height: 120px;
  overflow: hidden;
  border: 1px solid #32435a;
  border-radius: 14px;
}
.project-3d-canvas {
  position: absolute;
  inset: 0;
  touch-action: none;
}
.project-3d-canvas canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
  outline-offset: -4px;
}
.project-3d-status {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  padding: 24px;
  text-align: center;
  background: #0d1726;
  color: #deebff;
}
.project-3d-toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 12px;
  flex-shrink: 0;
}
.project-3d-toolbar button {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid #607086;
  border-radius: 10px;
  background: #1c2839;
  color: #fff;
  padding: 8px 12px;
  font-size: 14px;
  cursor: pointer;
}
.project-3d-toolbar button:disabled {
  opacity: .45;
  cursor: default;
}
.project-3d-toolbar button:focus-visible {
  outline: 3px solid #77b6ff;
}
@media (max-height:500px) {
  .project-3d-dialog .project-3d-caption {
    font-size: 11px !important;
    margin: 3px 0;
  }
  .project-3d-toolbar {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
  }
  .project-3d-toolbar button {
    flex-shrink: 0;
  }
  .project-3d-stage {
    min-height: 60px;
  }
}
.work-welcome {
  display: grid;
  grid-template-columns: minmax(0,1.7fr) minmax(220px,1fr);
  gap: 32px;
  background: linear-gradient(120deg,#112d48,#153c60 70%,#175767);
  color: white;
  padding: 36px;
  border-radius: 24px;
  margin-bottom: 22px;
  box-shadow: 0 12px 30px #16324c12;
  overflow: hidden;
}
.work-date {
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: capitalize;
  color: #b7d9f1;
  font-size: 13px;
  letter-spacing: .03em;
}
.work-welcome h2 {
  font-size: clamp(28px,3.3vw,44px);
  line-height: 1.12;
  letter-spacing: -.05em;
  margin: 20px 0 14px;
  color: #fff;
}
.work-welcome h2 span {
  color: #8ee0d4;
}
.work-welcome-copy>p {
  color: #c6d8e8;
  max-width: 440px;
  font-size: 15px;
}
.work-welcome-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.work-welcome-actions [data-slot=button] {
  background: #fff;
  color: #163c58;
  box-shadow: none;
  min-height: 46px;
}
.work-welcome-actions>button:last-child {
  font-size: 14px;
  color: #d8eafa;
  min-height: 44px;
}
.work-today {
  align-self: center;
  border: 1px solid #ffffff26;
  background: #ffffff08;
  padding: 24px;
  border-radius: 18px;
}
.work-today>span {
  font-size: 10px;
  letter-spacing: .13em;
  color: #aad3e7;
  font-weight: 700;
}
.work-today>strong {
  display: block;
  font-size: 52px;
  line-height: 1;
  margin: 20px 0 12px;
  letter-spacing: -.05em;
}
.work-today strong small {
  display: block;
  font-size: 15px;
  letter-spacing: 0;
  font-weight: 500;
  margin-top: 10px;
  color: #e0edf6;
}
.work-today p {
  color: #acc7dc;
  font-size: 13px;
}
.work-today button {
  border-top: 1px solid #ffffff25;
  padding-top: 14px;
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  width: 100%;
  font-size: 13px;
  color: #dcf5ef;
  min-height: 44px;
}
.work-shortcuts {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  margin-bottom: 22px;
}
.work-shortcuts button {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid #dce6ed;
  border-radius: 15px;
  padding: 17px;
  text-align: left;
  min-width: 0;
}
.work-shortcuts button>svg:first-child {
  color: #277389;
  width: 23px;
  flex-shrink: 0;
}
.work-shortcuts button>svg:last-child {
  margin-left: auto;
  color: #8196a9;
  width: 17px;
  flex-shrink: 0;
}
.work-shortcuts strong {
  display: block;
  font-size: 14px;
  color: #183b55;
}
.work-shortcuts small {
  display: block;
  color: #73879a;
  font-size: 12px;
  margin-top: 4px;
}
.assistant-panel {
  margin: 22px 0;
  border: 1px solid #cbdedc !important;
  border-radius: 20px !important;
}
.assistant-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.assistant-heading .eyebrow {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #277b77;
  font-size: 10px;
  letter-spacing: .11em;
}
.assistant-heading h2 {
  font-size: 23px;
  margin: 9px 0;
}
.assistant-heading p {
  font-size: 14px;
  color: #718398;
}
.assistant-help {
  font-size: 12px;
  margin: 15px 0 20px;
  max-width: 850px;
}
.assistant-notes {
  display: grid;
  gap: 14px;
}
.assistant-note {
  background: #f8fafc;
  border: 1px solid #e0e8ef;
  border-radius: 14px;
  padding: 20px;
  min-width: 0;
}
.assistant-note h3 {
  font-size: 18px;
  color: #193952;
}
.assistant-note-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.assistant-note blockquote {
  border-left: 3px solid #88bbb4;
  padding: 7px 12px;
  margin: 12px 0;
  color: #567184;
  background: #eff5f5;
  font-size: 14px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.assistant-note>p {
  font-size: 14px;
}
.assistant-note-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  font-size: 12px;
  color: #667c8d;
  margin: 14px 0;
}
.assistant-note small {
  font-size: 12px;
  color: #6f8092;
}
.assistant-note details {
  border-top: 1px solid #dce6ec;
  margin-top: 12px;
  padding-top: 12px;
}
.assistant-note summary,.assistant-documents summary {
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  min-height: 40px;
}
.assistant-note .formgrid {
  margin: 12px 0;
}
.assistant-note .muted {
  font-size: 12px;
  margin-bottom: 12px;
}
.assistant-empty {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  background: #f3f7fa;
  border-radius: 12px;
  color: #71889a;
  font-size: 14px;
}
.assistant-empty svg {
  flex-shrink: 0;
}
.assistant-documents {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid #dce6ec;
}
.assistant-documents>p {
  font-size: 14px;
  color: #6a7e92;
  margin-bottom: 16px;
}
.assistant-documents .formgrid {
  align-items: end;
}
.assistant-documents select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 12px;
  font-size: 16px;
  background: white;
  border: 1px solid #cddce6;
  border-radius: 8px;
}
.document-review {
  margin-top: 16px;
  padding: 18px;
  background: #f5f8fb;
  border-radius: 12px;
}
.document-review>p {
  margin: 10px 0;
  font-size: 14px;
}
body {
  font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  background: #f2f6f8;
}
.panel {
  border-radius: 16px;
}
.sitecard {
  border-radius: 18px !important;
  box-shadow: 0 3px 14px #19395106;
  transition: box-shadow .2s,border-color .2s;
}
.sitecard:hover {
  box-shadow: 0 9px 28px #19395112;
}
.stat {
  border-radius: 15px !important;
  background: #fff;
}
.stat strong {
  letter-spacing: -.045em;
}
.sectiontitle h2 {
  color: #183b55;
}
.topbar {
  border-bottom: 1px solid #e2e9ee;
}
@media (max-width:900px) {
  .work-shortcuts {
    grid-template-columns: 1fr;
  }
  .work-shortcuts button {
    padding: 14px 16px;
  }
  .work-welcome {
    gap: 22px;
    padding: 28px;
  }
}
@media (max-width:767px) {
  .work-welcome {
    grid-template-columns: 1fr;
    padding: 24px;
    border-radius: 19px;
    gap: 22px;
  }
  .work-welcome h2 {
    font-size: 32px;
  }
  .work-today {
    padding: 18px;
  }
  .work-today>strong {
    font-size: 36px;
    margin: 12px 0;
    display: flex;
    align-items: center;
    gap: 14px;
  }
  .work-today strong small {
    margin: 0;
    font-size: 14px;
  }
  .work-today button {
    margin-top: 10px;
    padding-top: 10px;
  }
  .work-welcome-actions {
    gap: 10px;
    margin-top: 20px;
  }
  .assistant-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .assistant-heading h2 {
    font-size: 21px;
  }
  .assistant-heading>button {
    width: 100%;
  }
  .assistant-panel {
    padding: 20px 16px !important;
  }
  .assistant-note {
    padding: 16px;
  }
  .assistant-note-top {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .assistant-note .formgrid {
    grid-template-columns: 1fr;
  }
  .work-shortcuts strong {
    font-size: 15px;
  }
  .work-shortcuts small {
    font-size: 12px;
  }
  .main {
    padding: 22px 16px;
  }
  .stats {
    gap: 12px;
    margin-bottom: 22px;
  }
}
.ddt-summary {
  margin-bottom: 22px;
  border: 1px solid #c7ded8 !important;
  background: linear-gradient(135deg,#f2faf8,#fff);
}
.ddt-summary .sectiontitle {
  margin-top: 0;
}
.ddt-summary .eyebrow {
  color: #277b70;
}
.ddt-summary details summary {
  color: #226a81;
  cursor: pointer;
  font-size: 12px;
  margin-top: 5px;
}
.ddt-summary details small {
  margin-top: 5px;
  color: #687b8b;
}
.direction-assistant {
  max-width: 1120px;
}
.direction-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  padding: 4px 2px 22px;
}
.direction-head .eyebrow {
  display: flex;
  gap: 7px;
  align-items: center;
  color: #287872;
}
.direction-head h2 {
  font-size: clamp(27px,3vw,38px);
  margin: 8px 0;
  color: #153850;
}
.direction-head p {
  color: #6d8192;
}
.direction-head>details {
  position: relative;
}
.direction-head>details>summary {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid #d5e0e7;
  border-radius: 12px;
  background: white;
  cursor: pointer;
  font-size: 14px;
}
.direction-head>details[open] {
  width: min(450px,100%);
}
.direction-head>details .ai-settings {
  margin-top: 10px;
}
.direction-tabs {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
  padding: 7px;
  background: #e8eef2;
  border-radius: 16px;
  margin-bottom: 22px;
}
.direction-tabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 54px;
  border-radius: 11px;
  color: #657b8c;
  font-weight: 600;
}
.direction-tabs button svg {
  width: 19px;
}
.direction-tabs button strong {
  background: #d5dfe5;
  border-radius: 999px;
  min-width: 24px;
  padding: 3px 6px;
  font-size: 11px;
}
.direction-tabs button.active {
  background: white;
  color: #164a68;
  box-shadow: 0 3px 12px #17384d10;
}
.direction-tabs button.active strong {
  background: #d9f0eb;
  color: #236b64;
}
.direction-priority {
  margin-top: 18px !important;
}
.direction-priority .sectiontitle {
  margin-top: 0;
}
.direction-line {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  padding: 15px 5px;
  border-bottom: 1px solid #e5ecef;
  text-align: left;
}
.direction-line>span:nth-child(2) {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.direction-line>span:last-child {
  margin-left: auto;
  font-size: 13px;
  color: #28778a;
  white-space: nowrap;
}
.direction-line small {
  color: #718495;
  font-size: 12px;
}
.direction-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #e6a13d;
  flex-shrink: 0;
}
.direction-ok {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #347368;
  padding: 20px;
}
.direction-ok svg {
  flex-shrink: 0;
}
.calendar-upload {
  margin-bottom: 18px !important;
  background: linear-gradient(135deg,#f0f8f7,#fff);
  border-color: #c6ded9 !important;
}
.calendar-upload h2 {
  font-size: 24px;
  margin: 8px 0;
}
.calendar-upload>.daily-plan-controls {
  margin-top: 20px;
}
.schedule-editor>details {
  border: 1px solid #e1e8ed;
  border-radius: 12px;
  padding: 15px;
  margin-top: 10px;
}
.schedule-editor>details>summary {
  font-weight: 600;
  cursor: pointer;
}
.direction-sites {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 15px;
}
.direction-site {
  margin: 0 !important;
}
.direction-site-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}
.direction-site-head h3 {
  font-size: 20px;
}
.direction-site-head p {
  font-size: 13px;
  color: #728495;
}
.direction-signals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0;
}
.direction-signals span {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f2f6f8;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
}
.direction-signals svg {
  width: 15px;
}
.direction-signals .bad {
  color: #a64a35;
  background: #fff0eb;
}
.direction-signals .ok {
  color: #2c7967;
  background: #eaf6f2;
}
.day-control {
  max-width: 1120px;
}
.day-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  background: linear-gradient(120deg,#143850,#1e5968);
  color: white;
  border-radius: 22px;
  padding: 28px;
  margin-bottom: 16px;
}
.day-head .eyebrow {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #9fe2d5;
}
.day-head .eyebrow svg {
  width: 17px;
}
.day-head h2 {
  font-size: 32px;
  color: white;
  margin: 10px 0 5px;
}
.day-head p {
  color: #c6d9e4;
}
.day-head .field {
  color: #dcebf2;
  min-width: 165px;
}
.day-head input {
  border-color: #ffffff3d;
  background: #ffffff12;
  color: white;
  color-scheme: dark;
}
.day-summary {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin-bottom: 16px;
}
.day-summary>div {
  background: white;
  border: 1px solid #dfe8ed;
  border-radius: 15px;
  padding: 18px;
}
.day-summary strong {
  display: block;
  font-size: 29px;
  color: #174864;
}
.day-summary span {
  font-size: 12px;
  color: #708494;
}
.day-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin: 20px 0;
}
.day-tools>label:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  background: white;
  border: 1px solid #d7e2e8;
  border-radius: 12px;
  padding: 0 12px;
  flex: 1;
  max-width: 390px;
}
.day-tools input[type=text] {
  width: 100%;
  padding: 12px 4px;
  outline: 0;
}
.day-tools>label:last-child {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.day-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 15px;
}
.day-card {
  margin: 0 !important;
}
.day-card-head {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
.day-card-head h3 {
  font-size: 20px;
}
.day-card-head p {
  font-size: 13px;
  color: #758797;
}
.day-card-head>svg {
  color: #8598a7;
}
.day-card-head .warn-icon {
  color: #dc8537;
}
.day-card-head .ok-icon {
  color: #319073;
}
.day-status {
  display: inline-block;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 700;
  background: #edf1f4;
  color: #6b7d89;
}
.day-status.warn {
  background: #fff0df;
  color: #9b5c20;
}
.day-status.ok {
  background: #e7f6f0;
  color: #28735e;
}
.day-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 18px 0;
}
.day-checks span {
  font-size: 12px;
  padding: 7px 9px;
  border-radius: 8px;
}
.day-checks .done {
  background: #eaf6f1;
  color: #2b725f;
}
.day-checks .missing {
  background: #fff0e7;
  color: #a6532e;
}
.day-warning {
  font-size: 12px;
  color: #8c5331;
  background: #fff8ef;
  padding: 9px;
  border-radius: 7px;
}
.day-card>[data-slot=button] {
  margin-top: 14px;
  width: 100%;
}
@media (max-width:767px) {
  .direction-head {
    flex-direction: column;
  }
  .direction-head>details,.direction-head>details[open] {
    width: 100%;
  }
  .direction-tabs {
    position: sticky;
    top: calc(62px + env(safe-area-inset-top));
    z-index: 12;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 4px;
    margin-left: -6px;
    margin-right: -6px;
  }
  .direction-tabs button {
    gap: 4px;
    font-size: 12px;
    padding: 5px;
  }
  .direction-tabs button svg {
    width: 17px;
  }
  .direction-tabs button strong {
    min-width: 20px;
    padding: 2px 4px;
  }
  .direction-sites,.day-grid {
    grid-template-columns: 1fr;
  }
  .calendar-upload {
    padding: 20px 16px !important;
  }
  .day-head {
    align-items: flex-start;
    flex-direction: column;
    padding: 23px;
    border-radius: 18px;
  }
  .day-head h2 {
    font-size: 29px;
  }
  .day-head .field {
    width: 100%;
  }
  .day-summary {
    gap: 8px;
  }
  .day-summary>div {
    padding: 14px 10px;
  }
  .day-summary strong {
    font-size: 25px;
  }
  .day-summary span {
    font-size: 11px;
  }
  .day-tools {
    align-items: stretch;
    flex-direction: column;
  }
  .day-tools>label:first-child {
    max-width: none;
  }
  .day-tools>label:last-child {
    min-height: 42px;
  }
  .direction-priority .sectiontitle {
    align-items: flex-start;
    flex-direction: column;
  }
  .direction-priority .sectiontitle button {
    width: 100%;
  }
}
.day-head input[type=date] {
  background: #fff !important;
  color: #16334b !important;
  -webkit-text-fill-color: #16334b;
  color-scheme: light;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  font-size: 16px;
}
.day-head .field {
  min-width: 0;
  max-width: 100%;
}
.work-welcome {
  padding: 24px !important;
  min-height: 0 !important;
}
.work-welcome h2 {
  font-size: clamp(25px,3vw,38px) !important;
}
.work-today {
  max-width: 270px;
}
.manager-hub {
  margin: 24px 0 32px;
  color: #172c45;
}
.manager-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.manager-heading .eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #195fd3;
  letter-spacing: .08em;
  font-size: 14px;
}
.manager-heading h2 {
  font-size: clamp(24px,3vw,32px);
  margin: 8px 0;
  font-weight: 750;
}
.manager-heading p,.manager-toolbar p {
  font-size: 14px;
  color: #526579;
}
.manager-heading input {
  min-width: 0;
  max-width: 100%;
  font-size: 16px;
}
.manager-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0;
}
.manager-brief {
  background: #102e50;
  color: #fff;
  border-radius: 18px;
  padding: 22px;
  margin: 20px 0;
}
.manager-brief h3 {
  font-size: 19px;
  margin-bottom: 12px;
  color: white;
}
.manager-brief button {
  display: grid;
  grid-template-columns: minmax(140px,1fr) 3fr 20px;
  gap: 14px;
  align-items: center;
  width: 100%;
  text-align: left;
  border-top: 1px solid #ffffff25;
  padding: 14px 0;
  font-size: 15px;
}
.manager-brief button span {
  color: #d7e7fa;
}
.manager-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}
.manager-card {
  min-width: 0;
  border: 1px solid #d4e0ed;
  border-top: 3px solid #2873dd;
  border-radius: 16px;
  padding: 22px;
  background: white;
  box-shadow: 0 6px 24px #142b4506;
}
.manager-card-top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  font-size: 14px;
  color: #42617d;
}
.manager-card-top span:first-child {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #1b62bf;
  font-weight: 650;
}
.manager-card h3 {
  font-size: 21px;
  margin: 16px 0 4px;
}
.manager-summary {
  font-size: 16px;
  line-height: 1.6;
  margin: 18px 0;
}
.manager-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  background: #f1f6fc;
  padding: 14px;
  border-radius: 10px;
  font-size: 14px;
}
.manager-metrics strong {
  font-size: 20px;
}
.manager-missing {
  padding: 8px 12px;
  margin: 8px 0;
  background: #fff4e5;
  color: #855009;
  border-radius: 8px;
  font-size: 14px;
}
.manager-card summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0;
  font-weight: 650;
  cursor: pointer;
  font-size: 15px;
}
.manager-report-section {
  border-top: 1px solid #e1e8f0;
  padding: 12px 0;
}
.manager-report-section h4 {
  font-size: 16px;
  font-weight: 700;
}
.manager-report-section p {
  font-size: 15px;
  line-height: 1.6;
  margin-top: 8px;
}
.manager-source {
  padding: 12px;
  background: #f3f6fa;
  margin: 8px 0;
  overflow-wrap: anywhere;
}
.manager-source small {
  display: block;
  font-size: 12px;
}
.manager-source p {
  font-size: 14px;
}
.manager-updated {
  display: block;
  font-size: 13px;
  color: #617287;
  margin: 12px 0;
}
.manager-empty {
  padding: 28px 0;
  color: #5d7185;
  font-size: 16px;
}
.manager-card>button {
  width: 100%;
  margin-top: 14px;
  min-height: 44px;
}
.manager-card .muted {
  font-size: 14px;
}
.manager-card p {
  overflow-wrap: anywhere;
}
@media (max-width:767px) {
  .manager-grid {
    grid-template-columns: 1fr;
  }
  .manager-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .manager-heading .field {
    width: 100%;
  }
  .manager-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .manager-card {
    padding: 18px;
  }
  .manager-brief button {
    grid-template-columns: 1fr 20px;
  }
  .manager-brief button strong {
    grid-column: 1/-1;
  }
  .work-today {
    display: none;
  }
  .work-welcome {
    padding: 22px 18px !important;
  }
  .manager-heading input {
    width: 100%;
  }
}
.manager-citation {
  display: inline-block;
  font-size: 13px;
  color: #1759b8;
  text-decoration: underline;
  margin: 0 5px;
}
.manager-source:target {
  outline: 2px solid #2873dd;
}
:root {
  --brand-green: #009640;
  --brand-cyan: #00a3df;
  --brand-red: #e71920;
  --brand-yellow: #ffed00;
  --primary: #007a35;
  --primary-foreground: #fff;
  --ring: #009640;
  --accent: #e6f5ed;
  --accent-foreground: #00652d;
  --sidebar: #102c30;
  --sidebar-accent: #19433f;
  --sidebar-primary: #009640;
  --sidebar-ring: #00a3df;
  --chart-1: #009640;
  --chart-2: #00a3df;
  --chart-3: #e71920;
  --chart-4: #ffed00;
}
.work-welcome {
  background: linear-gradient(115deg,#103a31,#095c44 62%,#086f90) !important;
  position: relative;
  overflow: hidden;
}
.work-welcome:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg,var(--brand-green) 0% 25%,var(--brand-cyan) 25% 50%,var(--brand-red) 50% 75%,var(--brand-yellow) 75% 100%);
}
.work-welcome h2 span {
  color: #b9efd1 !important;
}
.work-welcome .work-date {
  color: #d9f3eb;
}
.work-welcome-actions [data-slot=button] {
  background: #fff !important;
  color: #075a36 !important;
}
.work-welcome-actions>button:last-child {
  color: #e2f5ef;
}
.industrial-sidebar [data-active=true] {
  background: #194a40 !important;
  border-left-color: var(--brand-green) !important;
}
.manager-heading .eyebrow,.manager-card-top span:first-child {
  color: #007335;
}
.manager-brief {
  background: linear-gradient(120deg,#123e34,#0b495c);
}
.manager-card {
  border-top-color: var(--brand-green);
}
.manager-card:nth-child(even) {
  border-top-color: var(--brand-cyan);
}
.manager-metrics {
  background: #eef8f3;
}
.manager-citation {
  color: #006c91;
}
.direction-tabs button.active {
  background: #007a35 !important;
  color: #fff !important;
  border-color: #007a35 !important;
}
.direction-tabs button.active strong {
  background: #ffffff26;
  color: #fff;
}
.day-head {
  background: linear-gradient(120deg,#103e32,#09677a);
}
.work-shortcuts button:first-child>svg {
  color: #009640;
}
.work-shortcuts button:nth-child(2)>svg {
  color: #007da8;
}
.work-shortcuts button:nth-child(3)>svg {
  color: #c91b24;
}
.stat:nth-child(1) {
  border-top: 3px solid var(--brand-green);
}
.stat:nth-child(2) {
  border-top: 3px solid var(--brand-red);
}
.stat:nth-child(3) {
  border-top: 3px solid var(--brand-cyan);
}
.stat:nth-child(4) {
  border-top: 3px solid var(--brand-yellow);
}
.daily-program {
  margin: 24px 0;
  border-radius: 18px;
  border-top: 4px solid var(--brand-cyan);
  min-width: 0;
}
.daily-program>header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}
.daily-program .eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #006e93;
  font-size: 14px;
}
.daily-program h2 {
  font-size: 24px;
  margin: 8px 0;
}
.daily-program header p {
  font-size: 14px;
  color: #586d76;
}
.daily-program input[type=date] {
  font-size: 16px;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  color: #163d37;
  background: white;
  color-scheme: light;
}
.program-saved {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #edf8f2;
  padding: 18px;
  border-radius: 12px;
  margin: 20px 0 12px;
}
.program-saved>svg {
  color: #007a35;
  flex-shrink: 0;
}
.program-saved>div {
  min-width: 0;
  flex: 1;
}
.program-saved strong {
  overflow-wrap: anywhere;
}
.program-saved span {
  display: block;
  font-size: 14px;
  color: #476357;
  margin-top: 5px;
}
.program-saved a {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #006b36;
  font-weight: 650;
  white-space: nowrap;
  padding: 10px;
}
.daily-program summary {
  padding: 14px 0;
  cursor: pointer;
  font-size: 16px;
  font-weight: 650;
}
.program-preview iframe {
  width: 100%;
  height: 560px;
  border: 1px solid #d8e7e3;
  border-radius: 10px;
  background: #f6faf8;
}
.program-preview a,.program-history>a {
  display: block;
  padding: 12px 0;
  color: #006e93;
  text-decoration: underline;
  overflow-wrap: anywhere;
}
.program-summary {
  font-size: 16px;
  margin: 16px 0;
}
.program-missing {
  background: #f0f8fb;
  padding: 20px;
  border-radius: 12px;
  margin: 20px 0;
}
.program-missing h3 {
  margin-top: 0;
}
.program-missing p,.program-replace p {
  font-size: 15px;
  color: #4d6471;
}
.program-upload {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}
.program-upload .daily-plan-file {
  flex: 1;
  min-width: 0;
}
.program-upload strong {
  overflow-wrap: anywhere;
}
.program-rollover {
  font-size: 14px;
  color: #5b7068;
  margin-top: 16px;
}
.program-history {
  border-top: 1px solid #e0e9e5;
  margin-top: 16px;
}
.daily-program .schedule-editor {
  margin-top: 16px;
}
.program-replace {
  border-top: 1px solid #e0e9e5;
}
@media (max-width:767px) {
  .daily-program {
    padding: 20px 16px;
  }
  .daily-program>header {
    align-items: stretch;
    flex-direction: column;
  }
  .program-saved {
    flex-wrap: wrap;
    padding: 14px;
  }
  .program-saved a {
    width: 100%;
    justify-content: center;
    border-top: 1px solid #cee5d9;
  }
  .program-preview iframe {
    height: 420px;
  }
  .program-upload {
    flex-direction: column;
    align-items: stretch;
  }
  .program-missing {
    padding: 16px;
  }
  .daily-program .field {
    width: 100%;
  }
}
.program-crews {
  margin-top: 18px;
  border-top: 1px solid #dce7e2;
}
.program-crews>p {
  font-size: 14px;
  color: #567066;
}
.crew-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  background: #f1f8f4;
  margin: 7px 0;
  border-radius: 8px;
  font-size: 15px;
}
.crew-line p {
  width: 100%;
  font-size: 14px;
}
.program-crews details {
  border-bottom: 1px solid #e1e9e5;
}
.work-clock {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  padding: 14px 18px;
  margin: 16px 0;
  background: #edf8f2;
  border: 1px solid #c2e4d2;
  border-radius: 12px;
  color: #154b34;
}
.work-clock strong {
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.work-clock span {
  font-size: 15px;
}
.work-clock small {
  width: 100%;
  font-size: 13px;
  color: #496c59;
}
.pdf-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 12px 0;
}
.pdf-tools button {
  min-height: 44px;
}
.pdf-viewport {
  overflow: auto;
  max-height: 65vh;
  background: #edf2f4;
  padding: 8px;
  border: 1px solid #ccdbe2;
  border-radius: 10px;
  -webkit-overflow-scrolling: touch;
}
.pdf-viewport canvas {
  display: block;
  background: white;
  max-width: none !important;
}
.pdf-help {
  font-size: 14px;
  color: #526877;
}
.photo-pair-board {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 8px;
  background: #102e3a;
  padding: 8px;
  border-radius: 16px;
  color: #fff;
}
.photo-pair-side {
  min-width: 0;
}
.photo-pair-date {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px;
  padding: 8px;
  font-size: 14px;
}
.photo-pair-original {
  width: 100%;
  height: clamp(240px,42vw,520px);
  object-fit: contain;
  background: #091f28;
}
.photo-pair-missing {
  height: 240px;
  display: grid;
  place-items: center;
  padding: 15px;
  text-align: center;
}
.photo-pair-thumbs {
  display: flex;
  gap: 6px;
  overflow: auto;
  padding: 8px 0;
}
.photo-pair-thumbs button {
  flex: 0 0 52px;
  border: 2px solid transparent;
  border-radius: 6px;
  overflow: hidden;
}
.photo-pair-thumbs button[aria-pressed=true] {
  border-color: #4ddc9a;
}
.photo-pair-thumbs img {
  width: 52px;
  height: 46px;
  object-fit: cover;
}
.photo-pair-dialog {
  width: 96vw !important;
  max-width: 1400px !important;
  max-height: 94dvh;
  overflow: auto;
}
.photo-pair-dialog .photo-pair-original {
  height: 60dvh;
}
.visual-comparison {
  margin: 24px 0;
  padding-bottom: 20px;
  border-bottom: 1px solid #d5e2e7;
}
.direction-sites {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap: 18px;
}
.direction-site {
  overflow: hidden;
  border: 1px solid #d5e2e7;
  border-radius: 20px;
  background: white;
}
.direction-site img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.direction-site-body {
  padding: 18px;
}
.direction-site h3 {
  margin: 0 0 8px;
}
.direction-site .actions {
  margin-top: 14px;
  flex-wrap: wrap;
}
.direction-empty-photo {
  height: 170px;
  background: #e6f0f4;
  display: grid;
  place-items: center;
  color: #47616b;
}
.direction-section {
  margin: 24px 0;
}
.direction-section>summary {
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  padding: 16px 0;
}
.assistant-note blockquote {
  display: none;
}
.assistant-note h3 {
  font-size: 18px;
}
.assistant-note-meta {
  font-size: 14px;
}
.photo-pair-pan {
  overflow: auto;
  height: clamp(240px,42vw,520px);
  cursor: grab;
}
.photo-pair-pan:active {
  cursor: grabbing;
}
.photo-pair-dialog .photo-pair-pan {
  height: 60dvh;
}
.photo-pair-pan img {
  user-select: none;
}
.photo-pair .field input[type=range] {
  width: 100%;
  padding: 0;
  min-height: 32px;
}
.email-readable-body {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: 1rem;
  line-height: 1.65;
  color: #20313e;
  margin: 20px 0;
  max-width: 100%;
  min-width: 0;
}
.email-sender {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 14px;
  letter-spacing: normal;
  color: #34687f;
}
.email-sender svg {
  flex-shrink: 0;
}
.owner-briefing {
  margin-top: 20px;
}
.owner-briefing .manager-grid {
  grid-template-columns: 1fr;
}
.brief-filter {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0;
  font-size: 16px;
  min-height: 44px;
}
.brief-filter input {
  width: 20px;
  height: 20px;
}
.brief-card {
  border-top: 1px solid #d4e0ed !important;
  border-left: 5px solid #66808b;
  padding: 24px;
}
.brief-card.priority-3 {
  border-left-color: #ce3131;
}
.brief-card.priority-2 {
  border-left-color: #d09517;
}
.brief-card.priority-1 {
  border-left-color: #007da8;
}
.brief-card-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.brief-card-head h3 {
  margin: 0 0 8px;
  font-size: 24px;
}
.brief-card-head p {
  font-size: 16px;
}
.brief-state {
  padding: 8px 12px;
  background: #eff4f6;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
}
.priority-3 .brief-state {
  color: #9f2020;
  background: #fff0f0;
}
.priority-2 .brief-state {
  color: #785000;
  background: #fff6dd;
}
.brief-facts {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  padding: 18px 0;
  border-bottom: 1px solid #dde7e4;
  margin-bottom: 18px;
}
.brief-facts span {
  font-size: 14px;
  color: #4a6069;
}
.brief-facts strong {
  display: block;
  font-size: 27px;
  color: #123b30;
}
.brief-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.brief-card h4 {
  font-size: 16px;
  font-weight: 750;
  margin: 12px 0 6px;
}
.brief-card p {
  font-size: 16px;
  line-height: 1.6;
  margin: 6px 0;
}
.brief-attention {
  padding: 14px 18px;
  background: #fff8e8;
  border: 1px solid #eed9a5;
  border-radius: 10px;
  margin: 16px 0;
}
.priority-3 .brief-attention {
  background: #fff4f1;
  border-color: #edc4bd;
}
.brief-ai {
  border-top: 1px solid #dce5e1;
  padding-top: 8px;
  margin-top: 18px;
}
.brief-decision {
  background: #edf7f1;
  padding: 12px 18px;
  border-radius: 10px;
  margin: 14px 0;
}
.brief-action {
  padding: 8px 0;
  border-bottom: 1px solid #dde6e2;
}
.brief-action:last-child {
  border: 0;
}
.brief-action small {
  font-size: 14px;
  color: #48685a;
}
.brief-card summary {
  font-size: 16px;
  min-height: 44px;
}
.brief-pending {
  background: #f1f5f7;
  border-radius: 10px;
  padding: 12px 16px;
  color: #4a626f;
}
.brief-reminder,.brief-corrections {
  background: #f0f7fb;
  border-radius: 8px;
  padding: 10px 14px;
  margin: 12px 0 !important;
}
.brief-reminder {
  font-size: 14px !important;
}
.brief-corrections summary {
  padding: 2px 0;
}
.brief-computo,.brief-sources {
  border-top: 1px solid #dce5e1;
  margin-top: 14px;
}
.brief-boq-line {
  border-top: 1px solid #dce5e1;
  padding: 14px 0;
}
.brief-boq-line>strong {
  font-size: 16px;
}
.brief-boq-line dl {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  margin: 10px 0;
}
.brief-boq-line dt {
  font-size: 14px;
  color: #526c75;
}
.brief-boq-line dd {
  font-size: 16px;
  font-weight: 650;
}
.brief-boq-line p {
  font-size: 14px;
}
.brief-source {
  padding: 12px;
  background: #f4f7f8;
  margin: 8px 0;
  border-radius: 8px;
}
.brief-source small {
  font-size: 14px;
}
.brief-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.brief-links button {
  min-height: 44px;
}
.brief-target {
  padding: 10px;
  border-left: 3px solid #00a3df;
}
.brief-card details>p {
  overflow-wrap: anywhere;
}
@media (max-width:767px) {
  .brief-card {
    padding: 18px 14px;
  }
  .brief-card-head {
    flex-direction: column;
    gap: 10px;
  }
  .brief-card-head h3 {
    font-size: 22px;
  }
  .brief-facts {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .brief-comparison {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .brief-boq-line dl {
    grid-template-columns: 1fr;
  }
  .brief-links {
    flex-direction: column;
  }
  .brief-links button {
    width: 100%;
  }
  .brief-attention,.brief-decision {
    padding: 10px 12px;
  }
  .owner-briefing .manager-heading h2 {
    font-size: 26px;
  }
}
.brief-sal {
  margin: 18px 0;
  padding: 16px;
  background: #edf7f1;
  border: 1px solid #bfdccc;
  border-radius: 12px;
}
.brief-sal>div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.brief-sal>div>span {
  font-size: 28px;
  font-weight: 750;
  color: #006b35;
}
.brief-sal progress {
  width: 100%;
  height: 10px;
  accent-color: #007a35;
  margin: 10px 0;
}
.brief-sal p {
  font-size: 14px;
  margin: 4px 0;
}
:root {
  --primary: #075bce;
  --primary-foreground: #fff;
  --background: #f3f6fb;
  --foreground: #142a43;
  --card: #fff;
  --card-foreground: #142a43;
  --border: #dbe4ee;
  --ring: #2c7ddd;
}
body {
  background: #f3f6fb;
  color: #142a43;
}
.main {
  max-width: 1540px;
  padding: 28px 32px;
}
.heading {
  margin-bottom: 24px;
}
.heading h1 {
  font-weight: 750;
  letter-spacing: -.035em;
}
.panel,.sitecard,.stat,.direction-site {
  border-color: #dde6f0;
  box-shadow: 0 5px 20px #142a4305;
}
.panel {
  border-radius: 20px;
}
.sitecard {
  padding: 24px !important;
  border-top: 3px solid #2876d1 !important;
}
.sitecard:hover {
  transform: translateY(-2px);
  border-color: #8ab1e3;
}
.sitecard h3 {
  line-height: 1.3;
}
.siteicon {
  background: #e9f2ff;
  color: #075bce;
  border-radius: 12px;
}
.topbar {
  background: #fff;
  box-shadow: 0 2px 12px #142a4304;
}
.industrial-sidebar [data-active=true] {
  background: #15549a !important;
  border-left-color: #91c6ff !important;
}
.industrial-sidebar [data-slot=sidebar-menu-button] {
  border-radius: 12px;
  min-height: 48px;
}
.main [data-slot=tabs-list] {
  display: flex;
  justify-content: flex-start;
  gap: 5px;
  padding: 7px;
  margin: 0 0 22px;
  background: #e7edf5;
  border: 1px solid #d8e2ed;
  border-radius: 15px;
  width: 100%;
  height: auto;
  flex-wrap: wrap;
}
.main [data-slot=tabs-trigger] {
  min-height: 44px;
  padding: 10px 15px;
  font-size: 14px;
  flex: 0 0 auto;
  border-radius: 10px;
  color: #435972;
}
.main [data-slot=tabs-trigger][data-state=active] {
  background: #fff;
  color: #075bce;
  box-shadow: 0 2px 7px #20365012;
  font-weight: 700;
}
.main [data-slot=button] {
  border-radius: 10px;
  min-height: 44px;
}
.brief-card {
  border-radius: 18px;
}
.brief-card-head h3 {
  color: #133c69;
}
.brief-facts strong {
  color: #075bce;
}
.brief-facts {
  background: #f5f8fc;
  padding: 18px;
  border-radius: 12px;
  border: 0;
}
.brief-comparison {
  gap: 18px;
}
.brief-comparison>div {
  padding: 12px 16px;
  border: 1px solid #e3eaf3;
  border-radius: 12px;
}
.brief-card .brief-attention {
  border-left: 3px solid #d39414;
}
.brief-card.priority-3 .brief-attention {
  border-left-color: #ce3131;
}
.sectiontitle {
  align-items: flex-start;
}
.badge {
  font-size: 14px;
  line-height: 1.4;
}
.stats {
  gap: 14px;
}
.stat {
  border-bottom: 3px solid #d9e9fd;
}
.stat strong {
  color: #143d6e;
}
.sitehours {
  background: #f8faff;
  border-color: #dce7f5;
}
.main :focus-visible {
  outline: 3px solid #4791e8;
  outline-offset: 3px;
}
.timeline {
  margin: 20px 0;
}
.timeline-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.timeline-heading h2 {
  font-size: 30px;
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 8px 0;
}
.timeline-heading h2 svg {
  color: #1264c9;
}
.timeline-heading p {
  color: #51677e;
  font-size: 14px;
}
.timeline-heading .actions {
  flex-wrap: wrap;
}
.timeline-metrics {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 24px 0;
  border: 1px solid #d4e2f3;
  background: #f5f9ff;
  border-radius: 16px;
  overflow: hidden;
}
.timeline-metrics>div {
  padding: 22px;
  border-right: 1px solid #d4e2f3;
}
.timeline-metrics>div:last-child {
  border: 0;
}
.timeline-metrics span,.timeline-metrics small {
  display: block;
  color: #4a6480;
  font-size: 14px;
  line-height: 1.5;
}
.timeline-metrics strong {
  display: block;
  font-size: clamp(22px,2.1vw,30px);
  font-weight: 750;
  letter-spacing: -.025em;
  color: #104984;
  margin: 9px 0;
}
.timeline-note {
  font-size: 14px;
  background: #f1f5f9;
  color: #4a6077;
  padding: 14px 18px;
  border-radius: 12px;
  margin: 16px 0;
}
.timeline-settings {
  background: #eaf3ff;
  padding: 20px;
  border-radius: 14px;
  margin: 18px 0;
}
.timeline-settings p {
  font-size: 14px;
  margin: 14px 0;
  color: #375a80;
}
.timeline select {
  border: 1px solid #c8d7e9;
  background: white;
  padding: 10px;
  border-radius: 8px;
  font-size: 16px;
  max-width: 100%;
  min-width: 0;
  width: 100%;
  min-height: 44px;
}
.timeline-board {
  border: 1px solid #dce5ef;
  border-radius: 16px;
  overflow: hidden;
  margin-top: 24px;
}
.timeline-axis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  background: #102e50;
  color: white;
  padding: 16px 20px;
  font-size: 14px;
}
.timeline-axis>span:last-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.timeline-row {
  padding: 22px;
  border-bottom: 1px solid #dce5ef;
  break-inside: avoid;
}
.timeline-row:last-child {
  border: 0;
}
.timeline-row-head {
  display: flex;
  align-items: center;
  gap: 14px;
}
.timeline-index {
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #edf4ff;
  color: #2166b4;
  min-width: 38px;
  height: 38px;
  font-size: 14px;
  font-weight: 700;
}
.timeline-row-head>div {
  flex: 1;
  min-width: 0;
}
.timeline-row-head h3 {
  font-size: 16px;
  margin: 0 0 6px;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.timeline-row-head p {
  font-size: 14px;
  color: #526a82;
}
.timeline-row-head>strong {
  font-size: 20px;
  color: #175ca8;
  white-space: nowrap;
}
.timeline-progress {
  height: 5px;
  background: #edf2f8;
  border-radius: 6px;
  margin: 16px 0;
  overflow: hidden;
}
.timeline-progress>span {
  display: block;
  height: 100%;
  background: #1685d1;
  border-radius: 6px;
}
.timeline-row-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 24px;
}
.timeline-row-body strong {
  font-size: 16px;
}
.timeline-row-body p,.timeline-row-body small {
  font-size: 14px;
  color: #536b83;
  margin-top: 5px;
}
.timeline-row-body .timeline-gap {
  color: #986014;
}
.timeline-lane {
  height: 38px;
  position: relative;
  background: repeating-linear-gradient(90deg,#f2f6fc 0,#f2f6fc calc(25% - 1px),#dce5ef calc(25% - 1px),#dce5ef 25%);
  border-radius: 6px;
  overflow: hidden;
}
.timeline-lane>span {
  position: absolute;
  height: 30px;
  top: 4px;
  border-radius: 6px;
  background: #206dc1;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
}
.timeline-lane>small {
  display: block;
  padding: 9px 12px;
  font-size: 14px;
  color: #63778d;
}
.timeline-line-settings {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  margin-top: 20px;
  padding: 16px;
  background: #f2f6fb;
  border-radius: 12px;
}
.timeline-footer {
  font-size: 14px;
  color: #586f87;
  margin-top: 20px;
  line-height: 1.6;
}
@media (max-width:767px) {
  .main {
    padding: 20px 14px;
  }
  .panel {
    padding: 20px 16px;
  }
  .main [data-slot=tabs-list] {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    scrollbar-width: thin;
    max-width: 100%;
    padding: 6px;
  }
  .main [data-slot=tabs-trigger] {
    font-size: 14px;
    white-space: nowrap;
  }
  .timeline-heading {
    flex-direction: column;
  }
  .timeline-heading h2 {
    font-size: 26px;
  }
  .timeline-heading .actions {
    width: 100%;
  }
  .timeline-heading .actions button {
    flex: 1;
  }
  .timeline-metrics {
    grid-template-columns: 1fr;
  }
  .timeline-metrics>div {
    padding: 16px 18px;
    border-right: 0;
    border-bottom: 1px solid #d4e2f3;
  }
  .timeline-metrics strong {
    font-size: 26px;
  }
  .timeline-axis {
    grid-template-columns: 1fr;
    padding: 14px;
  }
  .timeline-axis>span:first-child {
    display: none;
  }
  .timeline-row {
    padding: 18px 14px;
  }
  .timeline-row-head {
    gap: 10px;
    align-items: flex-start;
  }
  .timeline-row-head>strong {
    font-size: 17px;
  }
  .timeline-row-body {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .timeline-line-settings {
    grid-template-columns: 1fr 1fr;
    padding: 12px;
  }
  .timeline-line-settings>.field:last-child {
    grid-column: 1/-1;
  }
  .timeline-settings {
    padding: 16px;
  }
  .timeline-settings .formgrid {
    grid-template-columns: 1fr;
  }
  .timeline .eyebrow {
    font-size: 12px;
    letter-spacing: .06em;
  }
  .timeline-note {
    padding: 12px;
  }
  .brief-comparison>div {
    padding: 10px 12px;
  }
  .sitecard {
    padding: 20px !important;
  }
}
@media print {
  body:has(.timeline) * {
    visibility: hidden;
  }
  .timeline,.timeline * {
    visibility: visible;
  }
  .timeline {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    box-shadow: none;
    border: 0;
    padding: 0;
  }
  .timeline .actions,.timeline-settings,.timeline-line-settings {
    display: none !important;
  }
  .timeline-row {
    break-inside: avoid;
  }
  .timeline-board {
    overflow: visible;
  }
  .timeline-metrics,.timeline-lane,.timeline-axis {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
.today-board {
  margin: 0 0 28px;
}
.today-intro {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.today-intro h2 {
  font-size: clamp(26px,3vw,36px);
  line-height: 1.15;
  color: #122f50;
  margin: 10px 0 12px;
  letter-spacing: -.035em;
}
.today-intro p {
  color: #526982;
  font-size: 16px;
  max-width: 650px;
}
.today-live {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  white-space: nowrap;
  padding: 10px 12px;
  border-radius: 10px;
  background: white;
  color: #4d6580;
}
.today-counts {
  display: flex;
  gap: 12px;
  margin: 24px 0;
  flex-wrap: wrap;
}
.today-counts>span {
  padding: 14px 18px;
  background: #e7eff9;
  border-radius: 12px;
  font-size: 16px;
  color: #375574;
}
.today-counts strong {
  font-size: 25px;
  font-weight: 750;
  color: #104c91;
  margin-right: 6px;
}
.today-counts .needs-attention {
  background: #fff0d6;
  color: #79531c;
}
.today-counts .needs-attention strong {
  color: #986019;
}
.today-program-gap {
  display: flex;
  gap: 15px;
  background: #fff8e9;
  border: 1px solid #eddab5;
  border-radius: 14px;
  padding: 20px;
  margin: 20px 0;
}
.today-program-gap>svg {
  flex-shrink: 0;
  color: #a36b17;
}
.today-program-gap p {
  margin: 8px 0 14px;
  color: #755929;
  font-size: 16px;
}
.today-filters {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin: 22px 0;
}
.today-filters input {
  margin-left: auto;
  min-width: 0;
  width: 220px;
  background: white;
  border: 1px solid #cbd9e8;
  border-radius: 10px;
  padding: 11px 14px;
  font-size: 16px;
}
.today-list {
  display: grid;
  gap: 16px;
}
.today-site {
  background: white;
  border: 1px solid #dce5ef;
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: 0 4px 16px #18345104;
  border-left: 4px solid #d6a240;
}
.today-site.urgent {
  border-left-color: #c43e36;
}
.today-site.clear {
  border-left-color: #3d9878;
}
.today-site>header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.today-site h3 {
  font-size: 22px;
  line-height: 1.3;
  letter-spacing: -.02em;
  margin: 0 0 6px;
  color: #143655;
}
.today-site header p {
  font-size: 14px;
  color: #63768b;
}
.today-site header>span {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  background: #fff4df;
  color: #8a5f1d;
  font-size: 14px;
  border-radius: 8px;
  padding: 7px 10px;
}
.today-site.clear header>span {
  background: #eaf6f0;
  color: #2b6955;
}
.today-alert {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  border-top: 1px solid #e8edf4;
  padding: 14px 0;
}
.today-alert p {
  font-size: 16px;
  line-height: 1.55;
  margin: 0;
  overflow-wrap: anywhere;
  color: #2c425a;
  max-width: 900px;
}
.today-alert button {
  flex-shrink: 0;
}
.today-site footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #e8edf4;
  padding-top: 10px;
  gap: 12px;
  font-size: 14px;
  color: #63768b;
}
.today-site summary {
  font-size: 16px;
  cursor: pointer;
  padding: 12px 0;
  color: #155baa;
}
.today-clear {
  background: #edf6f2;
  border: 1px solid #c9e4d8;
  border-radius: 18px;
  padding: 30px;
  color: #225d46;
}
.today-clear>svg {
  width: 30px;
  height: 30px;
}
.today-clear h3 {
  font-size: 22px;
  margin-top: 12px;
}
.today-clear p {
  font-size: 16px;
  margin-top: 8px;
}
.today-okay {
  font-size: 16px;
  margin: 12px 0;
  color: #456f62;
}
.today-worker-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.direction-home>.direction-section {
  border-top: 1px solid #d7e2ee;
  margin: 0;
  padding: 4px 0;
}
.direction-home>.direction-section>summary {
  font-size: 16px;
  color: #315270;
  min-height: 56px;
}
.today-site button {
  white-space: normal;
  text-align: left;
}
@media (max-width:767px) {
  .today-intro {
    flex-direction: column;
    gap: 12px;
  }
  .today-live {
    font-size: 14px;
  }
  .today-counts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .today-counts>span {
    padding: 14px;
    font-size: 14px;
  }
  .today-counts strong {
    display: block;
    font-size: 28px;
  }
  .today-filters {
    gap: 8px;
  }
  .today-filters>button {
    flex: 1;
  }
  .today-filters input {
    width: 100%;
    margin: 4px 0 0;
  }
  .today-site {
    padding: 18px 16px;
  }
  .today-site>header {
    flex-direction: column;
    gap: 8px;
  }
  .today-site h3 {
    font-size: 22px;
  }
  .today-alert {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .today-alert button {
    min-height: 44px;
  }
  .today-site footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  .today-site footer button {
    padding-left: 0;
  }
  .today-worker-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    margin-top: 16px;
  }
  .today-worker-actions button {
    justify-content: flex-start;
  }
  .today-program-gap {
    padding: 16px;
  }
  .today-clear {
    padding: 22px;
  }
  .today-intro .eyebrow {
    font-size: 14px;
    letter-spacing: .05em;
  }
}
.portfolio-planner {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 18px;
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
.portfolio-planner h2 {
  font-size: 24px;
}
.portfolio-planner h3 {
  font-size: 18px;
}
.portfolio-planner p {
  font-size: 16px;
  line-height: 1.55;
}
.portfolio-planner .muted {
  font-size: 14px;
}
.portfolio-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.portfolio-settings {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
  gap: 16px;
  margin-top: 18px;
}
.portfolio-planner input,.portfolio-planner select,.portfolio-planner textarea {
  font-size: 16px;
  min-height: 44px;
  width: 100%;
  max-width: 100%;
}
.portfolio-planner summary {
  cursor: pointer;
  padding: 12px 0;
  font-size: 16px;
}
.portfolio-weeks {
  display: grid;
  grid-template-columns: repeat(13,minmax(46px,1fr));
  gap: 8px;
  overflow-x: auto;
  padding: 12px 0;
}
.portfolio-weeks>div {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 5px;
}
.portfolio-weeks strong {
  font-size: 22px;
}
.portfolio-weeks small,.portfolio-weeks span {
  font-size: 14px;
}
.portfolio-meter {
  height: 60px;
  width: 24px;
  background: #edf1f4;
  border-radius: 6px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.portfolio-meter i {
  display: block;
  width: 100%;
  background: #0e7970;
}
.portfolio-candidate {
  border-left: 4px solid #0e7970;
}
.portfolio-date {
  display: block;
  font-size: 22px;
  margin-top: 14px;
}
.portfolio-upload {
  display: block;
  font-size: 14px;
  margin-top: 18px;
}
.portfolio-upload input {
  margin-top: 8px;
}
.portfolio-warning {
  border-left: 4px solid #c88714;
}
.portfolio-planner .doclink {
  display: block;
  overflow-wrap: anywhere;
  margin: 10px 0;
}
@media (max-width:600px) {
  .portfolio-planner .formgrid,.portfolio-settings {
    grid-template-columns: 1fr;
  }
  .portfolio-planner .panel {
    padding: 16px;
  }
  .portfolio-heading {
    align-items: flex-start;
  }
  .portfolio-planner h2 {
    font-size: 22px;
  }
}
.portfolio-calendar-axis {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  margin: 18px 0;
}
.portfolio-calendar-row {
  padding: 12px 0;
  border-top: 1px solid #e6eaed;
}
.portfolio-calendar-row>span {
  font-size: 16px;
  display: block;
  margin-bottom: 8px;
}
.portfolio-calendar-row small {
  font-size: 14px;
  color: #596973;
  display: block;
  margin-top: 6px;
}
.portfolio-calendar-lane {
  height: 18px;
  position: relative;
  background: repeating-linear-gradient(90deg,#f1f4f6 0,#f1f4f6 calc(7.777% - 1px),#d6dfe3 calc(7.777% - 1px),#d6dfe3 7.777%);
  border-radius: 4px;
}
.portfolio-calendar-lane i {
  position: absolute;
  height: 100%;
  background: #147c73;
  border-radius: 4px;
}
.portfolio-calendar-lane i.uncertain {
  background: repeating-linear-gradient(135deg,#c39a4d 0,#c39a4d 5px,#e9d9b5 5px,#e9d9b5 10px);
}
.portfolio-planner>*,.portfolio-planner .panel,.portfolio-heading>*,.portfolio-planner .formgrid,.portfolio-planner .field,.portfolio-settings>* {
  min-width: 0;
  max-width: 100%;
}
.portfolio-planner .panel {
  width: 100%;
  box-sizing: border-box;
}
.portfolio-planner h2,.portfolio-planner h3,.portfolio-planner p,.portfolio-planner label,.portfolio-planner summary,.portfolio-date,.portfolio-calendar-row>span,.portfolio-calendar-row small {
  overflow-wrap: anywhere;
  white-space: normal;
}
.portfolio-planner input,.portfolio-planner select,.portfolio-planner textarea {
  min-width: 0;
  box-sizing: border-box;
}
.portfolio-planner .formgrid {
  gap: 16px;
  margin: 18px 0;
}
.portfolio-heading>div {
  flex: 1 1 240px;
}
.portfolio-planner select {
  border: 1px solid #cbd8e8;
  background: #fff;
  border-radius: 9px;
  padding: 10px 12px;
}
.portfolio-weeks {
  min-width: 0;
  max-width: 100%;
}
.portfolio-planner [data-slot=button] {
  max-width: 100%;
  height: auto;
  min-height: 44px;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
  padding-top: 10px;
  padding-bottom: 10px;
}
@media (max-width:767px) {
  .portfolio-planner {
    gap: 14px;
  }
  .portfolio-heading {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 12px;
  }
  .portfolio-heading>[data-slot=button],.portfolio-planner .actions>[data-slot=button] {
    width: 100%;
  }
  .portfolio-planner .actions {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 10px;
    width: 100%;
  }
  .portfolio-planner .formgrid,.portfolio-settings {
    grid-template-columns: minmax(0,1fr);
  }
  .portfolio-planner h2 {
    font-size: 22px;
    line-height: 1.25;
  }
  .portfolio-planner h3 {
    line-height: 1.35;
  }
  .portfolio-date {
    font-size: 20px;
    line-height: 1.4;
  }
  .portfolio-weeks {
    grid-template-columns: repeat(4,minmax(0,1fr));
    overflow: visible;
    gap: 10px;
  }
  .portfolio-weeks>div {
    background: #f5f8fa;
    border: 1px solid #e0e8ed;
    border-radius: 10px;
    padding: 10px 4px;
    min-width: 0;
  }
  .portfolio-meter {
    height: 35px;
    width: 18px;
  }
  .portfolio-calendar-axis {
    gap: 8px;
    flex-wrap: wrap;
  }
  .portfolio-planner input[type=file] {
    font-size: 14px;
    overflow: hidden;
  }
}
@media (max-width:360px) {
  .portfolio-weeks {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
.quick-photos {
  display: grid;
  gap: 20px;
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
.quick-photos .panel,.quick-photos .field {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.quick-photos .field {
  display: grid;
  gap: 8px;
  margin: 18px 0;
}
.quick-photos select,.quick-photos textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  font-size: 16px;
}
.quick-photo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 18px 0;
}
.quick-photo-actions button,.quick-photo-submit {
  min-height: 52px;
  white-space: normal;
  height: auto;
  padding: 12px 18px;
}
.quick-photo-preview {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(130px,1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.quick-photo-preview>div {
  position: relative;
  min-width: 0;
}
.quick-photo-preview img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 12px;
}
.quick-photo-preview button {
  position: absolute;
  right: 4px;
  top: 4px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #14283c;
  border: 1px solid #ccd6e0;
  border-radius: 50%;
  width: 44px;
  height: 44px;
}
.quick-photo-submit {
  width: 100%;
}
.quick-photo-uploaded {
  padding: 16px 0;
  border-bottom: 1px solid #dce3ea;
}
.ddt-category {
  margin-top: 24px;
}
.ddt-category details {
  border-bottom: 1px solid #dce3ea;
  padding: 14px 0;
}
.ddt-category summary {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  justify-content: space-between;
  cursor: pointer;
}
.ddt-category summary strong {
  flex-shrink: 0;
}
.ddt-category summary span {
  min-width: 0;
}
@media (max-width:600px) {
  .quick-photo-actions>* {
    flex: 1 1 100%;
  }
  .ddt-category summary {
    flex-direction: column;
    gap: 5px;
  }
  .quick-photos .sectiontitle {
    flex-wrap: wrap;
    gap: 12px;
  }
}
.roof-map.roof-map-editor {
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  cursor: crosshair;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}
.roof-vertex-status {
  background: #eaf3ff;
  color: #154e8a;
  border-radius: 10px;
  padding: 12px 16px;
  font-weight: 600;
}
.ddt-material-summary {
  min-width: 0;
}
.ddt-material-summary .sectiontitle {
  flex-wrap: wrap;
}
.ddt-material-total {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid #dde6ee;
}
.ddt-material-total>div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ddt-material-total>strong {
  font-size: 24px;
  color: #125785;
  white-space: nowrap;
}
.ddt-material-summary summary {
  cursor: pointer;
  padding: 12px 0;
  font-weight: 600;
}
@media (max-width:600px) {
  .ddt-material-total {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .ddt-material-summary {
    padding: 16px;
  }
  .ddt-material-summary h2 {
    font-size: 22px;
  }
}
.site-search {
  margin-bottom: 20px;
  min-width: 0;
}
.site-search label {
  display: block;
  font-weight: 650;
  margin-bottom: 10px;
}
.site-search>div {
  display: flex;
  gap: 10px;
  min-width: 0;
}
.site-search input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  font-size: 16px;
  padding: 12px 14px;
  border: 1px solid #bbcddd;
  border-radius: 9px;
  background: white;
}
.site-search p {
  font-size: 14px;
  color: #526b7d;
  margin-top: 10px;
}
.site-search button {
  min-height: 48px;
}
@media (max-width:600px) {
  .site-search {
    padding: 16px;
  }
  .site-search>div {
    flex-wrap: wrap;
  }
}
.production-space {
  display: grid;
  gap: 20px;
  min-width: 0;
}
.production-heading {
  flex: 1;
  min-width: 200px;
}
.production-fields {
  border: 0;
  padding: 0;
  min-width: 0;
  display: grid;
  gap: 16px;
}
.production-line {
  border: 1px solid #dce3ed;
  border-radius: 14px;
  padding: 16px;
  margin: 14px 0;
  min-width: 0;
  background: #f7f9fc;
}
.production-card {
  min-width: 0;
  overflow-wrap: anywhere;
}
.production-text {
  white-space: pre-wrap;
}
.production-progress {
  width: 100%;
  height: 12px;
  accent-color: #3175b7;
}
.production-space input,.production-space select,.production-space textarea {
  max-width: 100%;
  min-width: 0;
  font-size: 16px;
}
.production-space .doclink {
  overflow-wrap: anywhere;
}
.production-space h3 {
  flex: 1;
}
.production-space .eyebrow {
  white-space: normal;
}
@media (max-width:640px) {
  .production-space .formgrid {
    grid-template-columns: minmax(0,1fr);
  }
  .production-space .actions {
    flex-wrap: wrap;
  }
  .production-space .panel {
    padding: 18px;
  }
  .production-line {
    padding: 12px;
  }
}
.drawing-open {
  white-space: normal !important;
  height: auto !important;
  min-height: 44px;
  overflow-wrap: anywhere;
  text-align: left;
  max-width: 100%;
}
.app-dialog-panel.drawing-viewer {
  width: min(1400px,100%) !important;
  height: 100% !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 16px;
  gap: 12px;
}
.drawing-header {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
  border-bottom: 1px solid #dce3ed;
  padding-bottom: 12px;
}
.drawing-header [data-slot=dialog-title] {
  flex: 1;
  min-width: 0;
  padding-right: 0 !important;
  overflow-wrap: anywhere;
  font-size: 16px !important;
}
.drawing-header button {
  flex-shrink: 0;
  min-height: 48px;
}
.drawing-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
}
.drawing-image {
  overflow: auto;
  margin-top: 12px;
}
.drawing-viewer .pdf-viewport {
  max-height: none;
}
.drawing-viewer .program-preview {
  min-width: 0;
}
.today-facts {
  display: grid;
  gap: 14px;
  margin: 16px 0;
}
.today-facts>div>span {
  font-size: 13px;
  font-weight: 750;
  color: #61758a;
  letter-spacing: .08em;
}
.today-facts p {
  font-size: 18px;
  line-height: 1.45;
  margin: 4px 0;
}
.today-facts small,.today-quantity small {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #63768b;
}
.today-quantity-head,.today-quantity {
  display: grid;
  grid-template-columns: minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #e5ebef;
  font-size: 16px;
  overflow-wrap: anywhere;
}
.today-quantity-head {
  font-size: 14px;
  color: #64768a;
}
.today-photo-days {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 12px;
  margin: 18px 0;
}
.today-photo-days .photos {
  display: block;
  margin: 8px 0;
}
.today-photo-days .photos button {
  width: 100%;
  height: 150px;
}
.today-photo-days .photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.today-photo-days p,.today-photo-days small {
  font-size: 14px;
  color: #64768a;
}
.today-photo-days strong {
  font-size: 15px;
}
.location-card {
  padding: 20px 0;
  border-top: 1px solid #d9e4ed;
  margin-top: 20px;
}
.location-evidence {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 16px;
  margin: 16px 0;
  align-items: start;
}
.location-evidence img {
  width: 100%;
  max-height: 420px;
  object-fit: contain;
}
.location-evidence figcaption {
  font-size: 14px;
  color: #61758a;
  margin: 8px 0;
}
.work-location>.location-card .field {
  margin: 12px 0;
}
.work-location p {
  line-height: 1.5;
}
.location-card details {
  margin: 12px 0;
}
.today-site>header>span {
  white-space: normal;
}
@media (max-width:600px) {
  .location-evidence {
    grid-template-columns: 1fr;
  }
  .today-quantity {
    font-size: 15px;
  }
  .today-photo-days .photos button {
    height: 120px;
  }
}
.schedule-site-card {
  display: block;
  border: 1px solid #d8e3eb;
  border-radius: 12px;
  padding: 16px;
  margin: 12px 0;
}
.schedule-site-card>summary {
  cursor: pointer;
  font-weight: 600;
}
.schedule-editor ul {
  list-style: disc;
  padding-left: 24px;
  margin: 12px 0;
}
.schedule-editor li {
  padding: 5px 0;
  overflow-wrap: anywhere;
}
.schedule-editor li small {
  color: #667788;
}
.program-person-editor {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid #d8e3eb;
  align-items: end;
}
.program-person-editor .field {
  min-width: 0;
}
.program-person-editor input,.program-person-editor select {
  width: 100%;
  min-width: 0;
}
@media (max-width:700px) {
  .program-person-editor {
    grid-template-columns: minmax(0,1fr);
  }
  .program-person-editor button {
    justify-self: start;
  }
}
.crew-picker {
  background: #f2f7f4;
  border: 1px solid #c9dfd0;
  border-radius: 12px;
  padding: 16px;
  margin-top: 12px;
}
.crew-picker-list {
  max-height: 360px;
  overflow-y: auto;
  margin-top: 12px;
}
.crew-picker-person {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 4px;
  border-bottom: 1px solid #d8e3db;
  cursor: pointer;
}
.crew-picker-person input {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  accent-color: #008337;
}
.crew-picker-person small {
  display: block;
  color: #52675c;
  margin-top: 3px;
}
.planning-summary,.planning-facts {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin: 20px 0;
}
.planning-summary>div {
  padding: 16px;
  background: #f0f7f3;
  border-radius: 12px;
}
.planning-summary strong,.planning-facts strong {
  display: block;
  font-size: 1.3rem;
  color: #153f32;
}
.planning-summary span,.planning-facts span {
  display: block;
  color: #5f7068;
  margin: 5px 0;
}
.planning-extra {
  margin: 14px 0;
}
.planning-extra>summary,.planning-card>details>summary {
  cursor: pointer;
  font-weight: 600;
  padding: 12px 0;
  color: #18553b;
}
.planning-toolbar {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
  flex-wrap: wrap;
}
.planning-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.planning-toolbar>input {
  padding: 12px;
  border: 1px solid #cadbd2;
  border-radius: 10px;
  max-width: 100%;
}
.planning-cards {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  align-items: start;
}
.planning-card {
  min-width: 0;
  margin: 0 !important;
}
.planning-missing {
  padding: 12px;
  background: #fff6e6;
  border-radius: 10px;
  color: #775014;
  margin: 12px 0;
}
.planning-save {
  position: sticky;
  bottom: 12px;
  z-index: 15;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid #bdd9ca;
  box-shadow: 0 5px 25px #14342520;
  border-radius: 14px;
  padding: 16px;
  flex-wrap: wrap;
}
.planning-save>div {
  flex: 1;
}
.planning-save p {
  margin: 0;
}
.planning-simple .portfolio-settings {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.planning-card .portfolio-upload {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.planning-card input,.planning-card select,.planning-card textarea {
  max-width: 100%;
  min-width: 0;
}
@media (max-width:850px) {
  .planning-cards {
    grid-template-columns: minmax(0,1fr);
  }
}
@media (max-width:550px) {
  .planning-summary {
    grid-template-columns: minmax(0,1fr);
  }
  .planning-summary>div {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px;
  }
  .planning-facts {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .planning-simple .portfolio-settings {
    grid-template-columns: minmax(0,1fr);
  }
  .planning-save {
    bottom: 8px;
  }
  .planning-toolbar>input {
    width: 100%;
  }
}
.planning-week-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #dbe5de;
}
.planning-week-row p {
  margin: 5px 0;
}
.planning-week-row>div {
  min-width: 0;
}
.planning-week-row button {
  flex-shrink: 0;
}
@media (max-width:550px) {
  .planning-week-row {
    align-items: flex-start;
    flex-direction: column;
  }
}
.notification-highlight {
  outline: 3px solid #00863b;
  outline-offset: 4px;
  scroll-margin-top: 100px;
}
.photo-viewer-header .photo-viewer-control {
  width: auto;
  min-width: 48px;
  padding: 0 12px;
  gap: 6px;
  border-radius: 12px;
  font-size: 14px;
  white-space: nowrap;
}
.today-home-compact {
  max-width: 1100px;
  margin: 0 auto;
}
.today-home-compact [role=tabpanel][hidden] {
  display: none !important;
}
.today-home-tabs[role=tablist] {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  width: 100%;
  height: auto;
  padding: 5px;
  gap: 5px;
  margin-bottom: 20px;
  background: #e6edf5;
  border: 1px solid #d5e0eb;
  border-radius: 14px;
}
.today-home-tabs [role=tab] {
  min-height: 46px;
  padding: 10px 8px;
  font-size: 15px;
  line-height: 1.3;
  color: #435a70;
  white-space: normal;
}
.today-home-tabs [role=tab][data-state=active] {
  background: #153b60;
  color: white;
  border-radius: 10px;
  box-shadow: none;
}
.today-tab-count {
  min-width: 20px;
  padding: 1px 5px;
  border-radius: 6px;
  background: #ffffff85;
  color: #173c61;
  font-size: 13px;
}
.today-tab-dot {
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #b8750b;
}
.today-home-tabs [data-state=active] .today-tab-dot {
  background: #ffd284;
}
.today-board-compact {
  margin-bottom: 16px;
}
.today-board-compact .today-intro h2 {
  font-size: 24px;
  margin: 6px 0;
}
.today-board-compact .today-intro p {
  margin: 0;
  font-size: 14px;
}
.today-board-compact .today-filters {
  margin: 16px 0;
}
.today-board-compact .today-list {
  gap: 8px;
}
.today-compact-row {
  background: white;
  border: 1px solid #d8e2ec !important;
  border-left: 4px solid #bf8838 !important;
  border-radius: 12px;
  overflow: hidden;
}
.today-compact-row.urgent {
  border-left-color: #b54037 !important;
}
.today-compact-row.clear {
  border-left-color: #357d65 !important;
}
.today-compact-trigger {
  padding: 15px 16px;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
}
.today-compact-trigger:hover {
  background: #f5f8fb;
}
.today-compact-trigger:focus-visible {
  outline: 3px solid #3077b0;
  outline-offset: -3px;
}
.today-row-summary {
  display: block;
  min-width: 0;
  width: 100%;
}
.today-row-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.today-row-top>strong {
  color: #173b5e;
  font-size: 17px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.today-row-status {
  font-size: 14px;
  font-weight: 500;
  color: #7e581d;
  flex-shrink: 0;
}
.today-compact-row.urgent .today-row-status {
  color: #ab352e;
}
.today-compact-row.clear .today-row-status {
  color: #286b52;
}
.today-row-note {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  margin-top: 5px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #53687d;
  overflow-wrap: anywhere;
}
.today-compact-row .today-site {
  border: 0;
  border-top: 1px solid #e3eaf1;
  border-radius: 0;
  padding: 16px;
  box-shadow: none;
}
.today-compact-row .today-site>header {
  display: none;
}
.today-compact-row .today-site .actions {
  margin: 12px 0;
}
.today-compact-row .today-site .today-facts {
  margin-top: 0;
}
.today-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 12px;
  font-size: 14px;
}
.today-pagination button {
  min-height: 44px;
}
.today-followup-link {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  text-align: left;
  padding: 14px 16px;
  border: 1px solid #e4d9bd;
  border-radius: 10px;
  background: #fff9ed;
  color: #705420;
  font-size: 14px;
  line-height: 1.5;
}
.today-followup-link>span {
  white-space: nowrap;
  font-weight: 600;
}
.today-section-heading {
  font-size: 24px;
  color: #173b5e;
  margin: 4px 0 16px;
}
.today-home-compact .direction-section {
  border-top: 1px solid #d7e2ee;
  margin: 0;
  padding: 4px 0;
}
.today-home-compact .direction-section>summary {
  font-size: 16px;
  color: #315270;
  min-height: 52px;
  padding: 14px 0;
}
@media (max-width:600px) {
  .today-home-tabs[role=tablist] {
    gap: 3px;
    padding: 4px;
    margin-bottom: 16px;
  }
  .today-home-tabs [role=tab] {
    font-size: 14px;
    padding: 8px 4px;
    gap: 4px;
  }
  .today-row-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }
  .today-row-top>strong {
    font-size: 16px;
  }
  .today-compact-trigger {
    padding: 12px;
  }
  .today-row-note {
    -webkit-line-clamp: 1;
  }
  .today-followup-link {
    flex-direction: column;
    gap: 3px;
  }
  .today-board-compact .today-filters {
    gap: 6px;
    margin: 12px 0;
  }
  .today-board-compact .today-intro .eyebrow {
    font-size: 13px;
    letter-spacing: 0;
  }
}
.attendance-head,.attendance-person>summary {
  display: grid;
  grid-template-columns: minmax(180px,2fr) repeat(3,minmax(100px,1fr));
  gap: 16px;
  align-items: center;
}
.attendance-head {
  padding: 12px 24px;
  color: #526176;
  font-size: 14px;
}
.attendance-person {
  margin-bottom: 10px;
}
.attendance-person>summary {
  cursor: pointer;
  list-style: none;
  min-height: 52px;
}
.attendance-person>summary::-webkit-details-marker {
  display: none;
}
.attendance-person>summary>span:first-child:before {
  content: '＋';
  margin-right: 8px;
}
.attendance-person[open]>summary>span:first-child:before {
  content: '−';
}
.attendance-person small {
  font-size: 14px;
}
.attendance-mobile-label {
  display: none;
}
.attendance-detail {
  margin-top: 18px;
  border-top: 1px solid #dce4ed;
  padding-top: 18px;
}
.attendance-day {
  display: grid;
  grid-template-columns: 70px 105px minmax(0,1fr);
  gap: 12px;
  border-top: 1px solid #e2e8f0;
  padding: 14px 0;
}
.attendance-day p,.attendance-day small {
  overflow-wrap: anywhere;
}
@media (max-width:640px) {
  .attendance-head {
    display: none;
  }
  .attendance-person>summary {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
  }
  .attendance-person>summary>span:first-child {
    grid-column: 1/-1;
  }
  .attendance-mobile-label {
    display: block;
  }
  .attendance-day {
    grid-template-columns: 55px minmax(0,1fr);
  }
  .attendance-day>div:last-child {
    grid-column: 1/-1;
  }
  .attendance-register .actions button {
    white-space: normal;
    height: auto;
    min-height: 44px;
  }
  .attendance-register .field {
    min-width: 0;
    max-width: 100%;
  }
}
.attendance-exports {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin: 22px 0;
}
.attendance-export-card {
  padding: 22px;
  border-radius: 16px;
  background: #edf5ff;
  border: 1px solid #c5dcfa;
  border-top: 5px solid #173f70;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  color: #19344d;
}
.attendance-export-card.complete {
  background: #eaf8f5;
  border-color: #b7dfd4;
  border-top-color: #087f8c;
}
.attendance-export-card h3 {
  font-size: 1.25rem;
  margin: 0;
}
.attendance-export-card p {
  font-size: 1rem;
  margin: 0;
  flex: 1;
}
.attendance-export-card button {
  white-space: normal;
  height: auto;
  min-height: 44px;
  max-width: 100%;
  text-align: left;
}
.attendance-export-label {
  font-size: .875rem;
  font-weight: 800;
  letter-spacing: .05em;
  color: #173f70;
}
.complete .attendance-export-label {
  color: #07666f;
}
@media (max-width:700px) {
  .attendance-exports {
    grid-template-columns: 1fr;
  }
  .attendance-export-card {
    padding: 18px;
  }
}
:root,.dark {
  --primary: #007a35;
  --primary-foreground: #fff;
  --ring: #009640;
  --background: #f3f8f6;
  --foreground: #193c38;
  --card: #fff;
  --card-foreground: #193c38;
  --popover: #fff;
  --popover-foreground: #193c38;
  --secondary: #e9f4ef;
  --secondary-foreground: #164b37;
  --accent: #e1f3eb;
  --accent-foreground: #006532;
  --muted: #edf4f1;
  --muted-foreground: #546e68;
  --border: #d6e5df;
  --input: #b9d2c7;
  --sidebar: #103b35;
  --sidebar-foreground: #e0eee7;
  --sidebar-accent: #185445;
  --sidebar-accent-foreground: #fff;
  --sidebar-border: #326054;
  --radius: .8rem;
}
body {
  background: linear-gradient(135deg,#f0f8f3,#f1f8fb 70%,#fffced);
  color: #193c38;
}
.main {
  max-width: 1540px;
}
.heading h1 {
  color: #163d33;
}
.eyebrow {
  color: #007a35;
}
.topbar {
  border-bottom: 1px solid #d5e6de;
}
.topbar:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg,#009640 0 40%,#00a3df 40% 73%,#e71920 73% 88%,#ffed00 88%);
}
.industrial-sidebar {
  --sidebar: #103b35;
  background: #103b35;
}
.industrial-sidebar [data-active=true] {
  background: linear-gradient(110deg,#007a35,#087975) !important;
  border-left: 3px solid #ffed00 !important;
  color: #fff !important;
}
.industrial-sidebar [data-slot=sidebar-menu-button] {
  font-size: 15px;
  min-height: 48px;
}
.industrial-sidebar [data-slot=sidebar-menu-button]:hover {
  background: #205547;
}
.brand-logo {
  width: 60px;
  height: 60px;
  background: #fff;
  padding: 7px;
}
.workspace {
  color: #bce2cb;
}
.main [data-slot=button] {
  min-height: 44px;
  border-radius: 12px;
  font-weight: 650;
}
.main [data-slot=button][data-variant=default] {
  box-shadow: 0 4px 12px #007a351a;
}
.panel,.sitecard,.stat {
  border: 1px solid #d9e7e0;
  border-radius: 18px;
  box-shadow: 0 5px 22px #103b3507;
}
.sitecard {
  border-top: 4px solid #009640 !important;
}
.sitecard:nth-child(3n+2) {
  border-top-color: #00a3df !important;
}
.sitecard:nth-child(3n) {
  border-top-color: #e3ca00 !important;
}
.sitecard:before {
  display: none;
}
.sitecard:hover {
  border-color: #8ccbb0;
  box-shadow: 0 12px 30px #17463412;
}
.siteicon {
  background: #e4f5eb;
  color: #007a35;
}
.sitecard:nth-child(3n+2) .siteicon {
  background: #e1f4fc;
  color: #007caa;
}
.stat:nth-child(1) {
  border-top: 4px solid #009640;
  background: linear-gradient(135deg,#fff,#eaf8ee);
}
.stat:nth-child(2) {
  border-top: 4px solid #00a3df;
  background: linear-gradient(135deg,#fff,#eaf7fd);
}
.stat:nth-child(3) {
  border-top: 4px solid #e71920;
  background: linear-gradient(135deg,#fff,#fff1f1);
}
.stat:nth-child(4) {
  border-top: 4px solid #e5ce00;
  background: linear-gradient(135deg,#fff,#fffce2);
}
.stat span {
  color: #45635b;
  font-size: 14px;
}
.stat strong {
  color: #183e33;
}
.main [data-slot=tabs-list] {
  background: #e7f1ed;
  border-color: #d2e4db;
}
.main [data-slot=tabs-trigger] {
  font-size: 15px;
}
.main [data-slot=tabs-trigger][data-state=active] {
  background: #007a35;
  color: #fff;
  box-shadow: 0 3px 10px #007a3520;
}
.site-more-sections {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: -8px 0 22px;
  font-size: 14px;
  color: #42655b;
}
.site-more-sections select {
  background: white;
  border: 1px solid #c7ddd2;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 16px;
  min-height: 44px;
  max-width: 100%;
}
.field {
  font-size: 15px;
}
.field input,.field textarea,.field select {
  font-size: 16px;
  border: 1px solid #bfd6ca;
  border-radius: 10px;
  padding: 11px 12px;
  min-height: 46px;
  background: white;
  color: #193c38;
}
.field input:focus,.field textarea:focus,.field select:focus {
  outline: 2px solid #00964055;
  outline-offset: 2px;
}
.direction-site,.manager-card,.today-compact-row {
  border-radius: 16px;
  border-color: #d2e4da;
}
.today-home-tabs [role=tab][data-state=active],.today-home-tabs [role=tab][aria-selected=true] {
  background: #007a35;
  color: white;
}
.attendance-export-card {
  border-top-color: #009640;
  background: #eff9f2;
}
.attendance-export-label {
  color: #006f31;
}
.attendance-export-card.complete {
  border-top-color: #00a3df;
  background: #edf8fd;
}
.work-welcome {
  border-radius: 22px;
}
.work-welcome h2 {
  font-size: clamp(26px,3.4vw,42px);
  line-height: 1.15;
}
.work-welcome p {
  font-size: 16px;
  line-height: 1.6;
}
.crew-actions {
  margin: 24px 0;
}
.crew-actions .field {
  width: min(100%,360px);
}
.crew-action-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.crew-action {
  position: relative;
  border: 1px solid #bddbc9;
  border-radius: 18px;
  padding: 22px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #e7f6ed;
  color: #075f30;
  min-height: 160px;
  transition: transform .15s,box-shadow .15s;
}
.crew-action strong {
  font-size: 18px;
  line-height: 1.25;
}
.crew-action span {
  font-size: 14px;
}
.crew-action.tone-1 {
  background: #e2f5fd;
  border-color: #b5e0f2;
  color: #006b93;
}
.crew-action.tone-2 {
  background: #fffbdc;
  border-color: #eadea2;
  color: #655500;
}
.crew-action.tone-3 {
  background: #fff0ef;
  border-color: #f0c5c1;
  color: #a02329;
}
.crew-action:not(:disabled):hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px #123f3518;
}
.crew-action:disabled {
  opacity: .65;
  cursor: not-allowed;
}
.action-arrow {
  position: absolute;
  right: 18px;
  top: 24px;
}
.visits {
  max-width: 1180px;
  margin: auto;
}
.visits-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
}
.visits-heading h2 {
  font-size: 32px;
  font-weight: 750;
  margin: 6px 0;
}
.visits-heading p {
  font-size: 16px;
  color: #4c6d63;
}
.visit-search {
  max-width: 480px;
  margin-bottom: 22px;
}
.visit-list {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr));
  gap: 18px;
}
.visit-card {
  background: white;
  border: 1px solid #cee5d8;
  border-top: 5px solid #009640;
  border-radius: 18px;
  padding: 24px;
  text-align: left;
  box-shadow: 0 6px 20px #163d3308;
  position: relative;
}
.visit-card:nth-child(even) {
  border-top-color: #00a3df;
}
.visit-card h3 {
  font-size: 21px;
  margin: 18px 0 8px;
  overflow-wrap: anywhere;
}
.visit-card p {
  font-size: 16px;
  margin: 8px 0;
}
.visit-card small {
  font-size: 14px;
  color: #59756a;
}
.visit-icon {
  display: inline-flex;
  border-radius: 12px;
  background: #e5f5eb;
  color: #007a35;
  padding: 12px;
}
.visit-card .badge {
  float: right;
  background: #eff6f2;
  color: #346c52;
}
.visit-open {
  display: block;
  color: #007a35;
  font-weight: 700;
  margin-top: 18px;
}
.visit-empty {
  padding: 40px 24px;
  border: 1px dashed #abd5c0;
  background: #f5fbf7;
  border-radius: 18px;
  text-align: center;
  color: #47665b;
}
.visit-empty>svg {
  margin: 0 auto 16px;
  color: #007a35;
}
.visit-empty h3 {
  font-size: 22px;
}
.visits-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.visits-toolbar>span {
  flex: 1;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.visit-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 20px;
}
.visit-steps button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px;
  border: 1px solid #cde1d5;
  border-radius: 12px;
  background: white;
  color: #46665a;
  font-size: 16px;
  font-weight: 650;
}
.visit-steps button.active {
  background: #007a35;
  color: white;
  border-color: #007a35;
  box-shadow: 0 5px 18px #007a3522;
}
.visit-fields {
  border: 0;
  padding: 0;
  min-width: 0;
}
.visit-fields .panel {
  margin-bottom: 20px;
}
.visit-fields h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 22px;
  margin-bottom: 14px;
}
.visit-fields p {
  font-size: 16px;
  line-height: 1.6;
  margin: 12px 0;
}
.visit-fields .field {
  margin-bottom: 16px;
}
.visit-fields textarea {
  width: 100%;
  resize: vertical;
}
.visit-upload {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 12px;
  border: 2px dashed #8fcbb0;
  background: #f1faf5;
  border-radius: 16px;
  padding: 24px;
  cursor: pointer;
  margin: 20px 0;
  text-align: center;
}
.visit-upload svg {
  color: #007a35;
}
.visit-upload input {
  max-width: 100%;
  font-size: 14px;
}
.visit-upload span {
  font-size: 14px;
  color: #58776b;
}
.visit-photo-detail {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #e0ece5;
  flex-wrap: wrap;
}
.visit-photo-detail>span {
  flex: 1;
  min-width: 150px;
  overflow-wrap: anywhere;
}
.visit-photo-detail small {
  display: block;
  font-size: 14px;
  color: #57766a;
}
.visit-check {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  margin: 14px 0;
}
.visit-check input {
  width: 22px;
  height: 22px;
  accent-color: #007a35;
}
.visit-map {
  width: 100%;
  height: 340px;
  border: 1px solid #cee1d5;
  border-radius: 14px;
  margin: 16px 0;
}
.visit-fields summary {
  font-size: 16px;
  font-weight: 650;
  padding: 15px 0;
  cursor: pointer;
}
.visits-progress {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px;
  border-radius: 12px;
  background: #e1f4fb;
  color: #006e91;
  margin: 12px 0;
}
.visit-print {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  border-top: 1px solid #d5e5dc;
  padding-top: 20px;
}
.visit-print a {
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid #a8cdb8;
  color: #006f34;
  font-weight: 650;
}
.visit-print a[aria-disabled=true] {
  opacity: .5;
  cursor: not-allowed;
}
.visit-report textarea {
  line-height: 1.6;
}
.visits [disabled] {
  cursor: wait;
}
.crew-actions+.stats {
  margin-top: 24px;
}
@media (max-width:800px) {
  .crew-action-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .crew-actions .sectiontitle {
    flex-direction: column;
    align-items: stretch;
  }
  .crew-actions .field {
    width: 100%;
  }
  .site-more-sections {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }
  .visits-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .visits-heading h2 {
    font-size: 28px;
  }
  .visit-steps button {
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding: 12px 6px;
    font-size: 14px;
  }
  .visits-toolbar {
    flex-wrap: wrap;
  }
  .visits-toolbar>span {
    min-width: 150px;
  }
  .visit-fields .formgrid {
    grid-template-columns: 1fr;
  }
  .visit-fields .sectiontitle {
    flex-direction: column;
    align-items: flex-start;
  }
  .crew-action {
    padding: 18px;
    min-height: 158px;
  }
  .crew-action strong {
    font-size: 16px;
  }
  .main [data-slot=tabs-list] {
    gap: 4px;
  }
  .main [data-slot=tabs-trigger] {
    font-size: 14px;
    padding: 10px 12px;
  }
  .visit-map {
    height: 290px;
  }
}
.crew-summary {
  margin: 20px 0;
}
.crew-summary>summary {
  padding: 16px 18px;
  border: 1px solid #d4e6dc;
  border-radius: 12px;
  background: #fff;
  font-size: 16px;
  font-weight: 650;
  cursor: pointer;
  color: #285b46;
}
.crew-summary[open]>summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.crew-actions:first-child {
  margin-top: 0;
}
.crew-summary .stats {
  margin-top: 14px;
}
.photo-viewer-stage {
  touch-action: none;
  padding: 0;
  user-select: none;
  -webkit-user-select: none;
  overscroll-behavior: contain;
}
.photo-viewer-stage img {
  pointer-events: none;
  flex-shrink: 0;
  transform-origin: center;
  will-change: transform;
}
.photo-viewer-zoom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
  padding: 8px 0;
  color: #d8e3f0;
  font-size: 13px;
}
.photo-viewer-zoom button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #607086;
  border-radius: 10px;
  color: white;
  background: #1c2839;
  font-size: 14px;
}
.visit-client-scan {
  margin: 16px 0 24px;
  padding: 18px;
  border: 1px solid #93d9bc;
  border-radius: 16px;
  background: #effaf5;
}
.visit-client-scan .doclink {
  cursor: pointer;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.visit-client-scan p {
  margin: 10px 0;
}
.economy-register .field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 12px 0;
}
.economy-register input,.economy-register select,.economy-register textarea {
  padding: 10px;
  min-height: 44px;
  border: 1px solid #a8cdb8;
  border-radius: 8px;
  max-width: 100%;
}
.economy-person {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
  margin: 12px 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
}
.economy-person label {
  display: grid;
  gap: 6px;
}
.economy-person select {
  flex: 1 1 220px;
  min-width: 0;
}
.economy-person input {
  width: 100px;
}
.economy-register fieldset {
  margin-top: 20px;
}
@media (max-width:650px) {
  .economy-person {
    flex-wrap: wrap;
  }
  .economy-person select {
    flex-basis: 100%;
  }
}
.field-tabs {
  display: flex;
  gap: 5px;
  padding: 6px;
  background: #e6f0eb;
  border: 1px solid #c8dfd2;
  border-radius: 15px;
  margin: 0 0 18px;
  flex-wrap: wrap;
}
.field-tabs button {
  flex: 1;
  min-width: 60px;
}
.field-current {
  font-size: 20px;
  font-weight: 700;
  margin: 14px 0;
}
.field-start {
  max-width: 780px;
}
.field-start h2 {
  font-size: 24px;
  margin: 6px 0 18px;
}
.field-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.field-grid .field-tile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 9px;
  padding: 22px;
  height: auto;
  min-height: 142px;
  white-space: normal;
  text-align: left;
  border-radius: 18px;
  background: #fff;
}
.field-tile strong {
  font-size: 18px;
}
.field-tile span {
  font-size: 14px;
  color: #526961;
  font-weight: 400;
}
.field-tile svg {
  color: #00814b;
}
.field-tile.field-tone-1 {
  background: #eef7ff;
  border-color: #c3dbee;
}
.field-tone-1 svg {
  color: #126fa2;
}
.field-tile.field-tone-3 {
  background: #fff5ef;
  border-color: #eddbce;
}
.field-tone-3 svg {
  color: #a75221;
}
.field-economy {
  display: flex !important;
  justify-content: space-between !important;
  width: 100%;
  height: auto !important;
  padding: 16px !important;
  margin: 14px 0;
  white-space: normal !important;
}
.field-economy span {
  text-align: left;
  flex: 1;
}
.field-economy small {
  display: block;
  color: #577168;
  font-size: 14px;
  font-weight: 400;
  margin-top: 4px;
}
.field-section-dialog section {
  margin: 14px 0;
}
.field-section-dialog h3 {
  font-size: 14px;
  color: #597167;
  margin: 10px 0;
}
.field-section-dialog section button {
  display: flex;
  width: 100%;
  justify-content: space-between;
  min-height: 48px;
  border-bottom: 1px solid #e2ebe6;
  border-radius: 0;
}
.field-bottom {
  display: none;
}
.field-primary-action {
  margin: 0 0 16px;
}
.field-hours-actions h2 {
  margin: 0 0 14px;
}
.field-hours-actions details {
  margin-top: 14px;
}
.field-hours-actions summary {
  padding: 10px 0;
  cursor: pointer;
  color: #486b5b;
}
.quick-photos .field[hidden] {
  display: none;
}
@media (max-width:767px) {
  .field-main {
    padding: 18px 14px calc(100px + env(safe-area-inset-bottom)) !important;
  }
  .field-main .heading {
    margin-bottom: 18px;
    gap: 8px;
  }
  .field-main .heading h1 {
    font-size: 26px;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  .field-in-site .heading>div>p {
    font-size: 14px;
    line-height: 1.5;
  }
  .field-in-site .heading .eyebrow {
    display: none;
  }
  .field-in-site .heading>.actions {
    width: 100%;
    justify-content: flex-end;
  }
  .field-main .panel {
    padding: 16px;
    border-radius: 16px;
  }
  .field-main input:not([type=checkbox]):not([type=radio]),.field-main select,.field-main textarea {
    font-size: 16px !important;
    max-width: 100%;
    min-height: 48px;
  }
  .field-main .formgrid {
    grid-template-columns: minmax(0,1fr);
  }
  .field-main .listrow {
    flex-wrap: wrap;
    gap: 10px;
  }
  .field-main .listrow>div {
    min-width: 0;
    max-width: 100%;
  }
  .field-main .listrow button {
    min-height: 48px;
  }
  .field-tabs {
    flex-wrap: nowrap;
    gap: 2px;
    padding: 4px;
    margin-bottom: 16px;
  }
  .field-tabs button {
    padding: 10px 6px !important;
    font-size: 14px !important;
    min-width: 0;
    min-height: 48px !important;
    gap: 4px;
  }
  .field-tabs button svg {
    display: none;
  }
  .field-grid {
    gap: 10px;
  }
  .field-grid .field-tile {
    padding: 17px;
    min-height: 138px;
  }
  .field-tile strong {
    font-size: 17px;
    line-height: 1.25;
  }
  .field-tile span {
    line-height: 1.35;
  }
  .field-start>button:last-child {
    white-space: normal;
    width: 100%;
    height: auto;
  }
  .field-bottom {
    position: fixed;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    bottom: 0;
    left: 0;
    right: 0;
    padding: 7px 10px calc(7px + env(safe-area-inset-bottom));
    background: #fff;
    border-top: 1px solid #d6e4db;
    box-shadow: 0 -5px 20px #153c3509;
    z-index: 25;
  }
  .field-bottom button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    min-height: 52px;
    border-radius: 12px;
    color: #577168;
    font-size: 12px;
    font-weight: 650;
  }
  .field-bottom button[aria-current=page] {
    background: #e4f4eb;
    color: #006936;
  }
  .field-hours-actions .actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .field-hours-actions button {
    white-space: normal;
    height: auto;
    min-height: 52px !important;
  }
  .crew-action-grid {
    gap: 10px;
  }
  .crew-action {
    min-height: 130px !important;
    padding: 16px !important;
    gap: 8px !important;
  }
  .crew-action span {
    line-height: 1.35;
  }
  .crew-action .action-arrow {
    display: none;
  }
  .field-main .filterbar {
    gap: 12px;
    flex-wrap: wrap;
  }
  .field-main .filterbar input {
    width: 100%;
  }
  .field-main .back {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .field-main .sitecard {
    padding: 18px;
  }
  .app-dialog-panel.formdialog {
    padding: 22px 16px !important;
    border-radius: 20px !important;
  }
  .app-dialog-panel input,.app-dialog-panel select,.app-dialog-panel textarea {
    font-size: 16px !important;
  }
  .app-dialog-panel [data-slot=button] {
    min-height: 48px;
  }
  .app-dialog-panel .formgrid {
    grid-template-columns: minmax(0,1fr);
  }
}
:root {
  color-scheme: light;
  --background: #f3f6f3;
  --foreground: #203c34;
  --card: #fff;
  --card-foreground: #203c34;
  --popover: #fff;
  --popover-foreground: #203c34;
  --primary: #08754c;
  --primary-foreground: #fff;
  --secondary: #e9f1ec;
  --secondary-foreground: #244c3d;
  --muted: #eef3ef;
  --muted-foreground: #566d61;
  --accent: #e2f1e8;
  --accent-foreground: #075e3c;
  --border: #dbe5dd;
  --input: #c5d3c9;
  --ring: #08754c;
  --radius: .875rem;
  --sidebar: #123c32;
  --sidebar-foreground: #e0eee5;
  --sidebar-primary: #c5edaa;
  --sidebar-primary-foreground: #123c32;
  --sidebar-accent: #245346;
  --sidebar-accent-foreground: #fff;
  --sidebar-border: #386154;
  --sidebar-ring: #c5edaa;
  --destructive: #b63335;
}
body {
  background: var(--background);
  color: var(--foreground);
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
h1,h2,h3 {
  letter-spacing: -.025em;
  text-wrap: balance;
}
h1 {
  font-weight: 750;
}
h2 {
  font-size: 1.25rem;
}
h3 {
  font-size: 1.125rem;
}
.muted,.heading p {
  color: #566d61;
}
.eyebrow {
  color: #527262;
  letter-spacing: .11em;
}
.main {
  padding: 30px 34px;
  max-width: 1480px;
}
.heading {
  margin-bottom: 24px;
}
.heading h1 {
  margin: 6px 0 8px;
}
.heading p {
  font-size: 15px;
}
.main>.heading>.actions {
  flex-wrap: wrap;
}
[data-slot=sidebar-inset] {
  background: transparent;
}
.industrial-sidebar [data-slot=sidebar-inner],.industrial-sidebar [data-slot=sidebar] {
  background: var(--sidebar);
}
.brand {
  padding: 23px 12px 20px;
  letter-spacing: .09em;
  color: #fff;
}
.brand small {
  letter-spacing: .18em;
  color: #c8dbcf;
}
.workspace {
  color: #bad1c2;
  padding-bottom: 12px;
  font-size: 12px;
}
.brand-logo {
  background: white;
  padding: 5px;
  border-radius: 14px;
  object-fit: contain;
}
.industrial-sidebar [data-slot=sidebar-content] {
  padding: 0 14px;
}
.industrial-sidebar [data-active=true], [data-mobile=true] [data-active=true] {
  background: #d1efbb !important;
  color: #153d2d !important;
  border-left: 0;
  box-shadow: inset 0 0 0 1px #dbf6c9;
}
.industrial-sidebar [data-slot=sidebar-menu-button] {
  height: 46px;
  margin: 2px 0;
  padding: 12px;
  border-radius: 11px;
}
.industrial-sidebar [data-slot=sidebar-menu-button]:hover {
  background: #285548;
  color: #fff;
}
.workspace-menu-group {
  margin: 14px 0 5px;
}
.workspace-menu-group h2 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #bbd2c3;
  padding: 0 12px 7px;
}
.workspace-search {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 8px;
  padding: 0 10px;
  border: 1px solid #648575;
  border-radius: 11px;
  background: #ffffff0a;
  color: #dceade;
}
.workspace-search input {
  font-size: 16px;
  min-width: 0;
  width: 100%;
  height: 44px;
  outline: 0;
  background: transparent;
  color: #fff;
}
.workspace-search input::placeholder {
  color: #c3d5c9;
}
.workspace-search button {
  min-height: 44px;
  min-width: 32px;
  display: grid;
  place-items: center;
}
.workspace-search input::-webkit-search-cancel-button {
  display: none;
}
.menu-empty {
  padding: 12px;
  color: #d2e1d7;
  font-size: 14px;
}
.sidebar-note {
  display: none;
}
.profile {
  border-color: #416253;
  padding: 16px 12px;
  align-items: center;
}
.profile>span {
  background: #d1efbb;
  color: #153d2d;
  min-width: 42px;
  text-align: center;
  font-weight: 700;
}
.profile small {
  color: #c0d5c7;
}
.navcount {
  background: #8f3929;
  color: #fff;
  border-radius: 7px;
}
.topbar {
  background: #ffffffed;
  border-bottom: 1px solid var(--border);
  height: 72px;
  padding: 0 34px;
  backdrop-filter: blur(12px);
}
.topbar-logo {
  object-fit: contain;
}
.topbar-brand {
  color: #244537;
  font-weight: 700;
}
.topbar .muted {
  font-weight: 400;
}
.topbar .date {
  color: #566d61;
}
.back {
  color: #116a49;
  min-height: 40px;
  margin-bottom: 8px;
  font-weight: 600;
}
.back:hover {
  text-decoration: underline;
}
.panel,.sitecard,.entry {
  border-color: var(--border);
  border-radius: 18px;
  box-shadow: 0 3px 13px #183c2605;
  background: #fff;
}
.panel {
  padding: 24px;
}
.panel .panel {
  box-shadow: none;
}
.sitecard {
  padding: 22px;
  transition: border-color .16s,box-shadow .16s;
}
.sitecard:hover {
  border-color: #8db69e;
  box-shadow: 0 8px 25px #193d2910;
}
.sitecard h3 {
  font-size: 20px;
  line-height: 1.3;
}
.sitecard p,.sitecard footer,.entry footer {
  color: #566d61;
}
.siteicon {
  background: #eaf4eb;
  color: #15714a;
  border-radius: 12px;
}
.badge {
  background: #edf3ef;
  color: #3c6050;
  border-radius: 7px;
  font-size: 13px;
  line-height: 1.4;
  white-space: normal;
}
.badge.warn {
  background: #fff0db;
  color: #8b4c0d;
}
.stat {
  border-radius: 16px;
  border-color: var(--border);
  padding: 18px;
  box-shadow: none;
}
.stat strong {
  font-size: 30px;
  letter-spacing: -.04em;
  color: #1c513b;
}
.stat span {
  color: #567060;
}
.stat svg {
  color: #47785d;
}
.stats {
  gap: 14px;
  margin: 22px 0;
}
.worklines [data-slot=progress],.detailprogress [data-slot=progress] {
  background: #e9f0ea;
}
.sitehours {
  background: #edf5ee;
  border-color: #cddfcf;
}
.sitehours span,.sitehours small {
  color: #486b55;
}
[data-slot=button] {
  border-radius: 11px;
  min-height: 44px;
  font-size: 14px;
  font-weight: 650;
  transition: background-color .15s,color .15s,box-shadow .15s;
  max-width: 100%;
}
button:disabled {
  opacity: .5;
}
[data-slot=button]:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline: 3px solid #19825b;
  outline-offset: 3px;
}
.actions {
  flex-wrap: wrap;
  align-items: center;
}
.field {
  font-size: 14px;
  gap: 8px;
}
.field input,.field select,.field textarea,.filterbar input,.hoursinput,.ops .field input {
  border-color: var(--input);
  border-radius: 10px;
  background: #fff;
  color: #213c31;
  font-size: 16px;
  padding: 11px 12px;
  min-height: 46px;
}
.field select {
  width: 100%;
  min-width: 0;
}
.field textarea {
  min-height: 100px;
}
.field input:focus,.field textarea:focus,.field select:focus {
  border-color: #08754c;
  box-shadow: 0 0 0 3px #08754c14;
}
.formgrid {
  gap: 18px;
}
.upload,.daily-plan-file {
  background: #f7faf7;
  border-color: #a4bfac;
  border-radius: 14px;
}
.doclink {
  color: #086b47;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 8px;
  font-weight: 600;
}
.accessnote {
  background: #edf4ef;
  color: #3d604c;
  border: 1px solid #dbe7dd;
  border-radius: 12px;
  line-height: 1.6;
}
.error {
  background: #fff0ed;
  color: #962d2e;
  border: 1px solid #edc7c1;
  border-radius: 12px;
}
.success {
  background: #e6f5e9;
  color: #216337;
  border: 1px solid #bddfc7;
  border-radius: 12px;
}
.empty {
  padding: 44px 24px;
}
.empty h3 {
  color: #203c34;
}
.empty svg {
  color: #538269;
}
.comment {
  background: #f2f6f2;
  border-radius: 12px;
}
.listrow {
  border-color: #e5ece5;
}
.listrow small {
  color: #587062;
}
.main details>summary {
  cursor: pointer;
  min-height: 48px;
  padding: 12px 0;
  font-weight: 600;
  line-height: 1.5;
}
.main details[open]>summary {
  margin-bottom: 10px;
}
.main details>summary::marker {
  color: #437a56;
}
.ops [data-slot=table-head] {
  background: #f1f6f1;
  color: #3d5b47;
  font-weight: 650;
}
.ops [data-slot=table-cell] {
  border-color: #e3ebe3;
}
.ops [data-slot=table-row]:hover {
  background: #f7faf6;
}
.ops [data-slot=table-container] {
  border-radius: 12px;
  border: 1px solid var(--border);
}
.today-home-tabs {
  background: #e8efe8 !important;
  border: 1px solid #d6e2d6;
  border-radius: 14px !important;
  padding: 5px !important;
  height: auto !important;
  gap: 4px !important;
}
.today-home-tabs [data-slot=tabs-trigger] {
  min-height: 46px;
  border-radius: 10px;
  font-size: 15px;
  color: #44604c;
}
.today-home-tabs [data-state=active] {
  background: #fff !important;
  color: #075f3d !important;
  box-shadow: 0 2px 6px #1e492312 !important;
}
.today-compact-row {
  border: 1px solid #dae4da !important;
  border-radius: 16px !important;
  background: #fff !important;
  overflow: hidden;
  margin-bottom: 10px;
}
.today-compact-row.attention {
  border-left: 4px solid #c88e2b !important;
}
.today-compact-row.urgent {
  border-left: 4px solid #b6433b !important;
}
.today-compact-row.clear {
  border-left: 4px solid #639773 !important;
}
.today-row-status {
  font-size: 13px;
  background: #edf3ee;
  border-radius: 7px;
  padding: 4px 8px;
  color: #3b6048;
}
.today-row-note {
  color: #536b5b;
}
.today-intro h2 {
  font-size: 23px;
}
.today-intro p {
  font-size: 14px;
  color: #587060;
}
.today-filters input {
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--input);
  min-height: 44px;
  padding: 10px 12px;
}
.today-followup-link {
  background: #edf4e8;
  border-color: #d3e3cb;
  border-radius: 13px;
  color: #285b3b;
}
.direction-section {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  margin-top: 14px;
  padding: 0 18px;
}
.direction-section[open] {
  padding-bottom: 18px;
}
.field-tabs {
  background: #e7eee7;
  border: 1px solid #d2dfd2;
  border-radius: 14px;
  padding: 5px;
  gap: 4px;
}
.field-tabs [data-slot=button] {
  border-radius: 10px;
}
.field-start h2 {
  font-size: 25px;
}
.field-grid .field-tile,.crew-action {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 18px !important;
  box-shadow: 0 3px 10px #22452704;
}
.field-grid .field-tile:hover,.crew-action:hover {
  background: #f5faf3 !important;
  border-color: #83ac8b !important;
}
.field-tile svg,.crew-action svg {
  color: #08754c !important;
  background: #eaf4e5;
  box-sizing: content-box;
  padding: 10px;
  border-radius: 13px;
}
.field-tile strong,.crew-action strong {
  color: #234735;
}
.field-tile span,.crew-action span {
  color: #54705b;
}
.field-economy {
  background: #eaf3e5 !important;
  border-color: #cbdfc5 !important;
  border-radius: 14px;
}
.field-economy svg {
  color: #286b45;
}
.field-economy small {
  color: #4b6852;
}
.field-current {
  font-size: 21px;
  margin: 18px 0;
}
.field-section-dialog h3 {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #54725d;
}
.field-section-dialog section button:hover {
  background: #edf5e8;
}
.field-section-dialog .field {
  margin: 14px 0;
}
.quick-photo-actions {
  gap: 12px;
}
.quick-photo-preview {
  padding: 12px 0;
}
.quick-photo-preview img,.photos img {
  border-radius: 12px;
}
.quick-photo-submit {
  min-height: 52px !important;
  width: 100%;
  margin: 12px 0;
}
.crew-actions .sectiontitle {
  align-items: flex-end;
}
.crew-actions .field {
  min-width: 260px;
}
.crew-summary {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 0 18px;
  background: white;
  margin-top: 14px;
}
.app-dialog-backdrop {
  background: #10291f85;
  backdrop-filter: blur(3px);
}
.app-dialog-panel:not(.photo-viewer) {
  border: 1px solid #d5e2d6;
  border-radius: 22px !important;
  box-shadow: 0 24px 90px #0d291c33;
  background: #fff;
  color: #203c34;
}
.app-dialog-panel:not(.photo-viewer) [data-slot=dialog-title] {
  font-size: 23px;
  padding-right: 35px;
}
.app-dialog-close {
  border: 1px solid #cddccf;
  background: #eef4ee;
  color: #28513a;
  border-radius: 50%;
  min-width: 44px;
  min-height: 44px;
}
.app-dialog-panel .field {
  margin-top: 4px;
}
.app-dialog-panel [data-slot=dialog-description] {
  font-size: 15px;
  color: #586e60;
}
.formdialog .actions {
  gap: 10px;
}
.program-replace {
  background: #f2f7ef !important;
  border-color: #c8dac1 !important;
}
.program-saved {
  border-radius: 14px;
}
.program-person-editor {
  border-color: #d5e2d5;
}
.schedule-site-card {
  border-color: #d5e2d5;
  border-radius: 16px;
}
.notification-panel {
  border-radius: 20px !important;
}
.notification-item.is-new {
  background: #eff7e9;
}
.notification-new {
  background: #deefce;
  color: #356226;
}
.notification-message {
  background: #eef5e9;
  color: #345940;
}
.workspace-loading {
  text-align: center;
  min-height: 230px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.workspace-loading p {
  color: #5b715f;
}
.loading-indicator {
  width: 30px;
  height: 30px;
  border: 3px solid #deeadf;
  border-top-color: #08754c;
  border-radius: 50%;
  animation: iswork-loading .8s linear infinite;
}
@keyframes iswork-loading {
  to {
    transform: rotate(360deg);
  }
}
.connection-status {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
  background: #fff1d8;
  color: #805116;
  border: 1px solid #e8ce9e;
  border-radius: 13px;
}
.connection-status svg {
  flex-shrink: 0;
}
.pagefooter {
  color: #607565;
  border-top: 1px solid var(--border);
}
.login-page {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 32px 20px;
  background: #edf3ec;
}
.login-card {
  width: 100%;
  max-width: 440px;
  padding: 34px;
  border-radius: 24px;
  border: 1px solid #d9e4d6;
  background: #fff;
  box-shadow: 0 16px 60px #2947300b;
}
.login-card>img {
  background: #fff;
  object-fit: contain;
}
.login-card h1 {
  margin-top: 20px;
  color: #204a32;
}
.login-card>p {
  color: #526e5b;
}
.login-card [data-slot=input-otp-slot] {
  height: 48px;
  width: 46px;
  font-size: 21px;
}
@media (max-width:767px) {
  .topbar {
    height: 66px;
    padding: 0 14px;
  }
  .field-main {
    padding: 20px 14px calc(100px + env(safe-area-inset-bottom)) !important;
  }
  .field-main .heading h1 {
    font-size: 28px;
  }
  .field-main .heading>div {
    max-width: 100%;
  }
  .field-main .heading>.actions {
    justify-content: flex-start;
  }
  .field-main .heading>.actions>button {
    min-height: 44px;
  }
  .field-main .panel {
    padding: 18px;
    border-radius: 17px;
  }
  .field-main .panel .panel {
    padding: 14px;
  }
  .stats {
    gap: 10px;
  }
  .stat {
    padding: 16px;
  }
  .stat strong {
    font-size: 27px;
  }
  .field-main .formgrid {
    gap: 16px;
  }
  .field-tabs button {
    min-height: 50px !important;
  }
  .field-tile strong {
    font-size: 17px;
  }
  .field-grid .field-tile {
    padding: 17px;
    min-height: 160px;
  }
  .field-grid .field-tile span {
    font-size: 14px;
  }
  .field-bottom {
    background: #fffffff5;
    backdrop-filter: blur(15px);
    border-top-color: #dbe5d8;
    box-shadow: 0 -4px 24px #19372108;
  }
  .field-bottom button {
    font-size: 13px;
    color: #54705c;
  }
  .field-bottom button[aria-current=page] {
    color: #175e36;
    background: #e7f2df;
  }
  .field-bottom button svg {
    width: 23px;
    height: 23px;
  }
  .today-home-tabs {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    width: 100%;
  }
  .today-home-tabs [data-slot=tabs-trigger] {
    font-size: 14px !important;
    white-space: normal;
    line-height: 1.25;
    padding: 10px 5px !important;
  }
  .today-filters {
    flex-wrap: wrap;
  }
  .today-filters input {
    flex-basis: 100%;
    width: 100%;
    min-width: 0;
  }
  .today-compact-trigger {
    padding: 17px !important;
  }
  .today-row-top {
    flex-wrap: wrap;
    gap: 8px;
  }
  .today-row-top strong {
    font-size: 17px;
  }
  .today-row-note {
    font-size: 14px;
    line-height: 1.5;
  }
  .today-intro {
    margin-top: 18px;
  }
  .crew-actions .sectiontitle {
    display: block;
  }
  .crew-actions .field {
    min-width: 0;
    width: 100%;
    margin-top: 16px;
  }
  .crew-action {
    min-height: 164px !important;
  }
  .crew-action svg {
    width: 24px;
    height: 24px;
    padding: 9px;
  }
  .field-main .filterbar {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 12px;
  }
  .filterbar input {
    margin-left: 0;
    max-width: 100%;
  }
  .field-main .filterbar label {
    display: grid;
    gap: 7px;
    width: 100%;
  }
  .field-main .actions [data-slot=button] {
    white-space: normal;
    height: auto;
    min-height: 46px;
    line-height: 1.3;
    padding: 10px 14px;
  }
  .field-main .sectiontitle {
    flex-wrap: wrap;
  }
  .field-main .sectiontitle>* {
    min-width: 0;
    max-width: 100%;
  }
  .app-dialog-panel.formdialog {
    padding: 24px 18px !important;
    max-width: 100% !important;
  }
  .app-dialog-panel [data-slot=button] {
    white-space: normal;
    line-height: 1.35;
    height: auto;
    padding: 12px 14px;
  }
  .app-dialog-close {
    z-index: 2;
  }
  .workspace-menu-group h2 {
    color: #b9d2c3;
  }
  .login-card {
    padding: 28px 22px;
  }
  .pagefooter {
    display: none;
  }
  .field-main .sitegrid {
    gap: 14px;
  }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
@media print {
  .field-bottom,.topbar,.industrial-sidebar,.connection-status {
    display: none !important;
  }
  body {
    background: #fff;
  }
  .panel,.sitecard {
    box-shadow: none;
  }
}
.notification-dialog {
  width: min(560px,100%);
  max-height: min(800px,90dvh);
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 26px;
  overflow: hidden;
}
.notification-dialog .notification-title {
  padding-right: 38px;
}
.notification-dialog .notification-list {
  overflow-y: auto;
  min-height: 0;
  flex: 1;
}
.notification-dialog .notification-actions {
  flex-wrap: wrap;
}
.notification-dialog .notification-list-head {
  flex-wrap: wrap;
  gap: 8px;
}
.notification-dialog .notification-list-head button {
  white-space: normal;
  height: auto;
}
.notification-dialog .push-status {
  padding: 13px;
  border-radius: 12px;
}
.notification-dialog .push-status small {
  font-size: 14px;
}
.notification-dialog .notification-item {
  border-radius: 12px;
}
.notification-dialog .notification-message {
  border-radius: 12px;
  padding: 12px;
  font-size: 14px;
}
@media (max-width:767px) {
  .notification-dialog {
    max-height: 100%;
    padding: 22px 16px;
  }
  .notification-dialog .notification-actions button {
    flex: 1;
    min-width: 130px;
  }
  .notification-dialog .notification-copy strong {
    font-size: 16px;
  }
  .notification-dialog .notification-copy>span {
    font-size: 14px;
  }
}
.economy-optional {
  margin: 16px 0;
  padding: 0 14px;
  background: #f6f9f3;
  border: 1px solid #d6e3d0;
  border-radius: 12px;
}
.economy-optional[open] {
  padding-bottom: 14px;
}
.economy-register .visit-fields>h3 {
  font-size: 20px;
  margin: 24px 0 12px;
}
.economy-register .visit-fields>.actions {
  position: sticky;
  bottom: 0;
  background: #fff;
  padding: 14px 0;
  border-top: 1px solid var(--border);
  z-index: 1;
}
.economy-register .actions>label {
  display: grid;
  gap: 6px;
  font-size: 14px;
}
.economy-register .stats {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
@media (max-width:767px) {
  .economy-register .visit-fields>.actions {
    position: static;
  }
  .economy-register .visit-fields>.actions button {
    flex: 1;
    min-width: 120px;
  }
}
@media (max-width:767px) {
  .topbar {
    top: 0;
    height: calc(76px + env(safe-area-inset-top));
    min-height: calc(76px + env(safe-area-inset-top));
    padding: calc(env(safe-area-inset-top) + 10px) max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));
    box-sizing: border-box;
    grid-template-rows: 56px;
    align-items: center;
  }
  .topbar-brand {
    position: static;
    transform: none;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    justify-self: center;
  }
  .topbar>.mobile-menu-control {
    grid-column: 1;
    grid-row: 1;
  }
  .topbar>.notification-button {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    margin: 0;
  }
  [data-sidebar=sidebar][data-mobile=true] {
    height: 100dvh;
    max-height: 100dvh;
    padding-top: calc(env(safe-area-inset-top) + 8px) !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
    box-sizing: border-box;
    overflow: hidden;
  }
  [data-sidebar=sidebar][data-mobile=true] [data-slot=sidebar-header] {
    position: relative;
    flex-shrink: 0;
    padding: 8px 12px;
  }
  [data-sidebar=sidebar][data-mobile=true] .mobile-menu-close {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 44px;
    height: 44px;
    padding: 10px;
    color: #fff;
    background: #ffffff15;
    z-index: 1;
  }
  [data-sidebar=sidebar][data-mobile=true] .brand {
    padding: 12px 44px 16px 0;
    gap: 10px;
    letter-spacing: .06em;
  }
  [data-sidebar=sidebar][data-mobile=true] .brand-logo {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
  }
  [data-sidebar=sidebar][data-mobile=true] .brand small {
    font-size: 12px;
    letter-spacing: .08em;
    line-height: 1.4;
  }
  [data-sidebar=sidebar][data-mobile=true] .workspace {
    padding: 4px 0 8px;
    font-size: 12px;
  }
  [data-sidebar=sidebar][data-mobile=true] [data-slot=sidebar-content] {
    padding: 0 12px;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  [data-sidebar=sidebar][data-mobile=true] [data-slot=sidebar-footer] {
    padding: 8px 12px;
  }
  .workspace-search:focus-within {
    border-color: #c5edaa;
    box-shadow: 0 0 0 2px #c5edaa33;
  }
  .workspace-search input:focus-visible {
    outline: none;
    box-shadow: none;
  }
}
:root {
  --background: #eef4fa;
  --foreground: #173447;
  --primary: #076f73;
  --primary-foreground: #fff;
  --secondary: #e8f1f6;
  --secondary-foreground: #234c62;
  --muted: #edf3f8;
  --muted-foreground: #52697a;
  --accent: #dcf1ef;
  --accent-foreground: #075e62;
  --border: #d6e3ed;
  --input: #b8cbd9;
  --ring: #078a90;
  --sidebar: #112f42;
  --sidebar-foreground: #e6f2f8;
  --sidebar-accent: #204c60;
  --sidebar-border: #385a6c;
}
body {
  background: radial-gradient(ellipse at 90% 0%,#d3eaf3 0%,transparent 46%),radial-gradient(ellipse at 5% 55%,#e0eeff 0%,transparent 48%),linear-gradient(160deg,#f4f8fc,#eaf2f8);
  color: #173447;
  min-height: 100vh;
}
.field-main,.main {
  background: transparent;
}
.topbar {
  background: #ffffffed;
  border-bottom: 1px solid #d4e3ee;
  box-shadow: 0 4px 24px #173d5d08;
}
.field-main .panel,.main .panel {
  background: #fff;
  border: 1px solid #d8e5ee;
  box-shadow: 0 5px 24px #25496b07;
  border-radius: 20px;
}
.stat {
  background: linear-gradient(145deg,#fff,#f5faff);
  border: 1px solid #d2e3ee;
  border-radius: 18px;
}
.stat strong {
  color: #086b76;
}
.heading h1 {
  color: #16394c;
}
.heading p,.muted {
  color: #526b7c;
}
.eyebrow {
  color: #327386;
}
.field-tabs {
  background: #e4edf5;
  padding: 5px;
  border-radius: 15px;
}
.field-tabs button[aria-selected=true],.field-tabs button[data-state=active] {
  background: #fff !important;
  color: #096a76 !important;
  box-shadow: 0 2px 8px #143d5712;
}
.field-tile {
  background: linear-gradient(135deg,#fff,#edf8fb) !important;
  border-color: #cce1ed !important;
}
.field-tile svg {
  color: #087786;
}
.industrial-sidebar [data-slot=sidebar-inner],.industrial-sidebar [data-slot=sidebar] {
  background: linear-gradient(170deg,#143e52,#102c3d);
}
.industrial-sidebar [data-active=true],[data-mobile=true] [data-active=true] {
  background: #d6f2ed !important;
  color: #075c60 !important;
  box-shadow: none;
}
.industrial-sidebar [data-slot=sidebar-menu-button]:hover {
  background: #25536a;
}
.app-dialog-panel:not(.photo-viewer) {
  background: #fff;
  border-color: #cfdfeb;
}
.app-dialog-panel.formdialog .field {
  gap: 8px;
}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible {
  outline: 2px solid #079398;
  outline-offset: 2px;
}
.field input,.field textarea,.field select {
  border-color: #bfd1df;
  border-radius: 11px;
}
.field-bottom button[aria-current=page] {
  background: #def2f0;
  color: #08676d;
}
.login-page {
  background: radial-gradient(ellipse at top right,#c6e5f1,transparent 60%),linear-gradient(140deg,#eef5fc,#dceaf4);
}
.activity-picker {
  width: 100%;
  min-width: 0;
}
.activity-picker-trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  border: 1px solid #b8cedb;
  border-radius: 12px;
  padding: 12px;
  background: #f8fbfe;
  color: #173e50;
  text-align: left;
  font-size: 16px;
  line-height: 1.4;
}
.activity-picker-trigger>span {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.activity-picker-trigger svg {
  flex-shrink: 0;
  color: #167784;
}
.activity-picker-trigger:focus-visible {
  outline: 3px solid #65c7c8;
  outline-offset: 2px;
}
.activity-picker-search {
  margin-top: 8px;
  border: 1px solid #b4d8df;
  background: #fff;
  border-radius: 13px;
  padding: 10px;
  box-shadow: 0 8px 24px #173d5d0b;
}
.activity-picker-search [data-slot=input-group] {
  width: 100%;
  height: 48px;
  border-radius: 9px;
}
.activity-picker-search input {
  font-size: 16px !important;
  min-width: 0;
}
.activity-picker-search [data-slot=combobox-list] {
  max-height: min(32dvh,290px);
  overflow: auto;
  overscroll-behavior: contain;
  margin-top: 8px;
}
.activity-picker-search [data-slot=combobox-item] {
  min-height: 52px;
  padding: 13px 32px 13px 10px;
  font-size: 16px;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
  border-bottom: 1px solid #edf2f6;
}
.activity-picker-search [data-highlighted] {
  background: #def3ef;
}
.activity-picker-search small,.activity-picker-selected {
  display: flex;
  gap: 5px;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 400;
  color: #4c707e;
}
.activity-picker-search [data-slot=combobox-empty] {
  padding: 16px 8px;
  font-size: 15px;
}
.activity-picker-selected {
  color: #16706a;
}
@media (max-width:767px) {
  .field-main .panel {
    border-radius: 18px;
  }
  .activity-picker-search [data-slot=combobox-list] {
    max-height: 28dvh;
  }
  .app-dialog-panel.formdialog {
    background: linear-gradient(180deg,#f2f8fc 0,#fff 180px);
  }
  .field-main .heading h1 {
    font-size: 29px;
  }
  .field-main .actions [data-slot=button] {
    min-height: 50px;
  }
  .field-bottom {
    background: #ffffffef;
    border-color: #ccdeeb;
  }
  .activity-picker-trigger {
    min-height: 56px;
  }
}
@media print {
  body {
    background: #fff;
  }
  .panel,.stat {
    box-shadow: none;
  }
}
.activity-picker-search input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
.activity-picker-search [data-slot=input-group]:focus-within {
  border-color: #078a90;
  box-shadow: 0 0 0 3px #07939820;
}
.activity-picker-search [data-slot=combobox-empty]:empty {
  display: none;
}
.main {
  background: radial-gradient(ellipse at 5% 0%,#dff3fc88,transparent 55%),radial-gradient(ellipse at 95% 35%,#e5f5eb88,transparent 50%);
}
.crew-simple {
  max-width: 720px;
  margin: 0 auto;
}
.crew-welcome {
  padding: 26px;
  border-radius: 24px;
  background: linear-gradient(125deg,#115b73,#157e78);
  color: #fff;
  box-shadow: 0 12px 28px #145e7319;
}
.crew-welcome>span {
  font-size: 11px;
  letter-spacing: 1.3px;
  font-weight: 700;
}
.crew-welcome h2 {
  font-size: 30px;
  margin: 10px 0;
}
.crew-welcome p {
  color: #e1f4f6;
  margin: 0;
}
.crew-hour-state {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px;
  border-radius: 18px;
  margin: 18px 0;
  background: #fff4d9;
  color: #6b4a12;
}
.crew-hour-state.done {
  background: #e1f5e9;
  color: #165938;
}
.crew-hour-state small {
  display: block;
  margin-top: 4px;
}
.crew-site-choice {
  margin: 18px 0;
}
.crew-site-choice select {
  min-height: 54px;
  border-radius: 14px;
  background: white;
  font-size: 16px;
}
.crew-simple-actions {
  display: grid;
  gap: 14px;
}
.crew-simple-action {
  border: 1px solid #0000000b;
  border-radius: 20px;
  padding: 22px;
  min-height: 100px;
  display: flex;
  align-items: center;
  gap: 18px;
  text-align: left;
  width: 100%;
  transition: transform .15s,box-shadow .15s;
}
.crew-simple-action:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px #173a4514;
}
.crew-simple-action span {
  flex: 1;
}
.crew-simple-action strong {
  display: block;
  font-size: 21px;
}
.crew-simple-action small {
  display: block;
  font-size: 14px;
  margin-top: 5px;
}
.crew-simple-action.blue {
  background: #dcecff;
  color: #154c85;
}
.crew-simple-action.green {
  background: #dff4e8;
  color: #185c43;
}
.crew-simple-action.orange {
  background: #fff0db;
  color: #835018;
}
.crew-simple-action:disabled {
  opacity: .48;
  cursor: not-allowed;
}
.crew-more {
  padding: 18px;
  background: white;
  border: 1px solid #dde8ec;
  border-radius: 18px;
  margin: 18px 0;
}
.crew-more summary {
  font-weight: 700;
  cursor: pointer;
}
.crew-more>button {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 17px 4px;
  border-bottom: 1px solid #eaf0f2;
  text-align: left;
}
.crew-more>button:disabled {
  opacity: .5;
}
.worker-workspace .heading {
  margin-bottom: 18px;
}
.worker-workspace .heading>.eyebrow,.worker-workspace .heading>div>.eyebrow {
  display: none;
}
.worker-workspace .field-tabs {
  border-radius: 16px;
  background: #fff;
  padding: 7px;
}
.worker-workspace .field-grid {
  gap: 14px;
}
.worker-workspace .field-tile {
  min-height: 125px;
  border-radius: 18px;
}
.worker-workspace .field-tone-0 {
  background: #def4e9;
  color: #175b43;
}
.worker-workspace .field-tone-1 {
  background: #ddecff;
  color: #174f87;
}
.worker-workspace .field-tone-2 {
  background: #ede8ff;
  color: #51417e;
}
.worker-workspace .field-tone-3 {
  background: #fff0dc;
  color: #805018;
}
.hours-command {
  border: 1px solid #d7e7ed !important;
  background: linear-gradient(150deg,#f4faff,#fff 55%) !important;
  border-radius: 24px !important;
  padding: 24px !important;
  margin-bottom: 24px;
}
.hours-command-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: start;
}
.hours-command h2 {
  font-size: 26px;
}
.hours-command-heading p {
  color: #55707b;
}
.hours-command-heading .field {
  min-width: 165px;
}
.hours-status-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin: 20px 0;
}
.hours-status-grid button {
  display: flex;
  flex-direction: column;
  text-align: left;
  border: 2px solid transparent;
  border-radius: 18px;
  padding: 18px;
  gap: 4px;
}
.hours-status-grid button[aria-pressed=true] {
  border-color: currentColor;
  box-shadow: 0 3px 9px #15394512;
}
.hours-status-grid strong {
  font-size: 29px;
  line-height: 1.2;
}
.hours-status-grid span {
  font-size: 13px;
  font-weight: 600;
}
.hours-status-grid .missing {
  background: #fff0dd;
  color: #85501c;
}
.hours-status-grid .registered {
  background: #e0f4e9;
  color: #1a6548;
}
.hours-status-grid .all {
  background: #e0edff;
  color: #215886;
}
.hours-person-list {
  margin-top: 16px;
}
.hours-person-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: white;
  border: 1px solid #e1e9ec;
  border-left: 4px solid #3a9771;
  border-radius: 14px;
  padding: 16px;
  margin: 10px 0;
}
.hours-person-row.missing {
  border-left-color: #dc952e;
}
.hours-person-row.elsewhere {
  border-left-color: #5a83bb;
}
.hours-person-row strong {
  font-size: 16px;
}
.hours-state-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #28654c;
  margin: 4px 0;
}
.hours-person-row.missing .hours-state-label {
  color: #85501c;
}
.hours-person-row p {
  font-size: 14px;
  margin: 4px 0;
}
.hours-person-row small {
  display: block;
  color: #627680;
  margin: 3px 0;
}
.hours-empty {
  padding: 22px;
  border-radius: 14px;
  background: #eef5f8;
  color: #345867;
}
.hours-site-summary {
  padding: 16px 0;
  border-bottom: 1px solid #e6edef;
}
.hours-command input {
  font-size: 16px;
}
@media (max-width:640px) {
  .hours-command {
    padding: 16px !important;
  }
  .hours-command-heading {
    display: block;
  }
  .hours-command-heading h2 {
    font-size: 23px;
  }
  .hours-status-grid {
    gap: 7px;
  }
  .hours-status-grid button {
    padding: 12px 8px;
  }
  .hours-status-grid strong {
    font-size: 23px;
  }
  .hours-status-grid span {
    font-size: 11px;
  }
  .hours-person-row {
    align-items: stretch;
    flex-direction: column;
  }
  .hours-person-row button {
    align-self: flex-start;
  }
  .crew-welcome {
    padding: 22px;
  }
  .crew-simple-action {
    padding: 19px;
  }
  .crew-simple-action strong {
    font-size: 20px;
  }
}
.personal-greeting {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  margin-bottom: 18px;
  border-radius: 16px;
  background: linear-gradient(110deg,#e3f4ed,#e9f3ff);
  color: #123f36;
  border: 1px solid #c5e4d8;
}
.personal-greeting-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: #fff;
  color: #087952;
}
.personal-greeting p {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.personal-greeting strong {
  font-weight: 750;
}
.main.field-main {
  background-color: #edf3f8;
  background-image: linear-gradient(rgba(36,79,109,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(36,79,109,.028) 1px,transparent 1px),radial-gradient(ellipse at 95% 0%,#d8eaf4 0%,transparent 60%);
  background-size: 36px 36px,36px 36px,100% 900px;
  min-height: 100dvh;
}
.personal-greeting {
  background: linear-gradient(115deg,#102f49,#145c65);
  color: #fff;
  border: 0;
  box-shadow: 0 8px 24px #153f5414;
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-left: 5px solid #f0c85b;
}
.personal-greeting-icon {
  background: #ffffff18;
  color: #fff;
}
.personal-greeting p {
  font-size: 20px;
}
.personal-greeting strong {
  color: #fff;
}
.communication-tools {
  display: flex;
  gap: 12px;
  margin: -4px 0 22px;
  flex-wrap: wrap;
}
.communication-tools button {
  min-height: 50px;
  border-radius: 14px;
  font-size: 16px;
  padding: 12px 20px;
  box-shadow: 0 3px 10px #123c4e08;
}
.communication-tools button:first-child {
  background: #087459;
  color: white;
}
.communication-tools button:last-child {
  background: #fff;
  border: 1px solid #bad0e3;
  color: #194a7d;
}
.field-main .panel,.field-main .sitecard {
  box-shadow: 0 5px 18px #18394d06;
  border-color: #d8e3ed;
}
.crew-simple-action {
  box-shadow: 0 5px 16px #153f5409;
}
.chat-tools {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.site-chat .drawing-header {
  flex-wrap: wrap;
}
.site-chat .field {
  margin: 0;
}
.chat-messages {
  background: #edf3f8;
  border-radius: 14px;
  padding: 14px;
  min-height: 100px;
}
.chat-bubble {
  background: white;
  padding: 12px 14px;
  border-radius: 14px;
  margin: 0 auto 12px 0;
  max-width: 88%;
  width: fit-content;
  border: 1px solid #dae5ed;
}
.chat-bubble.mine {
  background: #dff3e9;
  margin: 0 0 12px auto;
  border-color: #bbdfce;
}
.chat-bubble strong {
  font-size: 14px;
  color: #155b48;
}
.chat-bubble p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 5px 0;
  font-size: 16px;
}
.chat-bubble small {
  font-size: 12px;
  color: #536778;
}
.chat-compose {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
.chat-compose textarea {
  flex: 1;
  min-width: 0;
  border: 1px solid #b9ccd9;
  padding: 12px;
  border-radius: 12px;
  font-size: 16px;
  resize: vertical;
  max-height: 150px;
}
.chat-compose button {
  min-height: 48px;
}
@media (max-width:600px) {
  .communication-tools {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .communication-tools button {
    padding: 10px;
    gap: 7px;
  }
  .personal-greeting {
    padding: 16px;
  }
  .personal-greeting p {
    font-size: 18px;
  }
  .site-chat .drawing-header {
    gap: 8px;
  }
  .site-chat .chat-tools button {
    padding: 8px;
    font-size: 14px;
  }
  .site-chat .drawing-header button {
    min-height: 44px;
  }
  .site-chat .chat-tools {
    gap: 5px;
  }
  .chat-bubble {
    max-width: 94%;
  }
}
.chat-contact-picker {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 10px;
}
.chat-contact-picker input,.chat-contact-picker select,.chat-call-config input {
  font-size: 16px;
  min-height: 44px;
  max-width: 100%;
}
.chat-read {
  font-size: 13px;
  color: #1260a0;
  margin-top: 5px;
}
.chat-read summary,.chat-sent {
  display: flex;
  align-items: center;
  gap: 5px;
}
.chat-read summary {
  cursor: pointer;
}
.chat-sent {
  font-size: 13px;
  color: #526575;
  margin-top: 5px;
}
.chat-call-config {
  border: 1px solid #ccdbe5;
  padding: 8px 12px;
  border-radius: 12px;
  max-height: 35dvh;
  overflow: auto;
  flex-shrink: 0;
}
.chat-call-config summary {
  cursor: pointer;
  font-weight: 650;
}
.chat-call-config form {
  padding-top: 8px;
}
.chat-call-config p {
  font-size: 14px;
  margin: 8px 0;
}
.chat-call-config a {
  color: #175c9a;
  text-decoration: underline;
}
@media (max-width:500px) {
  .chat-contact-picker {
    grid-template-columns: 1fr;
  }
  .chat-contact-picker .field {
    gap: 3px;
  }
  .site-chat {
    gap: 8px !important;
  }
}
.photo-file-actions {
  flex-shrink: 0;
  padding: 8px 0;
  color: #e1eaf2;
  font-size: 13px;
  max-height: 28dvh;
  overflow-y: auto;
}
.photo-file-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.photo-file-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid #607086;
  border-radius: 10px;
  background: #1c2839;
  color: #fff;
  cursor: pointer;
}
.photo-file-buttons button {
  flex: 1;
}
.photo-file-actions button:disabled {
  opacity: .55;
  cursor: wait;
}
.photo-file-actions button:focus-visible,.photo-file-actions a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}
.photo-file-actions p {
  margin: 6px 0;
}
.photo-file-actions a {
  color: #a9dcff;
  text-decoration: underline;
}
.hours-activities {
  padding: 14px;
  border: 1px solid #c9ded3;
  border-radius: 14px;
  background: #f5faf7;
  margin: 10px 0;
}
.hours-activities>.formgrid {
  margin: 12px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #dbe7df;
}
.bulk-person>.hours-details {
  grid-column: 1/-1;
  width: 100%;
}
.bulk-person {
  flex-wrap: wrap;
}
.bulk-person>.hours-details {
  flex-basis: 100%;
  order: 3;
}
.leave-overview {
  display: grid;
  gap: 14px;
  margin: 0 0 22px;
  color: #183c32;
}
.leave-wish {
  display: flex;
  gap: 18px;
  padding: 24px;
  border: 1px solid #b8dfc9;
  border-radius: 18px;
  background: linear-gradient(125deg,#edf8ee,#f5fbff);
  box-shadow: 0 6px 22px #173e3210;
}
.leave-wish>svg {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  color: #00783b;
  margin-top: 5px;
}
.leave-wish.care {
  background: #f1f8fc;
  border-color: #bcddec;
  color: #173c52;
}
.leave-wish.care>svg {
  color: #0873a0;
}
.leave-wish h2 {
  font-size: clamp(22px,4vw,29px);
  line-height: 1.2;
  margin: 7px 0 10px;
  color: inherit;
}
.leave-wish p {
  max-width: 65ch;
  line-height: 1.6;
  margin: 0 0 12px;
  color: inherit;
}
.leave-wish small {
  display: block;
  color: #42645a;
  line-height: 1.5;
}
.leave-upcoming {
  padding: 20px;
  border: 1px solid #cee2d7;
  border-radius: 15px;
  background: #fff;
}
.leave-upcoming h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 18px;
  color: #185034;
  margin: 0 0 8px;
}
.leave-upcoming h3 svg {
  width: 21px;
  height: 21px;
  flex-shrink: 0;
  color: #008643;
}
.leave-upcoming>p {
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 12px;
  color: #4b6259;
}
.leave-upcoming-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 15px;
  padding: 12px 0;
  border-top: 1px solid #e4ece7;
}
.leave-upcoming-row strong {
  min-width: 160px;
  color: #173e32;
}
.leave-upcoming-row span {
  flex: 1;
  font-size: 14px;
  color: #415c50;
}
.leave-upcoming-row b {
  font-size: 12px;
  background: #e4f4e8;
  color: #116635;
  border-radius: 30px;
  padding: 5px 10px;
}
@media (max-width:600px) {
  .leave-wish {
    padding: 18px;
    gap: 12px;
  }
  .leave-wish>svg {
    width: 25px;
    height: 25px;
  }
  .leave-upcoming {
    padding: 16px;
  }
  .leave-upcoming-row span {
    flex-basis: 100%;
    order: 3;
  }
  .leave-upcoming-row strong {
    min-width: 0;
    flex: 1;
  }
}
.activity-picker-manual {
  display: block;
  min-height: 44px;
  padding: 8px 0;
  color: #087644;
  text-align: left;
  text-decoration: underline;
  font-size: 15px;
}
.activity-picker>input {
  width: 100%;
  min-height: 48px;
  margin-top: 6px;
  padding: 10px;
  border: 1px solid #91b6a8;
  border-radius: 9px;
  font-size: 16px;
}
.activity-picker>small {
  display: block;
  line-height: 1.4;
  font-weight: 400;
}
.bulk-saved-hours {
  width: 100%;
  display: grid;
  gap: 8px;
}
.bulk-overrides {
  flex-basis: 100%;
  width: 100%;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.bulk-overrides>.field {
  min-width: 0;
  font-size: 14px;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 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-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@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;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity,1);
    transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));
    filter: blur(var(--tw-enter-blur,0));
  }
}
@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity,1);
    transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));
    filter: blur(var(--tw-exit-blur,0));
  }
}
@keyframes accordion-down {
  from {
    height: 0;
  }
  to {
    height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))));
  }
}
@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))));
  }
  to {
    height: 0;
  }
}
@keyframes accordion-down {
  from {
    height: 0;
  }
  to {
    height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );
  }
}
@keyframes accordion-up {
  from {
    height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );
  }
  to {
    height: 0;
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    :root, :host {
      --shimmer-angle: 20deg;
    }
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --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;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
      --scroll-fade-t: 0px;
      --scroll-fade-b: 0px;
      --scroll-fade-s: 0px;
      --scroll-fade-e: 0px;
      --scroll-fade-mask: initial;
      --shimmer-image: initial;
      --shimmer-text-fill: initial;
    }
  }
}

/* IS WORK: one shared visual language for office and field. */
:root{--primary:#1261d1;--primary-foreground:#fff;--ring:#1261d1;--background:#f3f5f8;--foreground:#172941;--muted-foreground:#607086;--border:#dce3eb;--radius:.8rem}
body{background:#f3f5f8;color:#172941;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.main.field-main{background:#f3f5f8;background-image:none;padding:26px 32px 40px;max-width:1600px;margin:auto;width:100%;min-width:0}
.topbar{background:#fff;border-bottom:1px solid #e0e6ee;box-shadow:none;padding-inline:30px;min-height:64px}
.industrial-sidebar [data-slot="sidebar-inner"]{background:#101f35!important;color:#e6edf8}
.industrial-sidebar .brand{padding:28px 22px 24px;border-bottom:1px solid #ffffff17;background:none}
.industrial-sidebar .brand img{border-radius:10px;background:#fff;padding:3px}
.industrial-sidebar .brand strong{color:#fff;letter-spacing:.06em;font-size:22px}
.industrial-sidebar .brand small{color:#90a6c6;font-size:12px;letter-spacing:.14em}
.industrial-sidebar .workspace-menu-group h2{color:#8499b7!important;font-size:12px;letter-spacing:.14em;padding-left:10px}
.industrial-sidebar [data-slot="sidebar-menu-button"]{color:#bccce1!important;border:0!important;border-radius:9px!important;min-height:43px;font-weight:500;box-shadow:none!important;background:transparent!important}
.industrial-sidebar [data-slot="sidebar-menu-button"]:hover{background:#ffffff0c!important;color:#fff!important}
.industrial-sidebar [data-slot="sidebar-menu-button"][data-active="true"]{background:#2469dc!important;color:#fff!important;font-weight:650}
.industrial-sidebar .workspace-search{background:#1c2c43;border:1px solid #304159;color:#bdd0ea;border-radius:10px}
.industrial-sidebar .workspace-search input{color:#fff;background:transparent}
.industrial-sidebar .profile{border-top:1px solid #ffffff17;background:#14243a;color:#e4edfa}
.industrial-sidebar .profile small{color:#a1b3cb}
.workspace-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.workspace-topline .personal-greeting{margin:0;padding:0;border:0;box-shadow:none;background:transparent}
.workspace-topline .personal-greeting strong{font-size:16px}
.workspace-top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.workspace-top-actions .communication-tools{margin:0;gap:6px}
.workspace-top-actions .communication-tools button{background:#fff;border:1px solid #dce3eb;border-radius:9px;min-height:38px;padding:7px 11px;color:#42556f;font-size:12px;box-shadow:none}
.assistant-launch{display:flex;gap:8px;align-items:center;background:#e8effe;color:#174eaf;border:1px solid #cbdcfa;border-radius:9px;padding:9px 13px;font-weight:650;font-size:12px;min-height:40px}
.assistant-launch span{font-size:19px;line-height:1}
.heading{margin-bottom:24px;gap:16px;align-items:center}
.heading h1{font-size:32px;line-height:1.16;font-weight:750;letter-spacing:-.035em;color:#172941}
.heading .eyebrow{font-size:12px;letter-spacing:.17em;color:#718299;margin-bottom:6px}
.heading p{font-size:13px;color:#687a90;margin-top:7px}
.panel{border:1px solid #dce3eb;background:#fff;border-radius:14px;box-shadow:0 3px 12px #1d345305;padding:22px}
.panel h2,.panel h3{letter-spacing:-.02em;color:#172941}
.panel p.muted{color:#6b7b91}
.operations-console{background:#132844;border:1px solid #243c5d;border-radius:18px;padding:30px 30px 0;color:#fff;overflow:hidden;margin-bottom:16px;box-shadow:0 8px 24px #17294112}
.console-intro{display:flex;justify-content:space-between;gap:32px;padding-bottom:28px;align-items:center}
.console-kicker{color:#82bafc;font-weight:650;letter-spacing:.16em;font-size:12px}
.console-intro h2{font-size:clamp(24px,2.5vw,36px);line-height:1.22;letter-spacing:-.035em;margin:12px 0;color:#fff!important;font-weight:650}
.console-intro h2 span{color:#abc1dc}
.console-intro p{color:#adbed4;font-size:13px;max-width:480px;line-height:1.6;margin:0}
.console-assistant{position:relative;display:grid;grid-template-columns:44px 1fr;align-items:center;column-gap:14px;row-gap:5px;min-width:245px;text-align:left;background:#ffffff0b;border:1px solid #527093;border-radius:14px;padding:21px 38px 21px 18px;transition:background .15s,border-color .15s}
.console-assistant:hover{background:#ffffff16;border-color:#82bafc}
.assistant-mark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#286ae0;color:#fff;flex-shrink:0}
.console-assistant .assistant-mark{grid-row:span 2;background:#396fe8}
.console-assistant strong{font-size:15px;font-weight:650;white-space:nowrap;color:#fff}
.console-assistant>span:not(.assistant-mark){font-size:12px;color:#b5c8e2}
.console-assistant>svg{position:absolute;right:14px;top:16px;color:#87b4ff}
.console-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff22;margin:0 -30px;background:#0f223b}
.console-metrics button{display:grid;grid-template-columns:1fr auto;gap:3px 12px;text-align:left;padding:20px 26px;border-right:1px solid #ffffff17;transition:background .15s;min-width:0}
.console-metrics button:hover{background:#1e395b}
.console-metrics button:last-child{border-right:0}
.console-metrics svg{grid-column:2;grid-row:1;color:#7ca5db;margin-top:8px}
.console-metrics strong{grid-column:1;grid-row:1;font-size:29px;letter-spacing:-.035em;line-height:1.25;font-weight:650;color:#fff}
.console-metrics strong small{font-size:15px;font-weight:400;color:#aebed2}
.console-metrics span{grid-column:1 / -1;font-size:12px;color:#adbed6;line-height:1.5}
.workspace-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 28px}
.workspace-shortcuts button{display:flex;align-items:center;gap:10px;padding:15px 13px;border:1px solid #dce3eb;border-radius:11px;background:#fff;color:#263e60;font-size:12px;font-weight:600;min-width:0;text-align:left}
.workspace-shortcuts button>svg:first-child{color:#2769d4;flex-shrink:0}
.workspace-shortcuts button>svg:last-child{color:#8496ad;margin-left:auto;flex-shrink:0}
.workspace-shortcuts button:hover{border-color:#85afea;background:#f7faff}
.today-home-tabs{background:transparent!important;border:0!important;border-bottom:1px solid #d9e2ee!important;padding:0!important;border-radius:0!important;justify-content:flex-start!important;gap:24px!important;margin-bottom:22px;width:100%;height:auto!important}
.today-home-tabs [role="tab"]{border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding:13px 0!important;flex:none!important;min-height:47px;color:#687a90!important;font-size:13px;font-weight:600}
.today-home-tabs [role="tab"][data-state="active"]{color:#1b5bbb!important;border-bottom-color:#2469dc!important}
.sitecard{background:#fff;border:1px solid #dce3eb;border-radius:14px;box-shadow:0 2px 8px #17294104;transition:border-color .15s,box-shadow .15s;overflow:hidden;text-align:left}
.sitecard:hover{border-color:#7ea6de;box-shadow:0 6px 18px #1729410b;transform:none}
.stat{border:1px solid #dce3eb;border-radius:12px;background:#fff;box-shadow:none}
.field-tile,.crew-simple-action{border-radius:13px;box-shadow:none;border:1px solid #dae3ef;background:#fff}
.field input,.field select,.field textarea{border:1px solid #cdd8e5;background:#fff;border-radius:9px;min-height:44px;padding:10px 12px;color:#172941}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #73aafa;outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.55}
.photo-draft-status{font-size:12px;line-height:1.6;border-left:3px solid #528bea;padding:9px 12px;background:#edf4ff;color:#295284;margin-top:12px;border-radius:0 7px 7px 0}
.work-assistant-dialog{width:min(740px,calc(100vw - 32px))!important;max-width:740px!important;height:min(800px,calc(100dvh - 48px));max-height:calc(100dvh - 32px)!important;display:flex!important;flex-direction:column;gap:0!important;padding:0!important;overflow:hidden!important;border:1px solid #d7e1ef;border-radius:20px!important;background:#f8fafc!important}
.assistant-heading{display:flex;align-items:center;gap:12px;padding:24px 52px 20px 24px;border-bottom:1px solid #e0e6ef;background:#fff;flex-shrink:0}
.assistant-heading h2{font-size:19px;font-weight:700;letter-spacing:-.025em;margin:0;color:#1b304d}
.assistant-heading p{font-size:12px;color:#6d7e94;margin:4px 0 0}
.assistant-scroll{flex:1;overflow:auto;min-height:0;padding:24px;overscroll-behavior:contain}
.assistant-welcome{padding:16px 0 22px}
.assistant-welcome .eyebrow{font-size:12px;letter-spacing:.15em;color:#4c74af;font-weight:600}
.assistant-welcome h3{font-size:30px;line-height:1.2;letter-spacing:-.04em;margin:12px 0;color:#193553}
.assistant-welcome>p{font-size:14px;line-height:1.7;color:#687a90;max-width:500px}
.assistant-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.assistant-suggestions button{border:1px solid #dce4ef;border-radius:11px;background:#fff;padding:15px 13px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;font-size:12px;color:#254a7b;min-height:62px}
.assistant-suggestions svg{flex-shrink:0}
.assistant-message{max-width:94%;padding:15px 17px;background:#fff;border:1px solid #dce5ef;border-radius:13px;margin-bottom:16px;color:#29405d}
.assistant-message.user{margin-left:auto;background:#eaf1ff;border-color:#d6e3fb}
.assistant-message>small{font-size:12px;font-weight:700;letter-spacing:.05em;color:#637d9f}
.assistant-message>p{white-space:pre-wrap;font-size:14px;line-height:1.65;margin:7px 0}
.assistant-proposal{border:1px solid #c7d9f2;background:#f3f7ff;border-radius:10px;padding:16px;margin:12px 0 0}
.assistant-proposal p,.assistant-proposal small{display:block;font-size:12px;color:#647d9c;line-height:1.6;margin:5px 0 12px}
.assistant-thinking{display:flex;align-items:center;gap:8px;font-size:13px;color:#5a7090}
.assistant-composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;margin:0 20px;border:1px solid #b9cde8;border-radius:12px;background:#fff;flex-shrink:0}
.assistant-composer textarea{background:transparent;border:0;outline:none;resize:none;width:100%;font-size:14px;padding:5px;min-height:44px;max-height:120px;line-height:1.5;color:#213d63}
.assistant-composer button{width:42px;height:42px;flex-shrink:0;border-radius:9px;background:#2165d7;color:#fff;display:flex;align-items:center;justify-content:center}
.assistant-footnote{font-size:12px;text-align:center;color:#70819b;margin:10px 20px 16px;flex-shrink:0}
.employee-import{border:1px solid #dce5ef;border-radius:12px;padding:18px;margin:16px 0;background:#fff}
.import-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;color:#2769d4}
.import-title h3{font-size:16px;font-weight:650;color:#1c3455;margin:0 0 5px}
.import-title p,.import-preview p{font-size:12px;line-height:1.6;color:#6c7f99;margin:0}
.import-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.import-columns .field{margin:0;font-size:12px;display:flex;flex-direction:column;gap:5px;min-width:0}
.import-columns select{width:100%}
.import-preview{margin-top:18px;padding-top:16px;border-top:1px solid #dce5ef}
.import-table-scroll{max-height:230px;overflow:auto;margin:14px 0;border:1px solid #dce5ef;border-radius:8px}
.import-table-scroll table{width:100%;font-size:12px;border-collapse:collapse;text-align:left}
.import-table-scroll td,.import-table-scroll th{padding:9px 12px;border-bottom:1px solid #e5ebf3}
.import-table-scroll th{background:#edf3fb;position:sticky;top:0}
.roster-import{border-block:1px solid #e4ebf4;margin:18px 0;padding:13px 0}
.roster-import summary{font-size:13px;color:#2864b7;cursor:pointer;font-weight:600}
@media(min-width:1500px){.main.field-main{padding-inline:48px}.console-intro{padding-block:8px 32px}}
@media(max-width:1100px){.main.field-main{padding:22px}.workspace-shortcuts{grid-template-columns:repeat(2,1fr)}.console-assistant{min-width:220px}.console-metrics button{padding:18px}.workspace-topline{gap:12px}}
@media(max-width:640px){.main.field-main{padding:18px 14px 94px!important}.topbar{padding-inline:14px;min-height:56px}.heading{margin-bottom:18px}.heading h1{font-size:27px}.workspace-topline{margin-bottom:20px;align-items:flex-start}.workspace-top-actions{width:100%;gap:8px;justify-content:space-between}.workspace-top-actions .communication-tools button{padding:7px 9px;min-height:40px}.assistant-launch{font-size:12px;padding:8px 10px}.operations-console{border-radius:14px;padding:22px 20px 0}.console-intro{display:block;padding-bottom:20px}.console-intro h2{font-size:29px}.console-intro p{font-size:12px}.console-assistant{margin-top:20px;width:100%;padding:14px;grid-template-columns:38px 1fr;border-color:#416491;column-gap:12px}.console-assistant .assistant-mark{width:38px;height:38px;border-radius:10px}.console-assistant strong{font-size:14px}.console-assistant>svg{right:16px;top:25px}.console-metrics{margin:0 -20px;grid-template-columns:1fr 1fr}.console-metrics button{padding:16px 20px;border-bottom:1px solid #ffffff17}.console-metrics button:nth-child(2n){border-right:0}.console-metrics button:nth-last-child(-n+2){border-bottom:0}.console-metrics strong{font-size:27px}.workspace-shortcuts{gap:8px;margin-bottom:20px}.workspace-shortcuts button{font-size:12px;padding:13px 10px;gap:7px;min-height:54px}.workspace-shortcuts button>svg:last-child{display:none}.today-home-tabs{gap:22px!important;margin-bottom:18px}.today-home-tabs [role=tab]{font-size:12px}.panel{padding:17px;border-radius:12px}.field-bottom{background:#fff;border-top:1px solid #dce5f0;box-shadow:0 -3px 15px #17294108}.work-assistant-dialog{height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important;width:calc(100vw - 16px)!important;border-radius:15px!important}.assistant-heading{padding:18px 44px 16px 16px}.assistant-heading h2{font-size:16px}.assistant-heading .assistant-mark{width:38px;height:38px}.assistant-scroll{padding:18px 14px}.assistant-welcome h3{font-size:27px}.assistant-suggestions{gap:8px}.assistant-suggestions button{padding:12px 10px;font-size:12px;min-height:68px}.assistant-composer{margin-inline:12px}.assistant-composer textarea{font-size:16px}.assistant-footnote{margin:9px 14px 12px;font-size:12px}.assistant-message{max-width:100%;padding:13px}.import-columns{grid-template-columns:1fr}.employee-import{padding:14px}.field input,.field select,.field textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.workspace-shortcuts button,.assistant-launch,.workspace-top-actions .communication-tools button,.today-home-tabs [role="tab"],.assistant-suggestions button,.roster-import summary,.import-columns .field{font-size:14px!important}
.console-metrics span{font-size:13px}.console-intro p,.assistant-welcome>p,.assistant-message>p{font-size:16px}.assistant-footnote{font-size:12px}.import-table-scroll table{font-size:14px}
@media(max-width:640px){.workspace-top-actions{align-items:flex-start}.workspace-top-actions .communication-tools{flex-wrap:wrap}.workspace-shortcuts button{line-height:1.4}.assistant-suggestions{grid-template-columns:1fr}.assistant-suggestions button{min-height:48px}.console-kicker{letter-spacing:.09em}.console-intro h2{font-size:27px}.console-intro p{font-size:14px}.assistant-heading h2{line-height:1.3}.assistant-footnote{font-size:12px}.work-assistant-dialog{height:100%!important;max-height:100%!important}}
.industrial-sidebar .brand>div{color:#fff;font-size:22px;font-weight:750;letter-spacing:.06em}
.industrial-sidebar .workspace{color:#90a6c6!important;font-size:12px;letter-spacing:.09em}
.industrial-sidebar .sidebar-note{background:#ffffff06;border:1px solid #ffffff12;color:#9eb4d1;border-radius:10px}
.industrial-sidebar .sidebar-note p{color:#9eb4d1}
.assistant-attachments{padding:14px 0;margin:12px 0;border-block:1px solid #d4e0f0}.assistant-attachments>p{font-size:13px;line-height:1.6;margin:10px 0;color:#536d8e}.assistant-attachment{display:flex;gap:10px;align-items:center;border:1px solid #d9e4f1;border-radius:8px;padding:12px;margin-top:10px;background:#fff;min-width:0}.assistant-attachment>div{flex:1;min-width:0}.assistant-attachment strong{display:block;overflow-wrap:anywhere;font-size:14px;font-weight:600}.assistant-attachment small{margin:4px 0 0;font-size:12px}.assistant-attachment select{font-size:14px;border:1px solid #cad9ec;border-radius:6px;padding:8px;max-width:180px;min-height:44px}.assistant-attachment>button{min-width:40px;min-height:44px;display:grid;place-items:center}.assistant-proposal>.success{margin:12px 0}.assistant-proposal>button{margin:4px 8px 4px 0;white-space:normal;height:auto;min-height:44px}.assistant-attachment>svg{color:#168451}@media(max-width:640px){.assistant-attachment{flex-wrap:wrap}.assistant-attachment>div{flex-basis:calc(100% - 44px)}.assistant-attachment label{flex:1}.assistant-attachment select{max-width:none;width:100%;font-size:16px}}
.plan-reference{margin:20px 0;padding:20px;border:1px solid #cee3d6;border-radius:12px;background:#f7fbf8}.plan-reference h3,.plan-reference-results>h3{font-size:19px;font-weight:700;color:var(--brand-green-ink)}.plan-reference>p{font-size:14px;line-height:1.6;color:#4f675d}.plan-reference ul{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}.plan-reference li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.plan-legend-swatch{width:18px;height:18px;border:1px solid #7c887f;border-radius:4px;flex-shrink:0;margin-top:2px}.plan-legend-swatch.tone-0{background:#feed00}.plan-legend-swatch.tone-1{background:#f88a29}.plan-legend-swatch.tone-2{background:#dfe5e1}.plan-reference-results{margin:24px 0}.plan-reference-results .visual-comparison{margin-top:12px}.plan-reference-results .visual-comparison p{font-size:15px;line-height:1.6}@media(max-width:640px){.plan-reference{padding:14px}.plan-reference .photo-pair-date{flex-wrap:wrap}.plan-reference-results .sectiontitle{gap:8px}}

/* Keep all editorial copy on an opaque surface, independent of the photo. */
.unified-workspace .team-editorial{background:#fff;color:#153d51;min-height:0;display:flex;flex-direction:column;border:1px solid #d9e5ec}
.unified-workspace .team-editorial>picture{display:block;width:100%;flex:none}
.unified-workspace .team-editorial>picture>img{position:static;display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.unified-workspace .team-editorial:after{display:none}
.unified-workspace .team-editorial>div{position:static;min-height:0;max-width:none;padding:14px 20px 8px;background:#fff;color:#153d51;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px}
.unified-workspace .team-editorial .experience-kicker{color:#236049;font-size:12px;letter-spacing:.1em;grid-column:1}
.unified-workspace .team-editorial h2{color:#12384c!important;text-shadow:none;font-size:20px;line-height:1.3;margin:0;grid-column:1}
.unified-workspace .team-editorial button{background:#176246;color:#fff;border:1px solid #176246;grid-column:2;grid-row:1 / span 2;min-height:44px;padding:10px 14px;font-size:14px}
.unified-workspace .team-editorial>small{position:static;align-self:flex-end;margin:0 16px 8px;background:#edf3f5;color:#4d6776}
.daily-work-quote{margin:0 0 22px;padding:24px 28px;border-radius:20px;background:#f3faf6;color:#173e30;border:1px solid #cde6d8;border-left:5px solid #009746;box-shadow:0 5px 18px #173b4e06}
.daily-work-quote>span{font-size:12px;letter-spacing:.09em;font-weight:700;color:#466454}.daily-work-quote blockquote{font-size:clamp(19px,2.2vw,25px);font-weight:650;line-height:1.5;margin:12px 0;color:#173e30}.daily-work-quote footer{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;font-size:14px;color:#486250}.daily-work-quote a{color:#176246;text-decoration:underline}
.work-vault{margin-bottom:20px}.work-vault h2{margin-bottom:16px}.work-vault input,.work-vault select{font-size:16px;max-width:100%;min-width:0}.work-vault select{padding:12px;border:1px solid #bacdd7;border-radius:9px;background:white;color:#15384c}.vault-vehicles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:20px 0}.vault-vehicles>button{display:flex;flex-direction:column;gap:8px;text-align:left;padding:18px;border-radius:14px;background:#f2f7fa;border:1px solid #c8dbe5;color:#183e51}.vault-vehicles strong{font-size:22px;letter-spacing:.08em}.vault-vehicles small{font-size:14px}.vault-vehicles .selected{border:2px solid #178253;background:#edf8f0}.vault-document{padding:18px 0;border-bottom:1px solid #dce7ed;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px}.vault-document>div:first-child{display:grid;gap:7px;overflow-wrap:anywhere;min-width:0}.vault-document strong{font-size:17px}.vault-document small{font-size:14px;color:#516977}.vault-document details{flex-basis:100%}.vault-upload{padding:16px;background:#f3f8fa;border-radius:13px;margin:18px 0}.work-vault summary,.badge-only summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:16px;font-weight:650}.badge-only>.panel{margin:16px 0}.work-vault .checkrow input{width:20px;height:20px;flex-shrink:0}.work-vault .actions{align-items:center}.vault-documents .formgrid{align-items:start}
@media(max-width:640px){.unified-workspace .team-editorial>picture>img{height:auto;max-height:none}.unified-workspace .team-editorial>div{padding:12px 16px 8px;grid-template-columns:minmax(0,1fr)}.unified-workspace .team-editorial button{grid-column:1;grid-row:auto;justify-self:start;margin-top:6px}.unified-workspace .team-editorial h2{font-size:18px}.daily-work-quote{padding:20px}.vault-document{display:block}.vault-document .actions{margin-top:12px;display:flex;gap:8px}.vault-vehicles{grid-template-columns:1fr 1fr}.vault-vehicles>button{padding:14px}.vault-vehicles strong{font-size:19px}.work-vault .formgrid{grid-template-columns:1fr}}
.vault-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.vault-summary>div{padding:16px 10px;border-radius:16px;background:#edf6f3;color:#143f35;display:flex;flex-direction:column}.vault-summary strong{font-size:26px}.vault-summary span{font-size:13px}.vault-expiry-status{display:inline-block;padding:5px 9px;background:#e9f4fb;border-radius:8px;color:#123b55;font-weight:700;font-size:13px}.vault-expiry-editor,.vault-reminder-info{padding:18px;border:1px solid #b8d4dc;border-radius:16px;margin:16px 0;background:#f5fafb}.vault-document{flex-wrap:wrap}.vault-document>div{min-width:0}.vault-document p,.vault-document small{overflow-wrap:anywhere}.vault-document .actions{flex-wrap:wrap}

/* Shared office and mobile interface. Brand palette remains in brand.css. */
body{background:#f0f5f3;color:#18392e;line-height:1.55}
.main.field-main{background:#f0f5f3!important;background-image:none!important}
.field-main .heading{padding:4px 0 18px;border-bottom:1px solid #d7e5de;margin-bottom:24px}
.field-main .heading h1{font-weight:750;letter-spacing:-.035em;color:#143e2f}
.field-main .heading .eyebrow{color:#0075a5;letter-spacing:.12em}
.field-main .panel,.badge-only .panel,.pay-advances{border-radius:18px;border:1px solid #d3e3da;box-shadow:0 4px 18px #103e3106;background:#fff}
.field-main .panel h2,.badge-only .panel h2{font-size:23px;line-height:1.3;font-weight:700;color:#143e2f}
.field-main .panel h3{font-size:18px;line-height:1.4;color:#143e2f}
.field-main .panel p,.badge-only .panel p{line-height:1.65;overflow-wrap:anywhere}
.sectiontitle{gap:16px;flex-wrap:wrap;align-items:flex-start}
.sectiontitle>div{min-width:0;flex:1 1 240px}
.field-main .actions{gap:10px;flex-wrap:wrap}
.field-main [data-slot=button],.badge-only [data-slot=button]{min-height:44px;height:auto;white-space:normal;line-height:1.4;padding:10px 16px;border-radius:11px}
.field input,.field select,.field textarea{border-color:#bfd3c7;box-shadow:none;color:#18392e;min-height:48px;line-height:1.5}
.field textarea{min-height:100px}.field{min-width:0;gap:8px}
.field-main .stat{border-radius:16px;border:1px solid #d2e3d8;background:white;padding:20px}.stat strong{font-variant-numeric:tabular-nums}
.field-main .sitecard{border-radius:18px;box-shadow:none;border:1px solid #d3e3da;background:white}
.field-main .sitecard:hover{border-color:#009746;box-shadow:0 8px 20px #103e310b}
.workspace-shortcuts button{border-radius:14px;min-height:62px;border-color:#d0e1d6}
.topbar{background:white;border-bottom-color:#d7e6dd;box-shadow:0 2px 12px #103e3106}
.industrial-sidebar .workspace-menu-group{margin-bottom:18px}
.industrial-sidebar [data-slot=sidebar-menu-button]{min-height:46px!important;line-height:1.45!important}
.operations-console{border-radius:20px;box-shadow:0 8px 22px #103e3112}
.field-main summary,.badge-only summary{cursor:pointer;line-height:1.5;padding-block:10px;font-weight:600}
.field-main .muted,.badge-only .muted{color:#526c60}.field-main .error,.badge-only .error{background:#fff1ef;border:1px solid #edc4be;border-radius:10px;padding:12px 15px;color:#a52721}
.punch-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.punch-buttons [data-slot=button]{min-height:62px;font-size:17px;font-weight:700}
.punch-start{background:#00743a!important;color:white!important}.punch-stop{background:#b62c29!important;color:white!important}
.punch-position{display:flex;align-items:flex-start;flex-direction:column;gap:5px;padding:12px 14px;margin-top:10px;background:#eef8f2;border:1px solid #cbe4d5;border-radius:12px;min-width:0;font-size:14px}
.punch-position small{color:#426b55;font-weight:650;font-size:12px}.punch-position a{display:inline-flex;gap:7px;align-items:center;color:#00743a;font-weight:700;text-decoration:underline;text-underline-offset:3px;min-height:36px}.punch-position span{font-size:13px;overflow-wrap:anywhere;color:#456252;font-variant-numeric:tabular-nums}
.punch-gps-note{display:flex;gap:9px;align-items:flex-start;font-size:14px;padding:13px;background:#edf7fc;color:#215d75;border-radius:12px}.punch-gps-note svg{flex-shrink:0;margin-top:3px}
.punch-site-change{margin:14px 0;border-block:1px solid #dbe9e1;padding:4px 0}.punch-site-change .field{padding:12px 0}
.punch-timeline-row{align-items:flex-start}.punch-timeline-row>span{min-width:0;flex:1}.punch-location-history{border-top:1px solid #dbe9e1;padding:12px 0}
.pay-advances{min-width:0;overflow:visible;padding-bottom:28px!important}
.pay-advances .advance-summary{padding:20px;background:#edf8f1;border:1px solid #c9e4d4;border-radius:14px;justify-content:space-between;gap:14px}
.advance-summary strong{font-size:22px;font-variant-numeric:tabular-nums;color:#00743a}
.pay-advances .advance-row{padding:22px;border-radius:15px;box-shadow:none;overflow:visible;border-left:4px solid #009746}
.pay-advances .advance-row h3{font-size:19px;margin:0 0 7px}.pay-advances .advance-row .text-xl{font-size:24px;white-space:nowrap;color:#00743a;font-variant-numeric:tabular-nums}
.pay-advances .advance-row .button{display:flex;align-items:center;white-space:normal;overflow-wrap:anywhere;height:auto;min-height:48px;max-width:100%;padding:11px 14px;border:1px solid #badbc8;border-radius:10px;background:#edf8f1;color:#00743a;line-height:1.5}
.pay-advances details{border-top:1px solid #deebe3;margin-top:16px;font-size:14px}.pay-advances details p{font-size:14px}
.pay-advances .advance-form{background:#f8fcfa;border-color:#bbd9c8}.pay-advances .advance-form input[type=file]{width:100%;white-space:normal;padding:12px;font-size:14px}
.advance-footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;border-top:1px solid #cadfd2;padding:20px 0 4px;margin-top:26px;color:#436452}.advance-footer strong{font-size:19px;color:#00743a}.advance-footer span{font-size:14px}
@media(max-width:767px){
 .main.field-main{padding:18px 14px calc(140px + env(safe-area-inset-bottom,0px))!important;min-width:0}
 .badge-only{padding:18px 14px calc(48px + env(safe-area-inset-bottom,0px))!important;max-width:760px;margin:auto}
 .field-main .panel,.badge-only .panel{padding:18px;border-radius:16px}.field-main .panel .panel{padding:16px}
 .field-main .heading h1{font-size:28px}.field-main .heading{margin-bottom:20px;padding-bottom:16px}
 .field-main .formgrid,.pay-advances .formgrid{grid-template-columns:minmax(0,1fr)}
 .field input,.field select,.field textarea{font-size:16px;width:100%;max-width:100%}
 .field-main .sectiontitle>[data-slot=button],.pay-advances .sectiontitle>[data-slot=button]{width:100%}
 .field-main .actions [data-slot=button]{flex:1 1 auto}
 .field-bottom{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;background:#fff!important;border-top:1px solid #d2e3d8;box-shadow:0 -4px 20px #103e3109}
 .pay-advances .advance-summary{padding:16px}.advance-summary strong{font-size:21px}.advance-summary [data-slot=button]{width:100%}
 .pay-advances .advance-row{padding:16px!important}.pay-advances .advance-row .sectiontitle>div{flex-basis:100%}.pay-advances .advance-row .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .pay-advances .advance-row .actions>.button,.pay-advances .advance-row .actions>.muted{grid-column:1/-1}.pay-advances .advance-row .actions [data-slot=button]{width:100%;padding:10px}
 .advance-footer{flex-direction:column;align-items:flex-start;padding-bottom:12px}
 .punch-timeline-row{display:grid;grid-template-columns:1fr!important;gap:12px}.punch-buttons{gap:8px}.punch-buttons [data-slot=button]{padding:12px 8px;font-size:15px}
 .punch-review-row .punch-person-header{flex-wrap:wrap}.punch-state{white-space:normal}
}
@media(max-width:360px){.punch-buttons{grid-template-columns:1fr}.pay-advances .advance-row .actions{grid-template-columns:1fr}}
@media print{body,.main.field-main{background:white!important}.field-main .panel{box-shadow:none}.advance-footer{break-inside:avoid}}

/* Compact, shared operational workspace for all IS WORK companies. */
.site-command-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;border:1px solid #d5e7df;border-radius:22px;background:linear-gradient(120deg,#f0faf4,#f1f8fd);margin-bottom:18px}.site-command-heading h2{font-size:clamp(22px,3vw,30px);margin:4px 0;color:#173e34}.site-command-heading p{margin:4px 0;color:#526b74}.site-command-heading small{color:#526b74}.site-weather-shortcut{display:flex;align-items:center;gap:9px;flex-shrink:0;background:white;border:1px solid #cddfe6;border-radius:14px;padding:13px 16px;color:#17638a;font-weight:650}.site-command-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.site-command-actions>button{min-height:130px;padding:20px;border-radius:18px;text-align:left;box-shadow:0 3px 10px #163a3310}.site-command-actions>button:nth-child(4){background:#f0f8ff}.site-command-actions>button:nth-child(5){background:#fff9e7}.site-simple-experience .experience-attention{padding:18px 22px;border-radius:18px;margin:16px 0}.site-simple-experience .experience-attention h3{font-size:18px;margin:5px 0}.site-photo-details>summary,.workspace-menu-group>summary{cursor:pointer;font-weight:700;color:#274d45}.workspace-menu-group>summary{padding:12px 16px;font-size:13px;letter-spacing:.02em;list-style:none;display:flex;justify-content:space-between}.workspace-menu-group>summary:after{content:'+';font-size:17px}.workspace-menu-group[open]>summary:after{content:'−'}.workspace-menu-group{margin:4px 0}.site-card-work-preview{display:none}.sitegrid .sitecard{padding:22px;border-radius:20px}.sitegrid .sitecard h3{font-size:21px}.sitegrid .sitecard .official-sal-card{margin-top:12px}.site-notes>.panel{margin-bottom:18px}.simple-note{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-top:1px solid #dfebe7;padding:18px 0}.simple-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.simple-note small{color:#657b82}.simple-note h4{font-size:18px;margin:5px 0}.economy-allocation{padding:14px;border-radius:14px;background:#eff8f2;margin:10px 0 14px}.economy-allocation .checkrow{margin-top:10px}.allocation-help{color:#546963;font-size:14px;margin:8px 0}.allocation-warning{background:#fff9e9;border:1px solid #eddfb4;margin-top:16px}.punch-ai-label{position:absolute;top:12px;right:12px;z-index:2;border-radius:8px;background:#0b293bbd;color:white;padding:5px 9px;font-size:11px;backdrop-filter:blur(6px)}.punch-scene-image{object-fit:cover}.weather-radar-link{background:#edf8ff;border:1px solid #c7e5f4;border-radius:12px;padding:11px 15px}.field-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.field-tabs>button{flex-shrink:0}.site-notes .actions{flex-wrap:wrap}.resource-quantity .field select{max-width:100%;text-overflow:ellipsis}.site-command-actions strong{color:#183f37}.site-command-actions span{color:#5a717a}
@media(max-width:700px){.site-command-heading{padding:18px;gap:14px;align-items:flex-start;flex-direction:column}.site-weather-shortcut{padding:10px 14px;align-self:flex-start}.site-command-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.site-command-actions>button{padding:16px;min-height:130px}.site-command-actions>button strong{font-size:16px}.site-command-actions>button span{font-size:13px;line-height:1.4}.site-simple-experience .experience-attention{display:flex;align-items:flex-start;flex-direction:column;gap:12px}.simple-note{flex-direction:column}.punch-scene-copy{padding-top:40px}.site-weather .weather-banner>.actions{flex-wrap:wrap}.sitegrid .sitecard{padding:18px}.economy-allocation{padding:12px}.material-resoconto{overflow-x:auto}.site-notes .desk-toolbar{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.punch-celebration,.punch-celebration i{animation:none!important}}

.employee-quick-actions{display:grid;gap:10px;margin-top:15px}.employee-quick-actions>button{display:flex;align-items:center;gap:14px;border:1px solid #d5e5df;border-radius:16px;padding:16px;background:#f6fbf8;text-align:left;color:#236346}.employee-quick-actions>button>span{flex:1}.employee-quick-actions strong,.employee-quick-actions small{display:block}.employee-quick-actions small{margin-top:4px;color:#637a72;font-size:13px}.employee-quick-actions>button:nth-child(3){background:#f1f8fc;color:#17608d}

.referent-workspace{margin:16px 0 24px;color:#193f38}.referent-workspace header{margin-bottom:20px}.referent-workspace h2{font-size:28px;margin:6px 0}.referent-workspace p{color:#59716b;line-height:1.5}.referent-personal-actions,.referent-sites,.referent-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.referent-personal-actions>button,.referent-sites>button{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid #d3e4dd;border-radius:18px;background:#f3faf6;text-align:left;min-height:90px}.referent-personal-actions>button>span,.referent-sites>button>span{flex:1;min-width:0}.referent-workspace strong,.referent-workspace small,.referent-sites b{display:block}.referent-workspace small{color:#60776f;margin-top:6px;line-height:1.5}.referent-workspace svg{flex-shrink:0;color:#237653}.referent-sites>button{background:white;min-height:130px}.referent-sites strong{font-size:19px;overflow-wrap:anywhere}.referent-sites b{margin-top:12px;color:#19704b;font-size:14px}.referent-task-grid>button,.referent-task-grid>article{position:relative;padding:24px;border:1px solid #d3e4dd;border-radius:20px;background:white;text-align:left;min-height:185px;box-shadow:0 4px 16px #123d3010}.referent-task-grid>button>svg:first-child,.referent-task-grid>article>svg{width:30px;height:30px;margin-bottom:14px}.referent-task-grid strong,.referent-task-grid h3{font-size:20px;margin:0 0 8px}.referent-task-grid span{display:block;color:#59716b;line-height:1.5;padding-right:18px}.referent-task-grid>button>svg:last-child{position:absolute;right:18px;bottom:22px}.referent-task-grid>.referent-ddt-card{background:#edf8f0;border-color:#a9d8b9}.referent-ddt-card p{margin:6px 0 14px}.referent-workspace button{cursor:pointer}.referent-workspace button:focus-visible{outline:3px solid #248b62;outline-offset:3px}.referent-workspace button:hover{border-color:#70ad91}.referent-site-home>p.muted{font-size:13px}.referent-site-home header strong{display:inline}
@media(max-width:600px){.referent-personal-actions,.referent-sites,.referent-task-grid{grid-template-columns:1fr;gap:10px}.referent-workspace h2{font-size:25px}.referent-personal-actions>button,.referent-sites>button{padding:16px}.referent-task-grid>button,.referent-task-grid>article{padding:20px;min-height:145px}.referent-task-grid strong,.referent-task-grid h3{font-size:19px}}

.manager-board,.manager-dossier{display:grid;gap:20px;min-width:0;color:#153d32}
.manager-hero{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:28px;padding:34px;border-radius:24px;background:linear-gradient(118deg,#0a3a2c,#0e4b46 72%,#126782);color:#fff;position:relative;overflow:hidden}
.manager-hero:after{content:"";position:absolute;right:-95px;top:-160px;width:430px;height:430px;border:1px solid #ffffff19;border-radius:50%;pointer-events:none}
.manager-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;font-weight:750;line-height:1.6}
.manager-hero h2,.portfolio-radar h2{font-size:clamp(27px,3vw,40px);line-height:1.12;letter-spacing:-.035em;font-weight:700;margin:16px 0}
.manager-hero h2{color:#fff!important}.manager-hero h2 em,.portfolio-radar h2 em{font-style:normal;color:#a0e5c2}.manager-hero p{max-width:570px;font-size:15px;line-height:1.7;color:#d7eae4}.manager-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.manager-hero-actions button{min-height:44px}.manager-hero-actions button[data-variant=outline],.manager-hero-actions button:nth-child(2){color:#fff;background:#ffffff0c;border-color:#ffffff55}.manager-pulse{align-self:center;display:grid;text-align:center;gap:7px;padding:24px;border:1px solid #ffffff26;border-radius:22px;background:#ffffff08;position:relative;z-index:1}.manager-pulse>span{font-size:10px;letter-spacing:.14em;color:#b3d8cb}.manager-pulse strong{font-size:62px;line-height:1.1;font-weight:600;letter-spacing:-.06em}.manager-pulse p{margin:0}.manager-pulse small{font-size:11px;color:#b3d8cb;line-height:1.6}
.manager-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.manager-kpis button{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:10px 12px;text-align:left;background:white;border:1px solid #dae7df;border-radius:17px;padding:18px;color:#1e493c}.manager-kpis strong{font-size:27px;line-height:1.1}.manager-kpis span{grid-column:1/-1;font-size:12px;color:#52756a}.manager-kpis button.selected{border-color:#008344;box-shadow:inset 0 0 0 1px #008344}.manager-kpis svg{color:#007746}
.manager-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.manager-filters{display:flex;gap:7px;flex-wrap:wrap}.manager-filters button{border:1px solid #d7e5dc;border-radius:999px;background:#fff;padding:9px 15px;font-size:13px;min-height:40px}.manager-filters button.active{background:#e4f3ea;color:#006b36;border-color:#86caa2;font-weight:700}.manager-search{display:flex;gap:8px;align-items:center;border:1px solid #d7e5dc;border-radius:12px;padding:0 12px;background:#fff}.manager-search input{background:transparent;border:0;min-width:0;padding:11px 0;font-size:14px;outline:0}.manager-coverage,.manager-footnote{font-size:12px;line-height:1.7;color:#597169;margin:0}.manager-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.manager-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dde8e0;border-radius:19px;padding:20px;border-top:3px solid #009746}.manager-card.urgent{border-top-color:#d73844}.manager-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.manager-card-top>span:last-child{font-size:10px;color:#768d82}.manager-status{display:inline-flex;align-items:center;align-self:start;gap:5px;border-radius:999px;background:#eaf1ec;padding:5px 9px;font-size:10px;font-weight:750;line-height:1.35}.manager-status.red{color:#ac2632;background:#fff0f1}.manager-status.amber{color:#855407;background:#fff7df}.manager-status.green{color:#087347;background:#e5f5eb}.manager-card h3{font-size:18px;line-height:1.35;letter-spacing:-.025em;margin:15px 0 4px;overflow-wrap:anywhere}.manager-owner{font-size:12px;color:#607b6f;margin:0 0 12px}.manager-headline{font-size:14px;line-height:1.55;margin:0 0 16px;flex:1;color:#325549}.manager-card-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-top:1px solid #edf2ed;padding-top:12px}.manager-card-facts span{display:grid;gap:5px;font-size:10px;color:#698378}.manager-card-facts strong{font-size:13px;font-weight:650;color:#204e3d}.manager-signal-chips{display:flex;gap:5px;flex-wrap:wrap;margin:16px 0}.manager-signal-chips span{font-size:10px;color:#576f64;background:#f2f6f3;border-radius:5px;padding:4px 6px}.manager-open{display:flex;justify-content:space-between;align-items:center;color:#00713c;font-size:13px;font-weight:700;padding-top:12px;border-top:1px solid #edf2ed;text-align:left;min-height:40px}.manager-empty{padding:28px;text-align:center;background:#f5f8f6;border-radius:14px;font-size:14px;line-height:1.6}.manager-empty>svg{margin:0 auto 12px;color:#007a45}.manager-run-details{border:1px solid #dae5dd;border-radius:14px;padding:16px;font-size:13px;line-height:1.6}.manager-run-details summary,.manager-section summary{cursor:pointer;font-weight:650;min-height:30px}
.manager-dossier-head{display:flex;justify-content:space-between;gap:20px;background:#edf5ef;border:1px solid #d6e7dc;border-radius:20px;padding:24px}.manager-dossier h2{font-size:27px;line-height:1.3;margin:12px 0 8px}.manager-dossier-head p{font-size:14px;color:#547265}.manager-dossier-answer{display:grid;gap:12px;border-left:4px solid #009746;padding:22px;background:#fff;border-radius:0 18px 18px 0}.manager-dossier-answer>span{font-size:10px;letter-spacing:.12em;font-weight:750;color:#008044}.manager-dossier-answer h3{font-size:21px;line-height:1.4;margin:0}.manager-dossier-answer p{font-size:15px;line-height:1.7;margin:0}.manager-dossier-answer small{font-size:11px;color:#789184}.manager-dossier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.manager-dossier-grid button{display:grid;grid-template-columns:25px 1fr 20px;gap:10px;text-align:left;background:#fff;border:1px solid #dbe8df;border-radius:15px;padding:18px;min-height:95px}.manager-dossier-grid button>span{font-size:12px}.manager-dossier-grid button>strong{grid-column:2/-1;font-size:13px;line-height:1.5}.manager-dossier-grid button>svg:last-child{grid-row:1;grid-column:3}.manager-next-actions h3{font-size:19px;margin:0 0 14px}.manager-next-actions>button{display:grid;grid-template-columns:85px 1fr 20px;gap:14px;text-align:left;align-items:center;width:100%;padding:15px 0;border-bottom:1px solid #dde7df;min-height:55px}.manager-next-actions>button>span{font-size:11px;color:#6b8173}.manager-next-actions>button>strong{font-size:14px;font-weight:550;line-height:1.5}.manager-next-actions>button.urgent>strong{color:#af2934}.manager-section{background:#fff;border:1px solid #dce7de;border-radius:17px;padding:18px}
.manager-extras{border:1px solid #d7e3da;border-radius:20px;background:#fff;padding:24px}.manager-extras>header,.manager-material-ledger>header{display:flex;justify-content:space-between;gap:20px;align-items:start;flex-wrap:wrap}.manager-extras h3{font-size:22px;margin:8px 0}.manager-extras header p{font-size:14px;color:#5d7869}.manager-mini-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 0}.manager-mini-metrics>span{display:grid;gap:6px;font-size:11px;color:#617d6f;line-height:1.4}.manager-mini-metrics strong{font-size:24px;color:#184a35;line-height:1.2}.manager-extra-line{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #e2ebe4;padding:18px 0}.manager-extra-line h4{font-size:16px;margin:8px 0}.manager-extra-line p,.manager-extra-line small{font-size:12px;color:#607d6e;line-height:1.6}.manager-extra-line form{width:100%;padding:18px;background:#f3f8f4;border-radius:12px;display:grid;gap:14px}.manager-old-extras{background:#fff9e8;padding:14px;border-radius:12px;font-size:13px;margin-bottom:12px}.manager-old-extras button{display:block;min-height:40px;text-align:left;width:100%;padding:10px 0}.manager-material-ledger{display:grid;gap:18px}.manager-material-ledger h2{font-size:24px;line-height:1.3;margin:8px 0}.manager-material-ledger header p{font-size:14px;line-height:1.6;color:#557968}.manager-material-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.manager-material-card{border:1px solid #d8e5dc;border-radius:17px;padding:18px;background:#fff;min-width:0}.manager-material-card>div:first-child{display:flex;justify-content:space-between;gap:8px}.manager-material-card h3{font-size:16px;line-height:1.45;margin:0;overflow-wrap:anywhere}.manager-material-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.manager-material-card dt{font-size:11px;line-height:1.5;color:#718779}.manager-material-card dd{font-size:20px;line-height:1.3;font-weight:650;margin-top:8px}.manager-material-card dd small{font-size:10px;font-weight:500}.manager-material-remaining{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#edf8f0;border-radius:11px;padding:13px;font-size:12px;color:#006e3b}.manager-material-remaining strong{font-size:23px;white-space:nowrap}.manager-material-remaining small{font-size:12px}.manager-ledger-warning{background:#fff8e7;border:1px solid #eadbb6;border-radius:14px;padding:16px;font-size:13px;line-height:1.6;color:#785c21}.manager-ledger-warning strong{font-size:14px}.manager-ledger-warning p{margin:6px 0}.manager-equipment-filter{display:flex;gap:10px;align-items:center;margin:16px 0;font-size:13px}.manager-equipment-filter input{width:18px;height:18px;accent-color:#009746}.manager-transfer-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:#edf6f0;border-radius:14px;padding:18px;margin:18px 0}.manager-transfer-flow>span{display:flex;align-items:center;gap:10px;font-size:13px}.manager-transfer-flow strong{border-radius:50%;display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;background:#087347;color:#fff}
.portfolio-radar{padding:28px;background:#fff;border:1px solid #d6e4db;border-radius:24px;display:grid;gap:18px;margin-bottom:20px}.portfolio-radar header{display:flex;justify-content:space-between;gap:20px}.portfolio-radar h2 em{color:#007f48}.portfolio-radar header p{font-size:14px;line-height:1.7;color:#678575;max-width:620px}.radar-scroll{overflow-x:auto;border:1px solid #dce7e0;border-radius:15px}.radar-chart{min-width:700px}.radar-axis,.radar-row{display:grid;grid-template-columns:235px minmax(0,1fr)}.radar-axis{background:#f3f7f4;color:#678577;font-size:10px;padding:12px 0}.radar-axis>span{padding-left:16px}.radar-axis>div{display:flex;justify-content:space-around}.radar-row{border-top:1px solid #e6eee8;min-height:90px}.radar-site{display:grid;gap:5px;text-align:left;padding:15px 16px;border-right:1px solid #e0eae2;min-width:0;background:#fff}.radar-site strong{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.radar-site small{font-size:10px;color:#6b8a77}.radar-site>span{display:flex;align-items:center;gap:6px;font-size:11px;color:#08734a}.radar-lane{position:relative;min-width:0;background-image:linear-gradient(90deg,#e5ede6 1px,transparent 1px);background-color:#fff;min-height:90px;text-align:left}.radar-bar{position:absolute;top:32px;height:28px;border-radius:6px;background:linear-gradient(90deg,#078448,#42b777);color:#fff;padding:7px 10px;font-size:10px;white-space:nowrap;overflow:hidden;min-width:5px}.radar-bar.late{background:linear-gradient(90deg,#ba3040,#e56972)}.radar-bar.pending{background:linear-gradient(90deg,#057aa7,#43b4d7)}.radar-deadline{position:absolute;top:9px;color:#bb3142;font-size:15px;line-height:1;transform:translateX(-50%);height:63px;border-left:1px dashed #bb314258}.radar-no-date{padding:16px;color:#8a9c90;font-size:11px;display:block}.production-focus{display:grid;grid-template-columns:1fr 220px;gap:25px;background:#edf7f0;border:1px solid #c9e0d1;border-radius:18px;padding:24px;margin:20px 0}.production-focus h3{font-size:23px;line-height:1.3;margin:12px 0}.production-focus p{font-size:14px;line-height:1.6;color:#527662}.production-focus button{display:flex;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:700;color:#006d35}.production-focus-dates{display:grid;gap:12px;align-content:center}.production-focus-dates span{display:flex;gap:10px;font-size:11px;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid #d3e5d8}.production-focus-dates strong{font-size:15px;color:#17643b}
.manager-board button:focus-visible,.manager-dossier button:focus-visible,.portfolio-radar button:focus-visible{outline:3px solid #01a0e2;outline-offset:3px}.manager-spin{animation:manager-spin 1s linear infinite}@keyframes manager-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-hero{grid-template-columns:1fr 180px;padding:26px}.manager-mini-metrics strong{font-size:20px}}
@media(max-width:650px){.manager-hero{grid-template-columns:1fr;padding:24px;gap:20px}.manager-pulse{display:grid;grid-template-columns:70px 1fr;text-align:left;padding:16px;gap:3px 15px}.manager-pulse>strong{grid-row:1/4;grid-column:1;font-size:42px}.manager-pulse>span,.manager-pulse>p,.manager-pulse>small{grid-column:2}.manager-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.manager-kpis button{padding:14px}.manager-grid{grid-template-columns:1fr}.manager-toolbar{align-items:stretch}.manager-search{width:100%}.manager-search input{width:100%}.manager-dossier-head{padding:20px;flex-direction:column}.manager-dossier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-dossier-grid button{padding:14px;grid-template-columns:22px 1fr 15px;gap:7px}.manager-next-actions>button{grid-template-columns:65px 1fr 18px;gap:10px}.manager-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.manager-extras{padding:18px}.manager-material-cards{grid-template-columns:1fr}.manager-transfer-flow{grid-template-columns:1fr;padding:16px}.portfolio-radar{padding:20px}.portfolio-radar header{flex-direction:column}.production-focus{grid-template-columns:1fr;padding:20px}.manager-hero h2,.portfolio-radar h2{font-size:30px}}
@media print{.manager-hero{background:#fff;color:#173d2f;border:1px solid #ccc}.manager-hero h2{color:#173d2f!important}.manager-hero p{color:#345b47}.manager-hero-actions,.manager-toolbar,.manager-open{display:none}.radar-chart{min-width:0}.manager-grid{grid-template-columns:repeat(2,1fr)}.manager-card,.manager-material-card{break-inside:avoid}}

.invoice-revenue-alert{display:flex;gap:16px;padding:22px;border:1px solid #e5b2b6;background:#fff3f3;border-radius:17px;color:#912634}.invoice-revenue-alert>svg{flex-shrink:0}.invoice-revenue-alert strong{font-size:17px}.invoice-revenue-alert p{font-size:14px;line-height:1.6;margin:8px 0 14px}.invoice-supplier{background:white;border:1px solid #dbe6de;border-radius:17px;padding:20px;margin:16px 0}.invoice-supplier h4{font-size:18px;margin:0 0 15px}.invoice-supplier table{width:100%;font-size:12px;border-collapse:collapse;min-width:550px}.invoice-supplier th,.invoice-supplier td{text-align:left;padding:12px 10px;border-bottom:1px solid #e3ece5;line-height:1.5}.invoice-dialog fieldset{display:grid;gap:16px;border:0;min-width:0}.invoice-dialog form{display:grid;gap:16px}.invoice-line-editor{display:grid;gap:14px;background:#f3f8f4;border:1px solid #dce7de;border-radius:14px;padding:16px}.invoice-dialog .sal-confirm{display:flex;gap:10px;align-items:start;font-size:13px;line-height:1.6}.invoice-dialog .sal-confirm input{flex-shrink:0;width:18px;height:18px;margin-top:4px}.invoice-dialog .manager-section{font-size:13px}.invoice-control h3{font-size:21px;line-height:1.4}

.employee-home{margin:14px 0 20px;display:grid;gap:14px}.employee-pride{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;background:#103e31;min-height:340px;color:#fff}.employee-pride-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center;z-index:-2}.employee-pride:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#092e29f0,#0c3430a3 65%,#092e2940),linear-gradient(0deg,#092e29b0,transparent 70%)}.employee-pride-content{padding:28px 32px}.employee-pride-brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:13px;font-weight:750;letter-spacing:.5px;margin-bottom:30px}.employee-pride-brand img{object-fit:contain;background:#ffffffee;padding:4px;border-radius:10px;flex-shrink:0}.employee-pride-brand small{display:block;font-size:8px;letter-spacing:2px;color:#b5dfd3;margin-top:5px}.employee-pride-brand time{margin-left:auto;font-size:11px;font-weight:400;color:#d7e9e2;letter-spacing:0;text-align:right}.employee-pride .personal-greeting,.employee-pride .personal-greeting *{color:#fff!important;background:transparent!important}.employee-pride h2{font-size:clamp(28px,3.5vw,43px);line-height:1.13;letter-spacing:-1.3px;margin:13px 0 18px;color:#fff!important;max-width:750px}.employee-pride h2 em{font-style:normal;color:#99e9d5}.employee-pride p{font-size:14px;line-height:1.8;color:#d7e9e3!important;max-width:650px;margin:0}.employee-pride-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:27px}.employee-pride-bottom>span{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.2px;color:#bce7d9}.employee-pride-bottom small{font-size:8px;color:#cadbd4}.employee-shortcuts{display:flex;gap:10px;flex-wrap:wrap}.employee-shortcuts button{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;min-width:110px;padding:15px 10px;background:#fff;border:1px solid #d9e6e1;border-radius:12px;color:#164a39;min-height:52px;cursor:pointer;font-size:12px;font-weight:650}.employee-shortcuts button:first-child{background:#007b3e;color:#fff;border-color:#007b3e}.employee-shortcuts svg{width:19px;height:19px;flex-shrink:0}.employee-shortcuts button:hover{box-shadow:0 4px 14px #174b3614}.employee-safety-reminder{display:flex;align-items:flex-start;gap:17px;padding:22px;border:1px solid #ece0af;border-left:4px solid #d9ac28;background:#fffbed;border-radius:13px}.employee-safety-icon{display:grid;place-items:center;width:47px;height:47px;flex-shrink:0;background:#f7edc3;border-radius:13px;color:#8b6a13}.employee-safety-reminder strong{display:block;color:#55461e;font-size:16px}.employee-safety-reminder p{color:#756642;font-size:13px;line-height:1.8;margin:7px 0 10px}.employee-safety-reminder small{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.7;color:#716035}.employee-safety-reminder small svg{flex-shrink:0}.employee-home .home-letter{margin:0}.employee-thought{padding:17px 20px;background:#f0f7f4;border:1px solid #d9e8df;border-radius:12px;color:#315449}.employee-thought summary{display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:650;font-size:13px;list-style:none}.employee-thought summary>span{margin-left:auto;font-weight:400;font-size:11px;color:#6e897e}.employee-thought blockquote{font-size:18px;line-height:1.7;margin:22px 0 15px;color:#294a3e}.employee-thought p{font-size:12px;color:#6b8378}.employee-thought a{text-decoration:underline;text-underline-offset:3px}.company-board{margin-block:18px;scroll-margin-top:30px}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.board-heading .eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.2px;color:#52817b}.board-heading h2{font-size:25px;line-height:1.2;margin:10px 0;color:#183d39}.board-heading p{font-size:13px;line-height:1.7;color:#6a817c}.board-heading>button{flex-shrink:0}.board-posts{display:grid;gap:15px}.board-post{background:#fff;border:1px solid #dbe7e1;border-radius:14px;padding:22px;min-width:0}.board-post.is-important{border-left:4px solid #009746;background:linear-gradient(120deg,#f4fcf7,#fff 55%)}.board-post-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:10px;line-height:1.6;color:#6b837c}.board-post-meta>span{background:#edf5f1;color:#27684b;padding:5px 8px;border-radius:6px;font-weight:600}.board-post-meta>b{color:#008343;font-size:10px}.board-post-meta>time{margin-left:auto}.board-post h3{font-size:20px;line-height:1.4;letter-spacing:-.4px;margin:16px 0 10px;color:#1c423b}.board-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;color:#536d66}.board-post>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e5ece8;padding-top:15px;margin-top:20px}.board-post>footer>small{color:#6a847b;font-size:11px;line-height:1.6}.board-appointment{background:#eff7fc;border:1px solid #d5e6f0;border-radius:10px;display:flex;align-items:flex-start;gap:12px;color:#2f6682;padding:15px;margin-top:17px;font-size:13px}.board-appointment svg{flex-shrink:0}.board-appointment p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.board-delivery{background:#f7f9f8;border-radius:10px;margin-top:15px;padding:15px;font-size:11px;color:#668077;line-height:1.7}.board-delivery p{margin-bottom:7px}.board-delivery p:first-child{display:flex;align-items:center;gap:7px;font-size:12px;color:#3d6355}.board-delivery .actions{margin-top:12px;flex-wrap:wrap}.board-compose{padding:23px;background:#f5f8f7;border:1px solid #dce7e2;border-radius:13px;margin-bottom:24px}.board-compose fieldset{border:0;padding:0;min-width:0;display:grid;gap:18px}.board-compose .field{margin:0}.board-compose input,.board-compose textarea,.board-compose select{font-size:16px}.board-compose details summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#406b5a;margin-bottom:15px}.board-compose details>small,.board-recipients>small{display:block;color:#6c8178;font-size:11px;line-height:1.7;margin-top:12px}.board-important{display:flex;align-items:center;gap:10px;font-size:13px;color:#496d5e}.board-important input,.board-recipient-list input,.program-notify-toggle input{width:19px;height:19px;accent-color:#008347;flex-shrink:0}.board-privacy{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.7;color:#6b8178}.board-privacy svg{flex-shrink:0;margin-top:2px}.board-recipient-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:245px;overflow-y:auto;border:1px solid #dce7e0;padding:10px;border-radius:9px;background:#fff;margin-top:10px}.board-recipient-list label{display:flex;align-items:center;gap:9px;min-height:48px;font-size:12px;padding:8px;color:#355347;cursor:pointer}.board-recipient-list small{display:block;font-size:10px;color:#789084;margin-top:3px}.board-recipients>p{font-size:12px;margin-top:10px;color:#4c7160}.board-empty{display:flex;align-items:center;gap:12px;padding:20px;background:#f5f8f7;border-radius:10px;color:#6d8a7d;font-size:13px}.board-single{margin:0}.board-notice-dialog{max-width:740px;max-height:90dvh;overflow:auto}.program-notify-toggle{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:14px;font-weight:650;color:#236447}.personal-program-pending{padding:13px;background:#e6f2fb;border-radius:9px;font-size:13px!important;line-height:1.7;color:#315976!important}.personal-program-pending strong{display:block}
@media(max-width:640px){.employee-pride{border-radius:16px;min-height:355px}.employee-pride-content{padding:21px}.employee-pride-brand{gap:9px;font-size:11px;margin-bottom:24px;flex-wrap:wrap}.employee-pride-brand img{width:36px;height:36px}.employee-pride-brand small{font-size:7px}.employee-pride-brand time{font-size:9px;max-width:90px}.employee-pride h2{font-size:31px;letter-spacing:-1px}.employee-pride p{font-size:13px}.employee-pride p br{display:none}.employee-pride-bottom{margin-top:22px;gap:10px}.employee-pride-bottom>span{font-size:8px;letter-spacing:.7px}.employee-pride-bottom small{font-size:7px}.employee-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.employee-shortcuts button{font-size:12px;padding:14px 9px;min-width:0}.employee-safety-reminder{padding:17px 15px;gap:12px}.employee-safety-icon{width:37px;height:37px;border-radius:10px}.employee-safety-icon svg{width:23px}.employee-safety-reminder strong{font-size:14px}.employee-safety-reminder p{font-size:12px;line-height:1.8}.employee-safety-reminder small{font-size:10px}.employee-thought{padding:16px}.employee-thought summary{font-size:12px;flex-wrap:wrap}.employee-thought summary>span{font-size:10px}.employee-thought blockquote{font-size:16px}.board-heading{display:block;margin-bottom:19px}.board-heading h2{font-size:24px}.board-heading>button{margin-top:16px;min-height:44px}.board-heading p{font-size:12px}.board-post{padding:18px 16px}.board-post h3{font-size:19px}.board-body{font-size:13px;line-height:1.85}.board-post-meta{font-size:9px;gap:7px}.board-post>footer{gap:10px;flex-wrap:wrap}.board-post>footer>small{font-size:10px}.board-delivery{padding:12px}.board-delivery .actions{display:grid;grid-template-columns:1fr}.board-compose{padding:18px 14px}.board-recipient-list{grid-template-columns:1fr}.board-notice-dialog{width:calc(100vw - 24px);max-height:88dvh}.board-appointment{font-size:12px;padding:13px}.program-notify-toggle{font-size:13px}}
@media(prefers-reduced-motion:reduce){.employee-home *{scroll-behavior:auto}}
.personal-program-dialog{width:min(590px,calc(100vw - 24px));max-height:92dvh;overflow:auto;padding:22px!important}.personal-program-card{overflow:hidden;border-radius:18px;border:1px solid #cfe2dc;background:#fff;margin:13px 0}.personal-program-cover{position:relative;isolation:isolate;background:#0b3937;color:#fff;min-height:255px}.personal-program-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.personal-program-cover:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,#082f2ef0,#0b3f3c94),linear-gradient(0deg,#073d33b3,transparent)}.personal-program-cover-copy{padding:23px 25px 29px}.personal-program-brand{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1px;color:#dbf1eb;font-weight:700;margin-bottom:22px}.personal-program-brand img{object-fit:contain;background:#fff;border-radius:8px;padding:3px}.personal-program-greeting{font-size:17px!important;line-height:1.5;color:#e2f8ef!important;margin:0 0 14px!important}.personal-program-date{display:inline-flex;align-items:center;gap:7px;border:1px solid #b5f2e333;padding:6px 9px;border-radius:6px;font-size:11px;color:#bce8df;background:#ffffff0a;text-transform:capitalize}.personal-program-cover h3{font-size:31px!important;line-height:1.15;letter-spacing:-1px;color:#fff!important;margin:14px 0 10px!important;overflow-wrap:anywhere}.personal-program-intro{font-size:12px!important;color:#c5e2d6!important;line-height:1.7;margin:0!important}.personal-program-image-label{position:absolute;bottom:8px;right:12px;font-size:7px;color:#d5e9e2}.personal-program-details{padding:24px}.personal-program-hour{display:flex;align-items:center;gap:20px;padding:20px;background:linear-gradient(110deg,#eaf9f1,#edf7fc);border:1px solid #d0e9de;border-radius:13px;color:#00874b}.personal-program-hour>div>span,.personal-program-location span{display:block;font-size:9px;letter-spacing:1.2px;color:#5e8275;font-weight:650}.personal-program-hour strong{display:block;font-size:49px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-1.7px;color:#14543c;margin-block:7px}.personal-program-hour small{font-size:10px;color:#668477}.personal-program-location{display:flex;gap:12px;align-items:flex-start;padding-top:22px;color:#467d76}.personal-program-location>svg{flex-shrink:0}.personal-program-location p{font-size:13px!important;color:#365f57!important;margin:7px 0!important;line-height:1.7}.personal-program-location a{font-size:12px;color:#087695;text-decoration:underline;text-underline-offset:3px}.personal-program-wish{display:flex;align-items:flex-start;gap:11px;padding-top:23px;margin-top:23px;border-top:1px solid #e0ece6;color:#459982}.personal-program-wish svg{flex-shrink:0;margin-top:3px}.personal-program-wish p{font-size:14px!important;line-height:1.8;color:#537469!important;margin:0!important}.personal-program-wish strong{display:block;font-size:10px;letter-spacing:.8px;color:#267450;margin-top:9px}.personal-program-dpi{display:flex;align-items:flex-start;gap:10px;border-radius:9px;background:#fff9e6;padding:13px;color:#7e6b32!important;font-size:11px!important;line-height:1.8;margin:21px 0 0!important}.personal-program-dpi svg{flex-shrink:0;margin-top:2px}.personal-program-cancelled{padding:25px;background:#fff9e9;border:1px solid #e9d89f;border-radius:14px;color:#7d6224}.personal-program-cancelled h3{font-size:21px;margin-block:14px}.personal-program-cancelled p{font-size:14px;line-height:1.8}.personal-tomorrow:has(.personal-program-card){background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}.personal-tomorrow>.eyebrow{margin:15px 0}.personal-program-card.compact{display:grid;grid-template-columns:1fr 1fr}.personal-program-card.compact .personal-program-cover{min-height:280px}.personal-program-card.compact .personal-program-details{padding:20px}.personal-program-card.compact .personal-program-cover h3{font-size:29px!important}.personal-program-card.compact .personal-program-hour{padding:16px}.personal-program-card.compact .personal-program-hour strong{font-size:40px}.personal-program-card.compact .personal-program-wish{padding-top:17px;margin-top:17px}.personal-program-card.compact .personal-program-wish p{font-size:12px!important}
@media(max-width:640px){.personal-program-dialog{padding:18px!important}.personal-program-card,.personal-program-card.compact{display:block;border-radius:14px}.personal-program-cover,.personal-program-card.compact .personal-program-cover{min-height:230px}.personal-program-cover-copy{padding:21px 21px 25px}.personal-program-cover h3,.personal-program-card.compact .personal-program-cover h3{font-size:28px!important}.personal-program-brand{font-size:9px;margin-bottom:19px}.personal-program-greeting{font-size:16px!important}.personal-program-details,.personal-program-card.compact .personal-program-details{padding:19px}.personal-program-hour,.personal-program-card.compact .personal-program-hour{padding:17px;gap:17px}.personal-program-hour strong,.personal-program-card.compact .personal-program-hour strong{font-size:45px}.personal-program-wish p{font-size:13px!important}}
.employee-news,.employee-day-summary{margin:18px 0;padding:22px;border:1px solid #cfe2dc;border-radius:16px;background:linear-gradient(125deg,#f2faf5,#edf7fc);color:#174c3e}.employee-news h3,.employee-day-summary h3{font-size:23px;line-height:1.3;margin:12px 0;overflow-wrap:anywhere}.employee-news>button{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;width:100%;padding:15px 0;border-top:1px solid #d5e7e0;cursor:pointer}.employee-news>button>span{min-width:0}.employee-news strong,.employee-news small{display:block;overflow-wrap:anywhere}.employee-news small{font-size:12px;line-height:1.7;color:#4c7167;margin-top:6px}.employee-news small svg{display:inline;vertical-align:middle}.employee-news>button>svg{flex-shrink:0;color:#087695}.employee-news .employee-news-all{color:#087695;font-weight:650;font-size:13px}.employee-day-summary p,.employee-news>p{font-size:14px;line-height:1.8;color:#4c7167}.employee-day-summary summary{cursor:pointer;color:#087695;font-size:13px;padding-top:12px}
.employee-pride-brand>span,.personal-program-brand{text-transform:none}
.employee-daily-thought{margin:22px 0}.employee-daily-thought>.daily-inspiration{margin-top:12px}.home-work-list{display:grid;gap:12px;margin-top:18px}.home-work-list article{background:#fff;border:1px solid #d8e9e1;border-radius:12px;padding:17px}.home-work-list article>div{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.home-work-list strong{font-size:16px;color:#174c3e}.home-work-list time,.home-work-list small{display:flex;align-items:center;gap:6px;font-size:11px;color:#57786c}.home-work-list time{white-space:nowrap}.home-work-list article>p{font-size:14px;line-height:1.8;overflow-wrap:anywhere;color:#4c7167;margin:10px 0}.home-work-empty{display:flex;align-items:center;gap:12px;border-top:1px solid #d5e7e0;padding-top:14px}.home-work-empty p{font-size:14px;line-height:1.8;color:#4c7167}.industrial-welcome-mark>span{text-transform:none}
@media(max-width:480px){.home-work-list article>div{flex-direction:column;gap:7px}.employee-daily-thought>.eyebrow{font-size:10px}}

/* Employee assignment: photography, clear departure time, one map action. */
.personal-program-card{border-radius:24px;border:1px solid #d7e7e1;box-shadow:0 14px 44px #123c3010;overflow:hidden;background:#fff}
.personal-program-cover{min-height:340px;background:#103e31}.personal-program-cover>img{opacity:.82;object-position:center}
.personal-program-cover:after{background:linear-gradient(90deg,#063b37e8,#073c3855),linear-gradient(0deg,#073b38d9,transparent 80%)}
.personal-program-cover-copy{padding:28px 26px 30px}.personal-program-brand{font-size:12px;letter-spacing:.5px;margin-bottom:27px}
.personal-program-brand img{background:white;border-radius:10px;padding:3px;width:36px;height:36px}
.personal-program-eyebrow{display:block;font-size:10px;color:#c0e7dc;letter-spacing:3px;font-weight:600;margin-bottom:9px}
.personal-program-greeting{font-size:25px!important;font-weight:700;line-height:1.25!important;color:white!important;margin-bottom:17px!important}
.personal-program-date{font-size:12px;padding:9px 12px;border-radius:30px;background:#0b46415e;border-color:#aad5c77a;color:#effff8}
.personal-program-cover h3{font-size:clamp(29px,5vw,42px)!important;margin-top:23px!important;letter-spacing:-1.3px;line-height:1.12}
.personal-program-intro{font-size:13px!important;color:#d4ece2!important}.personal-program-image-label{font-size:9px;bottom:10px}
.personal-program-details{padding:22px}.personal-program-hour{border-radius:19px;background:linear-gradient(120deg,#e6f8ee,#eef8fb);padding:23px;gap:20px}.personal-program-hour>svg{width:42px;height:42px;padding:6px;background:#d9f1e3;border-radius:50%;flex-shrink:0}.personal-program-hour>div>span{font-size:10px;letter-spacing:1.5px;color:#356458}.personal-program-hour strong{font-size:62px;letter-spacing:-2.5px;font-weight:800;color:#08483a}.personal-program-hour small{font-size:11px}
.personal-program-location{padding:22px 2px 4px;gap:13px}.personal-program-location>div{flex:1;min-width:0}.personal-program-location span{font-size:10px}.personal-program-location p{font-size:16px!important;font-weight:650;line-height:1.4}.personal-program-location a{display:flex;align-items:center;justify-content:space-between;background:#00694f;color:white!important;text-decoration:none;border-radius:12px;padding:13px 16px;font-size:14px;font-weight:650;margin-top:15px;min-height:48px}
.personal-program-dpi{border-radius:15px;padding:17px;background:#fff7df;font-size:12px!important;gap:13px}.personal-program-dpi strong{display:block;color:#795b15;font-size:14px;margin-bottom:3px}.personal-program-wish{border:1px solid #e2ede7;border-radius:15px;padding:17px;margin-top:15px;background:#fbfdfb}.personal-program-wish p{font-size:13px!important;line-height:1.6}.personal-program-wish strong{font-size:11px;margin-top:9px}
.personal-program-card.compact .personal-program-cover{min-height:360px}.personal-program-card.compact .personal-program-hour strong{font-size:51px}
.vacation-entry>summary{font-size:17px;font-weight:700;color:#17503e;cursor:pointer;padding:5px 0}.vacation-entry[open]>summary{margin-bottom:18px}
.vacation-section{background:#f6faf7;color:#143f34;border:1px solid #dce9e1;border-radius:22px;padding:24px;max-width:920px;margin:16px auto}
.vacation-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}.vacation-icon{width:56px;height:56px;border-radius:17px;background:#d9f0e3;color:#007843;display:grid;place-items:center;flex-shrink:0}.vacation-heading .eyebrow{font-size:10px;letter-spacing:1.5px;color:#4c7563}.vacation-heading h2{font-size:28px;line-height:1.2;margin:5px 0 7px;font-weight:750;letter-spacing:-.7px;color:#153f32}.vacation-heading p{font-size:13px;color:#5a7469;line-height:1.5;margin:0}
.vacation-form,.vacation-request{background:white;border:1px solid #e1eae5;border-radius:17px;padding:21px}.vacation-form h3{display:flex;align-items:center;gap:9px;font-size:17px;line-height:1.4;font-weight:650;margin:0 0 20px;color:#174b38}.vacation-dates{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.vacation-section .field{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#37574a;font-weight:600;margin-bottom:16px;min-width:0}.vacation-section input,.vacation-section textarea,.vacation-section select{background:#fff;border:1px solid #c5d9ce;border-radius:10px;padding:12px;min-height:46px;font:inherit;color:#173d31;width:100%;min-width:0;box-sizing:border-box}.vacation-section textarea{resize:vertical}.vacation-section .field small{font-size:11px;color:#71887a;font-weight:400}.vacation-form>button{width:100%;min-height:48px;background:#008449;color:white;border-radius:11px;font-weight:650}.vacation-form .vacation-help{font-size:11px;line-height:1.6;color:#6b7b70;margin:12px 0 0;text-align:center}.vacation-period{font-size:12px;color:#4e6f5c;margin:0 0 17px}.vacation-history{margin-top:27px}.vacation-history>h3{font-size:18px;margin:0 0 14px;font-weight:700;display:flex;align-items:center;gap:9px}.vacation-history>h3>span{font-size:12px;background:#e3eee7;padding:3px 8px;border-radius:20px}.vacation-request{margin-bottom:12px}.vacation-request-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.vacation-request-title>strong{font-size:16px;overflow-wrap:anywhere}.vacation-status{border-radius:30px;font-size:11px;padding:6px 10px;font-weight:650;white-space:nowrap}.vacation-status.pending{background:#fff3d0;color:#7e5a00}.vacation-status.approved{background:#e0f3e7;color:#146b3f}.vacation-status.rejected{background:#fce8e6;color:#993b37}.vacation-status.cancelled{background:#edf0ef;color:#5d7167}.vacation-range{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;margin:17px 0 7px}.vacation-request>small{font-size:11px;color:#6b8176}.vacation-note{font-size:13px;line-height:1.6;color:#4d6c5c;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.vacation-response{background:#f0f7f3;padding:12px;border-radius:10px;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0}.vacation-response strong{display:block;font-size:11px;color:#4b7560}.vacation-request>button{margin-top:14px}.vacation-approved,.vacation-success{display:flex;align-items:center;gap:7px;font-size:13px;color:#146b3f;margin-top:14px}.vacation-empty{padding:20px;background:white;border:1px dashed #bbd2c3;border-radius:14px;color:#637b6d;font-size:13px;line-height:1.6}.vacation-office-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.vacation-office-toolbar>strong{display:flex;gap:8px;align-items:center}.vacation-office-toolbar>label{display:flex;gap:8px;align-items:center;margin-left:auto;font-size:13px}.vacation-decision{border-top:1px solid #e4ece6;padding-top:15px;margin-top:16px}
@media(max-width:640px){.personal-program-dialog{padding:12px!important}.personal-program-card,.personal-program-card.compact{border-radius:19px}.personal-program-cover,.personal-program-card.compact .personal-program-cover{min-height:310px}.personal-program-cover-copy{padding:23px 22px 28px}.personal-program-greeting{font-size:24px!important}.personal-program-brand{font-size:11px;margin-bottom:24px}.personal-program-cover h3,.personal-program-card.compact .personal-program-cover h3{font-size:34px!important}.personal-program-details,.personal-program-card.compact .personal-program-details{padding:18px}.personal-program-hour strong,.personal-program-card.compact .personal-program-hour strong{font-size:60px}.personal-program-hour,.personal-program-card.compact .personal-program-hour{padding:20px}.personal-program-wish p{font-size:13px!important}.vacation-section{padding:17px;border-radius:18px}.vacation-heading{gap:12px}.vacation-heading h2{font-size:25px}.vacation-form,.vacation-request{padding:16px}.vacation-dates{gap:6px;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}.vacation-section input{padding:10px 6px;font-size:13px}.vacation-range{font-size:13px}.vacation-office-toolbar>label{margin-left:0}}

/* A new composition, shared by the real program dialog and employee home. */
.personal-program-card.shift-card{display:block!important;background:#fffefb;border:1px solid #e0e6df;border-radius:24px;box-shadow:0 20px 55px #153d3017;max-width:650px;margin:12px auto;overflow:hidden}
.shift-card .shift-brand{display:flex;gap:12px;align-items:center;padding:24px 25px 0}.shift-brand>img{width:42px;height:42px;object-fit:contain}.shift-brand>div{display:flex;flex-direction:column;gap:3px;min-width:0}.shift-brand>div>strong{font-size:20px;letter-spacing:-.6px;color:#103e31}.shift-brand>div>span{font-size:11px;letter-spacing:.15px;color:#59736a}.shift-brand-label{margin-left:auto;font-size:7px;font-weight:800;letter-spacing:1px;line-height:1.5;color:#6a8278;text-align:right}
.shift-card .shift-greeting{padding:27px 25px 23px}.shift-greeting>span{font-size:8px;font-weight:750;letter-spacing:1.65px;color:#608172}.shift-card .shift-greeting h2{font-size:32px!important;letter-spacing:-1.2px;line-height:1.15;color:#153f33!important;font-weight:750;margin:10px 0!important;overflow-wrap:anywhere}.shift-greeting h2 em{font-style:normal;color:#008b49}.shift-greeting .shift-hello-dot{color:#01a0e2}.shift-card .shift-greeting p{font-size:12px!important;line-height:1.6;color:#647b70!important;margin:0!important}
.shift-photo{height:240px;position:relative;isolation:isolate;background:#164638;overflow:hidden}.shift-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 45%;z-index:-2}.shift-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#05291d15 10%,#063c3180 48%,#052d27f2);z-index:-1}.shift-date{position:absolute;left:24px;top:18px;display:flex;align-items:center;gap:8px;border-radius:30px;padding:9px 12px;background:#fffefbf2;color:#214f3f;font-size:11px;text-transform:capitalize;font-weight:650;box-shadow:0 3px 12px #0001}.shift-destination{position:absolute;left:25px;right:25px;bottom:37px}.shift-destination>span{font-size:8px;font-weight:700;letter-spacing:2.2px;color:#bcdfd2}.shift-card .shift-destination h3{font-size:32px!important;line-height:1.08;letter-spacing:-1px;color:#fff!important;font-weight:800;margin:9px 0 0!important;overflow-wrap:anywhere}.shift-photo>small{position:absolute;right:12px;bottom:9px;font-size:8px;color:#d5e7de}
.shift-body{padding:0 20px 22px}.shift-departure{position:relative;display:flex;align-items:center;gap:15px;min-height:126px;margin-top:-17px;padding:20px;background:linear-gradient(110deg,#006442,#123e32);border:1px solid #3a8960;border-radius:18px;color:white;box-shadow:0 9px 18px #124b3220}.shift-clock{height:48px;width:48px;border:1px solid #83c8a561;background:#ffffff12;display:grid;place-items:center;border-radius:50%;color:#c8efba;flex-shrink:0}.shift-departure>div{flex:1;min-width:0}.shift-departure>div>span{display:block;font-size:8px;font-weight:650;letter-spacing:1.6px;color:#cbe1d3}.shift-departure strong{font-size:55px;letter-spacing:-2.3px;line-height:1.05;font-weight:800;color:#fff;display:block;margin-top:7px;font-variant-numeric:tabular-nums}.shift-time-note{font-size:7px;letter-spacing:1px;line-height:1.7;align-self:flex-end;text-align:right;color:#bdd3c5;margin-bottom:4px}
.shift-place{margin-top:17px;background:#edf6f8;border:1px solid #d4e8ed;border-radius:17px;padding:18px}.shift-place-copy{display:flex;align-items:center;gap:12px}.shift-place-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#d9edf1;color:#14768f;flex-shrink:0}.shift-place-copy>div>span{font-size:8px;letter-spacing:1.4px;font-weight:750;color:#52808b}.shift-card .shift-place-copy p{font-size:15px!important;font-weight:650;color:#154d59!important;line-height:1.4;margin:6px 0 0!important;overflow-wrap:anywhere}.shift-place>a{display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none!important;color:#08647d!important;background:#fff;border:1px solid #c7dfe5;border-radius:10px;padding:12px 14px;margin-top:16px;font-size:13px;font-weight:700;min-height:45px}
.shift-safety{display:flex;align-items:flex-start;gap:12px;padding:17px;margin-top:14px;border:1px solid #efe2b3;background:#fff7dc;border-radius:15px;color:#9a7b1b}.shift-safety>svg{flex-shrink:0}.shift-safety h4{font-size:13px;color:#705616;font-weight:750;margin:0 0 5px}.shift-card .shift-safety p{font-size:11px!important;line-height:1.6;color:#88713a!important;margin:0!important}
.shift-thought{position:relative;margin-top:20px;padding:3px 3px 3px 16px;border-left:3px solid #01a0e2}.shift-thought>div{display:flex;gap:8px;align-items:center;color:#1593ac}.shift-thought>div>span{font-size:8px;letter-spacing:1.3px;font-weight:700;color:#618072}.shift-thought blockquote{font-size:15px;line-height:1.55;letter-spacing:-.15px;font-weight:550;color:#294d3c;margin:10px 0 8px}.shift-thought cite{font-size:10px;font-style:normal;color:#678373;display:block}
.shift-team{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #e4ece4;padding:18px 0 0;margin-top:21px}.shift-team>span{width:38px;height:38px;background:#e3f0e3;border-radius:50%;color:#4c805a;display:grid;place-items:center;flex-shrink:0}.shift-team>div{flex:1;min-width:0}.shift-team strong{font-size:12px;color:#1a4d35}.shift-card .shift-team p{font-size:11px!important;color:#738373!important;line-height:1.6;margin:5px 0 0!important}.shift-team>svg{color:#2f9476;flex-shrink:0;margin-top:6px}.shift-color-line{display:grid;grid-template-columns:5fr 3fr 1fr 1fr;height:5px}.shift-color-line>span:nth-child(1){background:#009746}.shift-color-line>span:nth-child(2){background:#01a0e2}.shift-color-line>span:nth-child(3){background:#feed00}.shift-color-line>span:nth-child(4){background:#e31e25}
@media(max-width:640px){.personal-program-card.shift-card{border-radius:20px}.shift-card .shift-brand{padding:20px 20px 0}.shift-card .shift-greeting{padding:23px 20px 22px}.shift-card .shift-greeting h2{font-size:29px!important}.shift-photo{height:220px}.shift-destination{left:21px;right:21px;bottom:35px}.shift-card .shift-destination h3{font-size:29px!important}.shift-date{left:20px}.shift-body{padding:0 15px 19px}.shift-departure{gap:12px;padding:19px 15px;min-height:116px}.shift-departure strong{font-size:53px}.shift-time-note{font-size:6px;letter-spacing:.7px}.shift-departure>div>span{font-size:7px}.shift-clock{width:41px;height:41px}.shift-place{padding:15px}.shift-brand-label{font-size:6px}.shift-thought blockquote{font-size:14px}}

/* Employee day: a published plan, a real crew, one useful contact. */
.day-board{margin:18px 0;padding:23px;border:1px solid #d3e5dd;background:linear-gradient(140deg,#fffefb,#f3faf6);border-radius:23px;box-shadow:0 10px 30px #194b3410;color:#183f32;animation:employee-arrive .45s ease both}.day-board:empty{display:none}.day-board-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.day-board-heading>span{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1.4px;font-weight:750;color:#30765b}.day-board-heading>small{font-size:9px;color:#829389}.day-board>h3{font-size:28px!important;line-height:1.15;letter-spacing:-.8px;margin:18px 0;color:#164631;overflow-wrap:anywhere}.day-board-route{display:grid;grid-template-columns:110px 1fr;gap:10px}.day-board-route>span{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:15px;background:#0d6747;color:white;border-radius:15px}.day-board-route>span strong{font-size:23px;letter-spacing:-.6px}.day-board-route>span small{font-size:9px;color:#cbe3d5}.day-board-route>a{display:flex;align-items:center;gap:9px;padding:14px;background:#e8f3f7;border:1px solid #d1e7ec;border-radius:15px;color:#1a697f;font-size:12px;text-decoration:none;line-height:1.5}.day-board-route>a>span{flex:1}.day-board-route>a>svg{flex-shrink:0}.day-crew{margin-top:22px}.day-crew-heading{display:flex;align-items:center;gap:8px;color:#246e4f;margin-bottom:15px}.day-crew-heading>strong{font-size:16px;color:#234b37}.day-crew-heading>span{margin-left:auto;font-size:10px;background:#e8f0e9;border-radius:20px;padding:5px 8px;color:#5b7666}.day-crew-people{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px}.day-crew-person{display:flex;align-items:center;gap:9px;min-width:0}.crew-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:11px;font-weight:750;border:3px solid white;box-shadow:0 2px 5px #17442d12}.crew-avatar.color-0{background:#d9eee0;color:#2b7050}.crew-avatar.color-1{background:#dfeef5;color:#33738a}.crew-avatar.color-2{background:#f8efd7;color:#9a7924}.crew-avatar.color-3{background:#ece4f4;color:#79578f}.day-crew-person>span+span{font-size:11px;font-weight:650;color:#304f3d;overflow-wrap:anywhere;min-width:0}.day-crew-person small{display:block;font-size:9px;font-weight:400;color:#89998b;margin-top:3px}.day-crew-expand{display:flex;align-items:center;gap:5px;font-size:11px;color:#28826a;margin:16px 0 0}.day-activity{display:flex;gap:12px;align-items:flex-start;background:#fff9e9;border:1px solid #eee4c6;border-radius:14px;padding:15px;margin-top:19px;color:#998241}.day-activity>svg{flex-shrink:0}.day-activity strong{font-size:12px;color:#725f2a}.day-activity p{font-size:12px;line-height:1.65;color:#776e4d;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.day-contacts{margin-top:21px;padding-top:18px;border-top:1px solid #e1e9df}.day-contacts>span{display:block;font-size:8px;letter-spacing:1.2px;color:#7a8e7e;font-weight:700;margin-bottom:10px}.day-contacts>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.day-contacts strong{font-size:13px;color:#34503b}.day-contacts small{font-size:10px;color:#8a9a8c}.day-contacts a{display:flex;align-items:center;gap:7px;min-height:42px;padding:10px 15px;border:1px solid #d0e3d6;border-radius:10px;color:#167447;background:white;font-size:12px;font-weight:650;text-decoration:none}.day-ready{display:flex;align-items:center;gap:8px;margin-top:18px}.day-ready>span{width:6px;height:6px;border-radius:50%;background:#009746}.day-ready p{font-size:10px;line-height:1.5;margin:0;color:#849487}.day-program-details{font-size:12px;color:#3c7d67;margin:13px 0 20px}.day-program-details>summary{cursor:pointer;padding:9px 5px}
/* A calendar that explains a day, instead of being only a colored table. */
.magic-months{margin:24px 0}.magic-month{padding:22px;background:#fffefb;border:1px solid #e0e8de;border-radius:21px;margin-top:15px;color:#2b4937}.magic-month>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.magic-month>header>svg{color:#519174}.magic-month>header span{font-size:8px;font-weight:700;letter-spacing:1.3px;color:#8b9a88}.magic-month h3{font-size:25px;letter-spacing:-.7px;line-height:1.2;text-transform:capitalize;margin:6px 0 0;font-weight:700;color:#274c37}.month-pulse{display:flex;align-items:center;gap:15px;padding:14px 0 18px}.month-pulse>span{display:flex;align-items:center;gap:5px;font-size:10px;color:#85947f}.month-pulse strong{font-size:13px;color:#4a7855}.month-pulse svg{color:#65926d}.magic-weekdays,.magic-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.magic-weekdays{margin-bottom:10px}.magic-weekdays>span{text-align:center;font-size:10px;color:#9aab94;font-weight:650}.magic-weekdays>span:last-child{color:#bd7d76}.magic-day{position:relative;min-height:55px;border:1px solid transparent;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#f4f6f1;color:#78906f;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;font:inherit;padding:5px 1px;min-width:0}.magic-day>span{font-size:13px;font-weight:650}.magic-day>small{font-size:9px;min-height:11px;display:grid;place-items:center}.magic-day:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0d3e2912}.magic-day.selected{outline:2px solid #176d4b;outline-offset:1px}.magic-day.outside{opacity:.28;cursor:default}.magic-day.worked{background:#e4f1df;color:#386c3b}.magic-day.punched{background:#e2eef6;color:#3e7592}.magic-day.leave{background:#d9eee8;color:#26816c}.magic-day.sick{background:#efe6f3;color:#8b619c}.magic-day.cig{background:#faf0cf;color:#a18032}.magic-day.absent{background:#fae6df;color:#ab6859}.magic-day.pending{background:#fffdf3;border:1px dashed #d3bb7d;color:#ac8c40}.magic-day.holiday{background:#f9efeb;color:#b78077}.magic-day.red-date>span{color:#b57268}.magic-day>i{position:absolute;right:4px;top:4px;width:4px;height:4px;border-radius:50%;background:#00997b}.magic-legend{display:flex;gap:10px 13px;flex-wrap:wrap;margin-top:18px}.magic-legend>span{display:flex;gap:5px;align-items:center;font-size:9px;color:#8b9783}.magic-legend>span:before{content:'';width:7px;height:7px;border-radius:50%;background:#b7d5aa}.magic-legend>.punched:before{background:#a1c9df}.magic-legend>.leave:before{background:#87c8b9}.magic-legend>.sick:before{background:#c4a1d2}.magic-legend>.cig:before{background:#e9d08e}.magic-legend>.absent:before{background:#dca892}.magic-legend>.pending:before{background:white;border:1px solid #c7b57e}.calendar-tap{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px!important;color:#8a9f88!important;margin:19px 0 0!important}.magic-day-detail{padding:20px;background:#f1f7ef;border:1px solid #d8e6d1;border-radius:17px;margin-top:12px;color:#53724b;animation:employee-arrive .2s ease both}.magic-day-detail>div>span{font-size:8px;letter-spacing:1.3px;color:#7a9672;font-weight:700}.magic-day-detail h4{font-size:19px;text-transform:capitalize;font-weight:700;color:#3f6238;line-height:1.3;margin:7px 0 10px}.day-label{font-size:11px;color:#6b8d5c}.magic-day-detail>p{font-size:12px;line-height:1.65;margin:12px 0}.magic-day-detail>small{font-size:10px;color:#7a9270}.magic-day-detail .selected-day-hours{font-size:33px;font-weight:750;letter-spacing:-1px;color:#3e6d36;margin:13px 0 6px}.selected-day-hours>small{font-size:12px;font-weight:400;letter-spacing:0}.selected-day-places,.selected-day-vacation{display:flex;gap:7px;align-items:flex-start}.selected-day-vacation{border-top:1px solid #d7e3d0;padding-top:12px}.selected-day-places>svg,.selected-day-vacation>svg{flex-shrink:0;margin-top:3px}.attendance-rules{font-size:12px;color:#577463;margin:14px 0}.attendance-rules>summary{cursor:pointer;padding:8px 0}.attendance-rules p{font-size:12px;line-height:1.6}
.employee-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}.employee-shortcuts>button{border-radius:16px;padding:17px 8px!important;min-height:86px;background:#f2f7f1;border:1px solid #dce9d8;color:#3f7444;box-shadow:0 4px 9px #193c2110;transition:transform .15s ease}.employee-shortcuts>button:hover{transform:translateY(-2px)}.employee-shortcuts>button:nth-child(2){background:#edf5fa;border-color:#d9e7ef;color:#357b99}.employee-shortcuts>button:nth-child(3){background:#edf8f2;border-color:#d5eadd;color:#328361}.employee-shortcuts>button:nth-child(4){background:#fff8e7;border-color:#eee2be;color:#9a7d3d}.employee-shortcuts>button:nth-child(5){background:#f1f2fa;border-color:#e1e3ef;color:#6e74a2}.employee-shortcuts>button>span{font-size:11px!important;font-weight:650}.employee-home .employee-pride{border-radius:24px;box-shadow:0 14px 35px #153e2e1c}.employee-home .employee-pride h2{letter-spacing:-1px}.employee-daily-thought{border-radius:19px;padding:18px;background:#fffef8;border:1px solid #ebe8d8}.employee-daily-thought>.eyebrow{font-size:9px!important}.employee-home .employee-safety-reminder{border-radius:19px;background:#fbf6e5}.employee-home .employee-shortcuts{animation:employee-arrive .4s ease both}
@keyframes employee-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.day-board{padding:19px 16px;border-radius:20px}.day-board>h3{font-size:25px!important}.day-board-route{grid-template-columns:100px 1fr}.day-board-heading>small{font-size:8px}.day-crew-heading>strong{font-size:14px}.day-crew-heading>span{font-size:8px}.day-crew-person>span+span{font-size:10px}.magic-month{padding:18px 12px}.magic-day{min-height:49px;border-radius:9px}.magic-day>span{font-size:12px}.magic-day>small{font-size:8px}.month-pulse{gap:12px}.month-pulse>span{font-size:9px}.magic-calendar-grid,.magic-weekdays{gap:4px}.magic-month h3{font-size:23px}.employee-shortcuts>button{min-height:79px!important;padding:14px 6px!important}.employee-shortcuts>button>span{font-size:10px!important}.employee-shortcuts>button>svg{width:22px;height:22px}.day-board-route>a{font-size:10px;padding:11px}.day-board-route>span{padding:12px 10px}.day-board-route>span strong{font-size:22px}.crew-avatar{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.day-board,.employee-home .employee-shortcuts,.magic-day-detail{animation:none}.employee-shortcuts>button,.magic-day{transition:none}.employee-shortcuts>button:hover,.magic-day:hover:not(:disabled){transform:none}}
.experience-demo{max-width:460px;margin:0 auto;min-height:100vh;padding:20px 17px 35px;background:linear-gradient(165deg,#f7f9f4,#edf4ef);color:#294a37}.experience-demo>header{display:flex;align-items:center;gap:11px;margin:3px 0 23px}.experience-demo>header>div{display:flex;flex-direction:column;gap:5px}.experience-demo>header strong{font-size:17px;letter-spacing:-.4px}.experience-demo>header span{font-size:8px;letter-spacing:.3px;color:#80957e}.experience-demo>nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:#e8eee4;padding:5px;border-radius:14px;margin-bottom:28px}.experience-demo>nav>button{display:flex;flex-direction:column;align-items:center;gap:7px;border-radius:10px;padding:12px 3px;font-size:10px;color:#7a8e72;min-height:61px}.experience-demo>nav>button[aria-pressed=true]{background:#fffefb;color:#367348;box-shadow:0 3px 10px #23472a13}.demo-greeting{padding:0 4px}.demo-greeting>span{font-size:8px;letter-spacing:1.5px;font-weight:700;color:#83967b}.demo-greeting h1{font-size:33px;font-weight:750;letter-spacing:-1px;color:#284f35;margin:10px 0;line-height:1.15}.demo-greeting h1>span{color:#01a0e2}.demo-greeting p{font-size:12px;line-height:1.6;color:#809578;margin:0}.demo-note{font-size:10px;line-height:1.7;padding:0 7px;color:#8da085}.experience-demo .magic-months{margin-top:17px}.experience-demo .vacation-section{padding:15px}.experience-demo .magic-day-detail{scroll-margin-top:20px}
.day-board-empty{background:linear-gradient(115deg,#f3f8f1,#eff6f8);border-style:dashed;box-shadow:none}.day-board-empty>svg{color:#5c9173}.day-board-empty>h3{font-size:20px!important;margin:12px 0}.day-board-empty>p{font-size:12px;line-height:1.7;color:#7e9480;margin:0}
.day-next-program{border:1px solid #d9e7d9;border-radius:17px;background:#f6faf2;padding:16px;margin:12px 0 20px}.day-next-program>summary{cursor:pointer;color:#47733d}.day-next-program>summary>span{display:block;font-size:8px;letter-spacing:1.3px;color:#8a9f7b;margin-bottom:7px}.day-next-program>summary>strong{font-size:15px;display:inline;line-height:1.4}.day-next-program>summary>small{display:block;font-size:10px;margin-top:8px;color:#829772}
/* Daily view: a photographic opening, with operational information overlaid clearly. */
.day-board.day-board--photo{padding:0;overflow:hidden;border-radius:24px;background:#fffefb;box-shadow:0 17px 45px #1c57321c;border-color:#d4e3d6}
.day-visual{position:relative;isolation:isolate;height:290px;background:#153f33;overflow:hidden}.day-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 45%;z-index:-2}.day-visual-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#092e3620 12%,#103e3140 35%,#082f2ce8 100%)}.day-visual-date{position:absolute;top:21px;left:22px;display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:30px;background:#fffefbf5;color:#315b42;font-size:11px;font-weight:650;box-shadow:0 4px 14px #112e3020;text-transform:capitalize}.day-visual-title{position:absolute;left:24px;right:24px;bottom:43px}.day-visual-title>span{font-size:8px;letter-spacing:2px;font-weight:750;color:#d7ecdf}.day-board .day-visual-title h3{font-size:33px!important;line-height:1.1;font-weight:800;color:#fff!important;letter-spacing:-1px;margin:11px 0 0!important;overflow-wrap:anywhere;text-wrap:balance}.day-visual>small{position:absolute;right:15px;bottom:11px;font-size:8px;color:#d8e8df}
.day-board-content{padding:0}.day-board--photo>.day-board-content{padding:0 21px 23px}.day-photo-departure{position:relative;z-index:1;display:flex;align-items:center;gap:14px;padding:19px;margin-top:-21px;border-radius:18px;color:white;background:linear-gradient(110deg,#007649,#194d39);border:1px solid #3c8c61;box-shadow:0 10px 23px #12432824;min-height:119px}.day-photo-clock{height:45px;width:45px;flex-shrink:0;border-radius:50%;background:#fff1;border:1px solid #abd7b751;display:grid;place-items:center;color:#c8e9be}.day-photo-departure>div{min-width:0;flex:1}.day-photo-departure>div>span{font-size:8px;letter-spacing:1.4px;color:#d2e4d5;font-weight:650;display:block}.day-photo-departure strong{display:block;color:white;font-size:51px;font-weight:800;letter-spacing:-2px;line-height:1.05;margin-top:7px;font-variant-numeric:tabular-nums}.day-photo-departure>small{font-size:8px;line-height:1.7;color:#bfd9c6;text-align:right;align-self:flex-end;margin-bottom:3px}
.day-photo-location{display:flex;align-items:center;gap:12px;background:#ecf5f8;border:1px solid #d7e8eb;border-radius:15px;padding:17px 14px;margin-top:15px;color:#366c7c;text-decoration:none}.day-photo-location>span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#dceff1;color:#4a91a2;flex-shrink:0}.day-photo-location>div{flex:1;min-width:0}.day-photo-location small{display:block;font-size:8px;letter-spacing:1.3px;color:#85a1a8;font-weight:650}.day-photo-location strong{font-size:13px;display:block;color:#366274;line-height:1.45;margin-top:6px;overflow-wrap:anywhere}.day-photo-location>svg{flex-shrink:0}.day-board--photo .day-crew-heading{padding-bottom:11px;border-bottom:1px solid #e7ede4}.day-board--photo .day-crew{margin-top:25px}.day-board--photo .day-ready{background:#f0f7ed;border-radius:12px;padding:13px 12px;margin-bottom:0}.day-board--photo .day-ready p{color:#7c9571}.day-board--photo .day-ready>span{background:#6f9b53}
@media(max-width:480px){.day-board.day-board--photo{border-radius:21px}.day-visual{height:265px}.day-visual-title{left:20px;right:20px;bottom:40px}.day-board .day-visual-title h3{font-size:30px!important}.day-visual-date{left:19px;top:18px;font-size:10px}.day-board--photo>.day-board-content{padding:0 16px 20px}.day-photo-departure{padding:17px 14px;gap:12px;min-height:111px}.day-photo-departure strong{font-size:49px}.day-photo-departure>div>span{font-size:7px}.day-photo-departure>small{font-size:7px}.day-photo-clock{height:40px;width:40px}.day-photo-location{padding:15px 12px}.day-photo-location strong{font-size:12px}}
/* One employee page combines the photograph and the complete plan. */
.daily-program-title{display:flex;align-items:center;gap:9px;padding:23px 23px 0;color:#53906c}.daily-program-title h2{font-size:18px!important;font-weight:750;letter-spacing:-.4px;line-height:1.3;margin:0!important;color:#34593c!important}.daily-program-safety{display:flex;gap:11px;align-items:flex-start;padding:16px;background:#fff8e3;border:1px solid #efe6c9;border-radius:14px;margin-top:20px;color:#a38b43}.daily-program-safety>svg{flex-shrink:0}.daily-program-safety strong{font-size:12px;color:#85713a}.daily-program-safety p{font-size:11px;line-height:1.65;color:#a08d5c;margin:5px 0 0}.daily-program-page{width:100%;min-width:0}.daily-program-date-switch{display:flex;padding:5px;background:#eaf0e6;border:1px solid #dfe8d8;border-radius:14px;gap:5px;margin:10px 0 15px}.daily-program-date-switch>button{flex:1;display:flex;justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:13px;font-weight:650;border-radius:10px;color:#809773;padding:9px 8px}.daily-program-date-switch>button>span{font-size:10px;font-weight:400}.daily-program-date-switch>button[aria-pressed=true]{background:#fffefb;color:#387145;box-shadow:0 3px 8px #24492c0e}.experience-demo>nav{grid-template-columns:1.6fr 1fr 1fr}.experience-demo>nav>button{font-size:10px}.experience-demo .day-board--photo{margin-top:19px}
@media(max-width:480px){.daily-program-title{padding:21px 19px 0}.daily-program-title h2{font-size:17px!important}.daily-program-date-switch>button{font-size:12px;gap:6px}}
.daily-program-title>img{width:35px;height:35px;object-fit:contain;flex-shrink:0}.daily-program-title>div{min-width:0}.daily-program-title>div>small{display:block;font-size:10px;color:#8da183;margin-top:4px}

/* The daily thought lives on the photograph; natural flow keeps long text readable. */
.daily-program-title{padding-bottom:21px}
.day-visual{display:flex;flex-direction:column;align-items:stretch;min-height:375px;height:auto;padding:21px 24px 49px;gap:25px}
.day-visual-shade{background:linear-gradient(180deg,#062b34a6,#103e3166 36%,#062d29f2 100%)}
.day-visual-date{position:static;align-self:flex-start;flex-shrink:0}
.day-photo-thought{margin:0;color:#fff;text-shadow:0 2px 14px #001b21a8}
.day-photo-thought>div{display:flex;align-items:center;gap:7px;color:#e1f0db}
.day-photo-thought>div>span{font-size:8px;letter-spacing:1.3px;font-weight:750}
.day-photo-thought blockquote{font-size:22px;line-height:1.4;letter-spacing:-.3px;font-weight:600;margin:10px 0;text-wrap:pretty;color:#fff}
.day-photo-thought cite{display:block;font-size:11px;font-style:normal;color:#e1f0db}
.day-visual-title{position:static;margin-top:auto}
@media(max-width:480px){.daily-program-title{padding-bottom:19px}.day-visual{height:auto;min-height:365px;padding:18px 20px 47px;gap:23px}.day-photo-thought blockquote{font-size:21px}.day-photo-thought>div>span{font-size:7px;letter-spacing:1px}}

.day-visual>small{bottom:30px}

/* The real employee landing starts with the destination, not secondary tools. */
.badge-only>header.employee-topbar{display:grid;grid-template-columns:36px 1fr auto;align-items:center;padding:12px 15px;gap:10px;margin-bottom:12px}
.badge-only>header.employee-topbar>img{width:36px;height:36px}.badge-only>header.employee-topbar h1{font-size:19px;margin:0;letter-spacing:-.5px}.badge-only>header.employee-topbar .notification-label{display:none}.badge-only>header.employee-topbar>.employee-tools{grid-column:1/-1;margin:0;border-top:1px solid #e5eee6;padding-top:3px}.employee-tools>summary{font-size:12px;color:#456854;padding:7px 0}.employee-tools .communication-tools{margin-top:10px}
.employee-hello>.personal-greeting{background:none;border:0;box-shadow:none;padding:2px 0 9px;margin:0;color:#254d38}.employee-hello .personal-greeting p,.employee-hello .personal-greeting strong{color:#254d38!important;font-size:17px}.employee-hello .personal-greeting-icon{display:none}
.employee-home>.daily-program-page{margin:0 0 18px}.daily-assignment-preview{padding:18px 20px;background:linear-gradient(115deg,#00764b,#194f3b);border-radius:17px;color:#fff;margin:12px 0}.daily-assignment-preview>span{font-size:10px;letter-spacing:1px;color:#d8eddf;font-weight:650}.daily-assignment-preview h2{font-size:26px!important;line-height:1.15;color:white!important;margin:10px 0!important;overflow-wrap:anywhere}.daily-assignment-preview p{font-size:12px;color:#d8eddf;margin:10px 0 0}.daily-assignment-preview strong{font-size:22px;color:white;margin-left:7px}.employee-team-story{margin:14px 0 20px;border:1px solid #d9e6dd;border-radius:15px;background:#fffefb;padding:0 14px}.employee-team-story>summary{padding:13px 0;font-size:12px;color:#496c56;font-weight:650}.employee-team-story .employee-pride{margin-top:6px}.employee-home>.employee-shortcuts{margin:14px 0}.badge-only #push-setup-slot{margin:14px 0}
@media(max-width:600px){.pwa-install{display:none!important}.daily-assignment-preview h2{font-size:24px!important}}

.daily-program-page>.employee-shortcuts{margin:16px 0 20px}.daily-program-page>.employee-shortcuts>button{min-height:72px!important}.daily-program-page .day-board-empty h2{font-size:20px!important;margin:10px 0;color:#34593c}.daily-program-page .day-board-empty p{font-size:13px;line-height:1.6;color:#526c60}

/* Keep the photographic home and its shortcuts visible without a published assignment. */
.day-program-state{padding:19px 0 2px}.day-program-state h2{font-size:20px!important;color:#34593c;margin:0 0 9px}.day-program-state p{font-size:13px;line-height:1.6;color:#526c60;margin:0}.day-board-content>.employee-shortcuts{margin:18px 0 8px}.day-board-content>.employee-shortcuts>button{min-height:72px!important}

/* Explicit nonnegative layers also keep the photo visible in iOS WebViews. */
.day-visual>img{z-index:0;display:block;opacity:1;visibility:visible}
.day-visual-shade{z-index:1;background:linear-gradient(180deg,#062b3460,transparent 44%,#062d29dc 100%)}
.day-visual-date,.day-photo-thought,.day-visual-title,.day-visual>small{position:relative;z-index:2}
.day-visual>small{position:absolute}
.day-visual{min-height:430px}
@media(max-width:480px){.day-visual{min-height:400px}}

.language-toolbar{display:flex;gap:14px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:7px 16px;background:#f3f8f5;color:#123e31;border-bottom:1px solid #cbded4;font-size:13px;position:relative;z-index:45;min-height:44px}.language-toolbar label{display:flex;gap:7px;align-items:center}.language-toolbar select{border:1px solid #a5c7b5;border-radius:8px;background:white;color:#123e31;min-height:34px;padding:4px 26px 4px 10px;max-width:150px;font:inherit}.language-toolbar input{accent-color:#009746;width:16px;height:16px}.language-toolbar button{font:inherit;text-decoration:underline;background:none;border:0;color:#18553d;padding:5px}.translated-message{white-space:pre-wrap;overflow-wrap:anywhere}.translation-status,.translation-original{display:block;font-size:12px;font-weight:400;line-height:1.5;margin-top:5px;color:#52665d}.translation-original{border-inline-start:2px solid #bfd0c7;padding-inline-start:8px}.section-recovery{padding:16px;border:1px solid #ead4a3;background:#fff8e8;border-radius:12px;color:#473c22}.section-recovery button{padding:8px 14px;border:1px solid #b8b8a6;border-radius:8px;margin-top:8px}html[dir=rtl] .employee-home,html[dir=rtl] .badge-only,html[dir=rtl] .login-card,html[dir=rtl] .day-board,html[dir=rtl] .notification-dialog{text-align:right}html[dir=rtl] input[type=tel],html[dir=rtl] input[inputmode=numeric],html[dir=rtl] input[type=date],html[dir=rtl] input[type=month]{direction:ltr;text-align:left}html[dir=rtl] .employee-shortcuts,html[dir=rtl] .day-crew-people{direction:rtl}@media(max-width:480px){.language-toolbar{padding:6px 10px;gap:8px;justify-content:space-between}.language-toolbar select{max-width:124px}.language-originals{font-size:12px}}

/* Shared layout refinements. The existing brand palette remains the authority. */
body{font-feature-settings:"cv11","ss01";text-rendering:optimizeLegibility}
.unified-workspace .panel,.badge-only .panel{border-radius:20px;box-shadow:0 8px 28px #173f3506;border-color:#dce8e3}
.unified-workspace input:not([type=checkbox]):not([type=radio]):not([type=file]),.unified-workspace select,.unified-workspace textarea,.badge-only select{border-radius:11px;min-height:44px}
.workspace-menu-group>summary{cursor:pointer;min-height:46px;display:flex;align-items:center;font-size:11px!important;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.workspace-menu-group>summary:after{content:'+';margin-left:auto;font-size:17px;font-weight:400}.workspace-menu-group[open]>summary:after{content:'−'}
.workspace-menu-group{border-bottom:1px solid #ffffff12;padding-bottom:7px;margin-bottom:5px}
.quantity-desk>h2{font-size:32px;margin:10px 0}.quantity-desk>p{max-width:730px;color:#566d65;line-height:1.7}
.quantity-site-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:14px;margin-top:26px}
.quantity-site-grid>button{display:grid;gap:14px;text-align:left;background:linear-gradient(145deg,#f0f8f4,#f6fafc);border:1px solid #d8e7df;padding:23px;border-radius:17px;transition:border-color .15s,background .15s;min-height:150px}
.quantity-site-grid>button:hover{border-color:#009746;background:#e7f6ed}.quantity-site-grid svg{color:#007e49}.quantity-site-grid strong{font-size:17px;line-height:1.4}.quantity-site-grid small{color:#32644e}
.personal-quantities{border-top:1px solid #d6e8df;margin-top:30px;padding-top:28px}.personal-quantities>header{display:flex;gap:14px;align-items:flex-start}.personal-quantities>header>svg{background:#e4f4ed;color:#00683b;box-sizing:content-box;padding:12px;border-radius:14px;flex-shrink:0}.personal-quantities>header h3{font-size:24px;margin:5px 0}.personal-quantities>header p{color:#506b5e}.personal-quantities .visit-plan{box-shadow:none;border:0;padding:22px 0}
.visit-plan-canvas{border-radius:15px;overflow:hidden;border:1px solid #d9e6df}.visit-plan table{width:100%;display:block;overflow-x:auto;font-variant-numeric:tabular-nums}.visit-plan th,.visit-plan td{padding:12px;text-align:left;border-bottom:1px solid #dce8e3;white-space:nowrap}.visit-plan th{background:#edf6f1;color:#245a40}
.safety-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:23px 0 27px}.safety-process li{display:flex;align-items:center;gap:12px;background:#f5f8f7;border:1px solid #e0e8e4;border-radius:14px;padding:16px}.safety-process b{border:1px solid #d4e0da;background:white;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}.safety-process .done b{background:#007d45;color:white;border-color:#007d45}.safety-process span{font-size:14px;font-weight:650}.safety-process small{display:block;color:#587166;font-size:12px;font-weight:400;margin-top:4px}
.safety-brief.safety-reminder{background:#f5fbf7;border:1px solid #c6e5d2;border-radius:20px;padding:24px;margin:18px 0;box-shadow:0 7px 22px #12432c06}.safety-brief>header{display:flex;align-items:center;gap:14px}.safety-brief>header>svg{color:#00783f;flex-shrink:0}.safety-brief header h3{color:#153d2b!important;font-size:23px!important;line-height:1.25;margin:6px 0}.safety-brief>.safety-dpi-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:10px;margin:18px 0}.safety-brief .safety-dpi-chips>span{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #d9e9df;border-radius:14px;background:#fff;color:#16452d;font-size:14px;line-height:1.4}.safety-brief .safety-dpi-chips strong{display:block;font-weight:700}.safety-brief .safety-dpi-chips small{display:block;color:#456452;margin-top:5px;font-size:13px}.safety-brief-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;margin:16px 0}.safety-brief-people article{display:flex;align-items:flex-start;gap:10px;background:#e7f3ed;border-radius:12px;padding:13px}.safety-brief-people svg{color:#157248;flex-shrink:0;margin-top:3px}.safety-brief-people small,.safety-brief-people strong,.safety-brief-people span{display:block;overflow-wrap:anywhere}.safety-brief-people small{font-size:12px;color:#3f6251;margin-bottom:4px}.safety-brief-people strong{font-size:15px;color:#123b29}.safety-brief-people span{font-size:13px;margin-top:4px}.safety-brief>small{display:block;margin-top:14px;font-size:12px;color:#526b60}.safety-brief>p{line-height:1.6}
.safety-simple-grid{gap:14px}.safety-summary .safety-item{border-radius:15px}.safety-source summary{font-size:12px;color:#557165;cursor:pointer}.safety-source p{font-size:13px;line-height:1.6}.safety-upload form{display:grid;gap:15px;max-width:680px}.safety-upload input[type=file]{padding:20px;border:1px dashed #93c9ae;background:#f3faf6;border-radius:13px;width:100%}.safety-upload input::file-selector-button{border:0;border-radius:8px;background:#def1e6;color:#075d34;padding:10px 14px;margin-right:12px;font-weight:600}
.employee-shortcuts{gap:10px}.employee-shortcuts button{border-radius:15px;min-height:76px}.daily-program-date-switch button{border-radius:12px;min-height:48px}.punch-day-cards article{border-radius:16px}.punch-personal-link{border-radius:16px}.personal-program-card,.punch-scene,.daily-inspiration{overflow:hidden}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #01a0e2;outline-offset:3px}
@media(max-width:640px){.safety-process{grid-template-columns:1fr;gap:8px;margin:17px 0}.safety-process li{padding:12px}.safety-process small{font-size:13px}.safety-brief.safety-reminder{padding:18px}.safety-brief header h3{font-size:21px!important}.safety-brief .safety-dpi-chips{grid-template-columns:1fr}.safety-brief .safety-dpi-chips>span{padding:12px}.safety-brief-people{grid-template-columns:1fr}.quantity-site-grid{grid-template-columns:1fr}.quantity-site-grid>button{min-height:120px;padding:20px}.personal-quantities>header h3{font-size:22px}.quantity-desk>h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.quantity-site-grid>button{transition:none}}

.home-focus-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin:18px 0 24px}.home-focus-actions>button{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #dbe8e2;border-radius:17px;padding:20px;text-align:left;min-height:92px;box-shadow:0 6px 20px #001b3010;color:#153d30}.home-focus-actions>button>svg:first-child{color:#00814a;flex-shrink:0}.home-focus-actions>button>svg:last-child{margin-left:auto;color:#668376;flex-shrink:0}.home-focus-actions strong{display:block;font-size:16px}.home-focus-actions small{display:block;font-size:13px;color:#577065;margin-top:5px}.home-focus-actions>button:hover{border-color:#009746;background:#f3fbf7}@media(max-width:640px){.home-focus-actions{grid-template-columns:1fr 1fr;gap:9px}.home-focus-actions>button{padding:15px 12px;flex-wrap:wrap;gap:10px}.home-focus-actions>button>svg:last-child{display:none}.home-focus-actions strong{font-size:15px}.home-focus-actions small{font-size:12px}}

.ai-quality{margin-top:25px;padding-top:22px;border-top:1px solid #dbe8e2}.ai-quality>p{line-height:1.65;margin:10px 0}.ai-quality>.field{margin:18px 0}.ai-quality-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:20px}.ai-quality-results>article{border:1px solid #d5e7de;background:#f7fbf8;border-radius:16px;padding:20px;min-width:0}.ai-quality-results h4{font-size:20px;margin-bottom:8px}.ai-quality-results details{margin-top:16px}.ai-quality-results details>div{border-top:1px solid #dce8e3;padding:12px 0}.ai-quality-results small{display:block;color:#526b60;line-height:1.5;overflow-wrap:anywhere}

.inventory-workspace{--inv-ink:#153e35;--inv-line:#dfe9e4;max-width:1480px;margin:auto;color:var(--inv-ink)}.inventory-workspace button{cursor:pointer}.inv-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px;border:1px solid #d4e7df;border-radius:24px;background:linear-gradient(120deg,#e9f5ec,#eff8fd);margin-bottom:20px}.inv-eyebrow{display:flex;align-items:center;gap:8px;color:#24604c;font-size:11px;font-weight:800;letter-spacing:.13em}.inv-hero h1{font-size:clamp(26px,3vw,38px);line-height:1.15;font-weight:750;letter-spacing:-.04em;margin:12px 0}.inv-hero p{color:#50685e;max-width:550px;line-height:1.6;font-size:15px}.inv-hero>button{flex-shrink:0}.inv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.inv-stats>button{display:flex;align-items:center;gap:15px;text-align:left;background:white;padding:20px;border:1px solid var(--inv-line);border-radius:18px}.inv-stats svg{color:#00834c;background:#edf7ef;width:46px;height:46px;padding:12px;border-radius:14px}.inv-stats span{font-size:12px;color:#52665e}.inv-stats strong{display:block;font-size:28px;font-weight:750;line-height:1.3;color:var(--inv-ink)}.inv-stats .inv-low svg{background:#fff4d7;color:#906015}.inv-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.inv-search{display:flex;align-items:center;gap:10px;flex:1;min-width:230px;background:white;border:1px solid var(--inv-line);border-radius:12px;padding:0 14px}.inv-search input{background:transparent!important;border:0!important;width:100%;padding:12px 0!important;min-width:0;outline-offset:3px}.inv-tabs{display:flex;gap:4px;background:#eaf0ec;padding:4px;border-radius:12px}.inv-tabs button{padding:9px 12px;border-radius:9px;font-size:12px;font-weight:650;color:#52665e}.inv-tabs button[aria-pressed=true]{background:#fff;color:#146039;box-shadow:0 1px 3px #153e3510}.inv-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:22px}.inv-layout.has-detail{grid-template-columns:minmax(0,1fr) 340px}.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px}.inv-card{background:white;border:1px solid var(--inv-line);border-radius:20px;overflow:hidden;text-align:left;transition:transform .15s,box-shadow .15s;width:100%}.inv-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px #153e3510}.inv-card.selected{outline:2px solid #009746;outline-offset:2px}.inv-card-image{position:relative;height:175px;background:#f0f4f1;display:flex;align-items:center;justify-content:center}.inv-card-image img{width:100%;height:100%;object-fit:cover}.inv-badge{position:absolute;top:12px;right:12px;background:#ecf8ef;color:#1d613b;font-size:10px;font-weight:750;padding:6px 9px;border-radius:30px;box-shadow:0 2px 8px #1232}.inv-badge.warning{background:#fff3cf;color:#7b560a}.inv-card-body{padding:17px}.inv-category{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:750;color:#648074}.inv-card h2{font-size:17px;font-weight:750;line-height:1.3;margin:6px 0;overflow-wrap:anywhere}.inv-card p{font-size:12px;color:#67796f;min-height:18px;overflow-wrap:anywhere}.inv-stock{display:flex;align-items:baseline;justify-content:space-between;margin:18px 0 13px}.inv-stock strong{font-size:27px;letter-spacing:-.04em}.inv-stock small{font-size:13px;font-weight:500;letter-spacing:0}.inv-stock>span{font-size:11px;color:#718278}.inv-card footer{border-top:1px solid #edf1ed;padding-top:12px;display:flex;align-items:center;gap:5px;font-size:11px;color:#64786d;flex-wrap:wrap}.inv-card footer span{margin-left:auto;max-width:100%;overflow-wrap:anywhere}.inv-detail{background:white;border:1px solid var(--inv-line);border-radius:20px;padding:20px;min-width:0}.inv-detail-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.1em;color:#698173;font-weight:750;margin-bottom:15px}.inv-detail-heading button,.inv-dialog>header>button{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border-radius:50%;background:#f0f5f1}.inv-detail-photo{width:100%;height:185px;object-fit:cover;border-radius:12px;margin-bottom:16px}.inv-detail h2{font-size:21px;font-weight:750;overflow-wrap:anywhere}.inv-detail>p{font-size:13px;color:#60776a}.inv-detail-stock{display:flex;flex-direction:column;background:#eff7f0;border-radius:14px;padding:17px;margin:20px 0;gap:4px}.inv-detail-stock span{font-size:11px;color:#54735f}.inv-detail-stock strong{font-size:36px;line-height:1.2;letter-spacing:-.03em}.inv-detail-stock small{font-size:15px;letter-spacing:0}.inv-detail dl{display:grid;grid-template-columns:80px 1fr;gap:8px;font-size:12px;margin-bottom:20px}.inv-detail dt{color:#718078}.inv-detail dd{font-weight:600;overflow-wrap:anywhere}.inv-movement-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.inv-detail h3{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:750;margin:24px 0 12px}.inv-history{list-style:none;padding:0;max-height:500px;overflow:auto}.inv-history li{padding:13px 0;border-bottom:1px solid #edf1ed}.inv-history li>div{display:flex;justify-content:space-between;gap:6px;font-size:12px}.inv-history b{white-space:nowrap}.inv-history p{font-size:12px;color:#536c5e;margin:4px 0;overflow-wrap:anywhere}.inv-history small{display:block;font-size:10px;color:#718078;margin-top:5px}.inv-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:15px;padding:60px 25px;background:white;border:1px dashed #cbded2;border-radius:20px;color:#667b6d}.inv-empty h2{font-size:22px;color:#1d4d38;font-weight:700}.inv-empty p{max-width:390px;font-size:14px;line-height:1.7}.inv-empty>svg{color:#4e8c69}.inv-footnote{font-size:12px;color:#677c6e;margin:25px 0;line-height:1.7}.inv-notice{display:flex;gap:8px;align-items:center;padding:12px 15px;background:#e9f6ec;border:1px solid #bfe0c8;border-radius:12px;margin-bottom:16px;font-size:13px}.inv-notice button{margin-left:auto;min-width:32px;min-height:32px;display:grid;place-items:center}.inv-overlay{position:fixed;inset:0;z-index:150;background:#0b291db0;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px}.inv-dialog{width:680px;max-width:100%;max-height:92dvh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 30px 100px #0004;color:#153e35}.inv-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;border-bottom:1px solid #e4ece6}.inv-dialog h2{font-size:24px;font-weight:750;margin-top:7px;letter-spacing:-.025em}.inv-dialog form{padding:24px}.inv-photo-form{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center;margin-bottom:20px}.inv-photo-form>img,.inv-photo-form>div:first-child{width:140px;height:140px;object-fit:cover;border-radius:15px;background:#f0f5f1}.inv-photo-form>div:first-child{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;text-align:center;font-size:11px;color:#6b8773}.inv-photo-form p{font-size:11px;color:#6e8075;line-height:1.5;margin-top:10px}.inv-photo-button{display:inline-flex;gap:8px;align-items:center;position:relative;background:#edf7f0;border:1px solid #b8d8c3;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700;cursor:pointer;overflow:hidden}.inv-photo-button input,.inv-gallery input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.inv-photo-button:focus-within,.inv-gallery:focus-within{outline:2px solid #009746;outline-offset:3px}.inv-gallery{display:block;position:relative;width:fit-content;margin:10px 0;font-size:12px;text-decoration:underline;color:#176582;cursor:pointer;overflow:hidden}.inv-fields{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.inv-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;min-width:0}.inv-fields .wide{grid-column:1/-1}.inv-fields input,.inv-fields select,.inv-fields textarea{width:100%;border:1px solid #ceded3;background:#fbfdfb;border-radius:9px;padding:11px 12px;min-height:43px;font-size:14px;color:#153e35;font-weight:400}.inv-fields textarea{min-height:85px}.inv-confirm{display:flex;gap:10px;align-items:flex-start;padding:15px;background:#f1f7f2;border:1px solid #dfebe1;border-radius:12px;margin-top:20px;font-size:12px;line-height:1.6}.inv-confirm input{width:19px;height:19px;flex-shrink:0;margin-top:1px;accent-color:#009746}.inv-dialog form>footer{display:flex;justify-content:flex-end;gap:10px;margin-top:23px;padding-top:20px;border-top:1px solid #e4ece6}.inv-ai-note{padding:13px 15px;background:#eff7fb;border:1px solid #d3e6ef;border-radius:12px;font-size:12px;line-height:1.65;color:#315b70;margin:12px 0 18px;overflow-wrap:anywhere}.inv-ai-note strong{display:flex;gap:7px;align-items:center;color:#24516b}.inv-ai-note p{margin:6px 0}.inv-move-product{display:flex;gap:15px;align-items:center;padding:0 0 22px}.inv-move-product img{width:85px;height:85px;object-fit:cover;border-radius:12px}.inv-move-product h3{font-size:16px;font-weight:750}.inv-move-product p{font-size:12px;color:#637e6d;margin:5px 0}.inv-move-product strong{font-size:12px}.inventory-workspace button:focus-visible{outline:3px solid #008646;outline-offset:3px}@media(max-width:1100px){.inv-layout.has-detail{grid-template-columns:minmax(0,1fr) 310px}.inv-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}@media(max-width:850px){.inv-layout.has-detail{grid-template-columns:1fr}.inv-detail{grid-row:1}.inv-detail-photo{height:210px}.inv-history{max-height:300px}.inv-hero{padding:23px;align-items:flex-start;flex-direction:column;gap:15px}.inv-hero p{font-size:13px}.inv-stats{gap:8px}.inv-stats>button{padding:13px;gap:9px}.inv-stats svg{width:32px;height:32px;padding:8px}.inv-stats strong{font-size:24px}.inv-stats span{font-size:10px}}@media(max-width:540px){.inv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inv-card-image{height:135px}.inv-card-body{padding:12px}.inv-card h2{font-size:14px}.inv-card p{font-size:10px}.inv-stock{margin:14px 0 10px;gap:3px;flex-wrap:wrap}.inv-stock strong{font-size:24px}.inv-stock>span{font-size:10px}.inv-card footer{font-size:10px}.inv-badge{font-size:9px;top:8px;right:8px;padding:5px 7px}.inv-stats>button{flex-direction:column;align-items:flex-start;padding:13px}.inv-toolbar{gap:10px}.inv-search{flex-basis:100%}.inv-tabs{flex:1}.inv-toolbar>button span{display:none}.inv-tabs button{padding:9px;font-size:11px}.inv-overlay{padding:10px;align-items:flex-end}.inv-dialog{border-radius:20px;max-height:94dvh}.inv-dialog>header{padding:17px}.inv-dialog form{padding:17px}.inv-photo-form{grid-template-columns:100px 1fr;gap:14px}.inv-photo-form>img,.inv-photo-form>div:first-child{width:100px;height:125px}.inv-fields{gap:12px}.inv-dialog h2{font-size:21px}}
.inv-match,.inv-duplicates,.inv-merge-review{padding:16px;border:1px solid #c4decf;background:#eff8f2;border-radius:13px;margin:15px 0;color:#264f3c}.inv-match>strong{font-size:15px}.inv-match p,.inv-duplicates p,.inv-merge-review p{font-size:12px;line-height:1.6;margin:9px 0}.inv-match>label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:650}.inv-match select{width:100%;min-height:44px;border:1px solid #bfdbc9;background:white;border-radius:9px;padding:10px}.inv-match label.inv-confirm{flex-direction:row}.inv-duplicates summary{font-size:13px;font-weight:750;cursor:pointer}.inv-duplicates>div{padding:12px 0;border-top:1px solid #cfe3d6}.inv-duplicates strong,.inv-duplicates small{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.inv-duplicates button{margin-top:9px;font-size:12px;white-space:normal}.inv-merge-review h3{margin-top:0}.inv-merge-review .actions{margin-top:14px;gap:8px}.inv-product-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0}.inv-product-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.inv-transfer{margin:28px 0;padding:24px;background:white;border:1px solid #d6e5dd;border-radius:20px;scroll-margin-top:90px}.inv-transfer>header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.inv-transfer h2{font-size:23px;font-weight:750;letter-spacing:-.025em;margin:9px 0;color:#153e35}.inv-transfer header p{font-size:13px;color:#60786b;line-height:1.6}.inv-transfer .actions{gap:8px}.inv-transfer-form{padding-top:22px;margin-top:20px;border-top:1px solid #e0eae3}.inv-transfer-photo{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px}.inv-transfer-photo a{font-size:12px;text-decoration:underline;color:#176582}.inv-transfer-photo .inv-gallery{margin:0}.inv-ddt-lines{display:grid;gap:12px;margin:22px 0 15px}.inv-ddt-line{display:grid;grid-template-columns:24px minmax(0,1fr) 130px 40px;gap:12px;align-items:start;padding:15px;background:#f5f9f6;border:1px solid #dfeae3;border-radius:12px}.inv-line-number{margin-top:31px;font-size:12px;font-weight:750;color:#74907c}.inv-ddt-line label,.inv-transfer-notes{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;min-width:0}.inv-ddt-line select,.inv-ddt-line input,.inv-transfer-notes textarea{width:100%;min-height:44px;border:1px solid #ceded3;background:white;border-radius:8px;padding:9px;font-size:13px;color:#214b37}.inv-ddt-line small{display:block;font-size:11px;font-weight:400;color:#5e7968;margin-top:7px;line-height:1.5}.inv-ddt-line small svg{display:inline}.inv-ddt-line>button{margin-top:22px}.inv-transfer-notes{margin-top:20px}.inv-transfer-notes textarea{min-height:80px}.inv-transfer-form>footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.inv-ddt-history{display:grid;gap:10px;margin-top:22px}.inv-ddt-history article{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #dce8df;border-radius:12px}.inv-ddt-history article>svg{color:#13864e;flex-shrink:0}.inv-ddt-history article>div{flex:1;min-width:0}.inv-ddt-history strong{font-size:14px;overflow-wrap:anywhere}.inv-ddt-history p{font-size:12px;color:#687e70;margin-top:5px}.inv-ddt-history a{font-size:12px;text-decoration:underline}@media(max-width:640px){.inv-transfer{padding:17px}.inv-transfer>header{align-items:stretch;gap:15px}.inv-transfer .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.inv-transfer .actions button{font-size:12px;padding:9px}.inv-ddt-line{grid-template-columns:20px minmax(0,1fr) 38px;padding:12px;gap:9px}.inv-ddt-line>div{grid-column:2;grid-row:1}.inv-ddt-line>label{grid-column:2;grid-row:2}.inv-ddt-line>button{grid-column:3;grid-row:1}.inv-ddt-line input,.inv-ddt-line select{font-size:16px}.inv-ddt-history article{flex-wrap:wrap}.inv-ddt-history article>div{flex-basis:calc(100% - 40px)}.inv-transfer-form .inv-fields{grid-template-columns:1fr}.inv-transfer-form>footer button{font-size:12px;padding:10px}}

.inv-ddt-intake{margin:18px 0;padding:18px;border:1px solid #c7e6d5;border-radius:16px;background:#f3faf6}.inv-ddt-intake summary{display:flex;gap:10px;align-items:center;cursor:pointer;font-weight:700;color:#006c43;min-height:40px}.inv-ddt-intake p{font-size:14px;line-height:1.5;margin:12px 0}.inv-ddt-intake h3{display:flex;gap:8px;align-items:center;margin-top:24px}.inv-ddt-intake .field{margin:16px 0;max-width:540px}

.inv-site-stocks{margin:18px 0;padding:14px;border:1px solid #d9e7e2;border-radius:14px}.inv-site-stocks>div{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0}.inv-site-stocks strong{display:block;font-size:18px;color:#006c43}.inv-site-stocks p{font-size:13px;color:#60768a}

/* Warehouse-only navigation: keep operational tools above personal settings. */
.warehouse-workspace{width:100%;min-width:0;padding-top:16px;padding-bottom:32px}
.warehouse-home-header{margin-bottom:24px;color:#173e33}
.warehouse-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.warehouse-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#143e31;flex-shrink:0}
.warehouse-brand img{width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff}
.warehouse-brand>span{font-size:20px;font-weight:850;letter-spacing:-.6px;line-height:1.05}
.warehouse-brand small{display:block;font-size:11px;font-weight:550;letter-spacing:.3px;color:#668078;margin-top:5px}
.warehouse-top-actions{display:flex;align-items:center;gap:8px}
.warehouse-top-actions .notification-button{position:relative;width:44px!important;min-width:44px!important;height:44px;min-height:44px;padding:10px!important;border:1px solid #dce7e1!important;border-radius:14px!important;background:#fff!important;color:#215446!important;box-shadow:none}
.warehouse-top-actions .notification-label{display:none}
.warehouse-top-actions .notification-count{position:absolute;top:-5px;right:-5px;min-width:21px;height:21px;display:grid;place-items:center;border:2px solid #f2f6f4;border-radius:12px;background:#c52430;color:#fff;font-size:10px;line-height:1;padding:2px 4px}
.warehouse-account{position:relative;z-index:20}
.warehouse-account>summary{display:flex;align-items:center;justify-content:center;gap:7px;list-style:none;cursor:pointer;min-height:44px;padding:10px;border:1px solid #dce7e1;background:white;border-radius:14px;font-size:12px;color:#215446}
.warehouse-account>summary::-webkit-details-marker{display:none}
.warehouse-account-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(290px,calc(100vw - 32px));padding:14px;border:1px solid #dce7e1;background:#fff;box-shadow:0 12px 35px #183c3120;border-radius:16px;display:grid;gap:6px}
.warehouse-account-panel>strong{padding:8px;font-size:13px;overflow-wrap:anywhere}
.warehouse-account-panel button{justify-content:flex-start;width:100%;font-size:13px!important;white-space:normal;min-height:44px}
.warehouse-welcome{position:relative;display:flex;align-items:center;gap:12px;padding:24px;border-radius:22px;background:linear-gradient(115deg,#edf8f1,#e9f5fa);border:1px solid #d6e9df;overflow:hidden}
.warehouse-welcome>div{min-width:0;flex:1}
.warehouse-kicker{font-size:9px;font-weight:750;letter-spacing:1.8px;color:#437965}
.warehouse-welcome .personal-greeting{display:block;margin:10px 0 7px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.warehouse-welcome .personal-greeting-icon{display:none}
.warehouse-welcome .personal-greeting p{font-size:24px;line-height:1.25;letter-spacing:-.6px;color:#14543d!important;margin:0}
.warehouse-welcome .greeting-salutation{display:block;font-size:13px;font-weight:500;letter-spacing:0;margin-bottom:6px;color:#4a7366!important}
.warehouse-welcome .personal-greeting strong{color:#14543d!important;font-weight:800;text-transform:capitalize}
.warehouse-welcome>div>p{font-size:12px;line-height:1.6;color:#57756c;margin:10px 0 0;max-width:330px}
.warehouse-welcome-icon{flex-shrink:0;color:#008b54;opacity:.35}
.warehouse-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px}
.warehouse-section-heading h2{font-size:16px!important;font-weight:750;line-height:1.4;margin:0;color:#173e33}
.warehouse-section-heading>span{font-size:9px;font-weight:750;letter-spacing:1px;color:#7a958b}
.warehouse-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.warehouse-shortcuts>button{appearance:none;display:flex;flex-direction:column;align-items:stretch;min-width:0;text-align:left;min-height:145px;padding:16px;border-radius:18px;border:1px solid #d9e6df;background:#fff;color:#214d3f;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
.warehouse-shortcuts>button[aria-current="page"]{border-color:#009746;background:#effaf4;box-shadow:inset 0 0 0 1px #009746}
.warehouse-shortcut-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px;color:#82998f}
.warehouse-shortcut-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf6ef;color:#008446}
.warehouse-shortcuts>button:nth-child(2) .warehouse-shortcut-icon{background:#eaf5fb;color:#087aa5}
.warehouse-shortcuts>button:nth-child(4) .warehouse-shortcut-icon{background:#fff6da;color:#927010}
.warehouse-shortcuts>button>strong{font-size:15px;line-height:1.3;font-weight:750;white-space:normal;overflow-wrap:break-word}
.warehouse-shortcuts>button>small{font-size:11px;line-height:1.5;color:#6c8278;margin-top:5px}
.warehouse-production-count{display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:9px;background:#fff0c3;color:#805b08;font-size:12px;font-weight:800}
.warehouse-personal-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.warehouse-personal-tools>button,.warehouse-personal-tools>a{display:flex;align-items:center;gap:10px;min-height:58px;flex:1;padding:12px 16px;border:1px solid #dce7e1;border-radius:15px;background:#fff;color:#315f50;font-size:13px;text-align:left;text-decoration:none;cursor:pointer}
.warehouse-personal-tools>button[aria-current="page"]{border-color:#009746;background:#effaf4}
.warehouse-personal-tools>button>span{flex:1;font-weight:650}
.warehouse-personal-tools small{display:block;font-size:10px;font-weight:400;color:#738a80;margin-top:3px}
.warehouse-personal-tools svg{flex-shrink:0}
.warehouse-communications{margin-top:16px;padding-top:16px;border-top:1px solid #dce7e1}
.warehouse-communications .communication-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.warehouse-communications .communication-tools button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;width:100%;height:auto;min-height:46px;margin:0;padding:12px 6px!important;font-size:12px!important;line-height:1.3;white-space:nowrap!important;word-break:normal;overflow-wrap:normal;border:1px solid #d7e5de;border-radius:13px;color:#275d4b;background:#fff;box-shadow:none}
.warehouse-communications .communication-tools button:first-child{background:#007a47;color:#fff;border-color:#007a47}
.warehouse-communications .communication-tools svg{width:18px;height:18px;flex-shrink:0}
.warehouse-workspace button:focus-visible,.warehouse-account>summary:focus-visible,.warehouse-brand:focus-visible{outline:3px solid #01a0e2;outline-offset:3px}
@media(hover:hover){.warehouse-shortcuts>button:hover{border-color:#009746;box-shadow:0 5px 16px #1b594b0d}}
@media(max-width:700px){.warehouse-workspace{padding:14px!important}.warehouse-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.warehouse-shortcuts>button{min-height:137px;padding:15px}.warehouse-welcome{padding:21px 18px}.warehouse-welcome .personal-greeting p{font-size:23px}.warehouse-welcome-icon{width:46px;height:46px}.warehouse-account>summary>span{display:none}.warehouse-section-heading{margin-top:21px}}
@media(max-width:360px){.warehouse-workspace{padding:10px!important}.warehouse-brand>span{font-size:18px}.warehouse-topbar{gap:8px}.warehouse-brand img{width:34px;height:34px}.warehouse-welcome-icon{display:none}.warehouse-communications .communication-tools button{flex-direction:column;font-size:11px!important;gap:5px;min-height:60px}.warehouse-shortcuts>button>strong{font-size:14px}}
/* Connection warnings get their own row rather than squeezing header controls. */
.warehouse-topbar{flex-wrap:wrap}
.warehouse-brand{flex:1}
.warehouse-top-actions{display:contents}
.warehouse-top-actions .call-connection-warning{order:4;flex:0 0 100%;font-size:12px;line-height:1.5;margin:0;white-space:normal}

/* One shared gallery for published photos, attachments and site visits. */
.iswork-photo-grid:not([hidden]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:12px 0;overflow:hidden;border-radius:12px}
.iswork-photo-grid[hidden]{display:none!important}
.iswork-photo-grid>button{position:relative;display:block;aspect-ratio:1;min-width:0;min-height:0;width:100%;height:auto;padding:0;border:0;border-radius:0;background:#e6ecef;overflow:hidden;cursor:zoom-in}
.iswork-photo-grid .photo-thumbnail{display:block;width:100%;height:100%}
.iswork-photo-grid>button .photo-thumbnail img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0}
.photo-thumbnail-status{display:flex;align-items:center;justify-content:center;min-height:100%;padding:10px;font-size:11px;line-height:1.35;text-align:center;color:#516878}
.photo-grid-more{position:absolute;inset:0;display:grid;place-items:center;background:#07182a85;color:white;font-size:30px;font-weight:650}
.iswork-photo-grid>button:focus-visible{outline:3px solid #01a0e2;outline-offset:-3px}
@media(min-width:900px){.iswork-photo-grid:not([hidden]){grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
.app-dialog-panel.photo-viewer.photo-viewer-gallery{position:relative;padding:max(8px,env(safe-area-inset-top,0px),var(--native-safe-top,0px)) max(8px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#08090b;gap:0}
.photo-viewer-gallery .photo-viewer-header{min-height:52px;padding:0 8px 6px;gap:8px}
.photo-viewer-gallery .gallery-heading{min-width:0;flex:1}
.photo-viewer-gallery .gallery-heading h2{font-size:14px;line-height:1.35;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0}
.gallery-heading>span{display:block;font-size:12px;color:#afb7c2;margin-top:3px}
.photo-viewer-gallery .photo-viewer-header .photo-viewer-control{width:44px;min-width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#ffffff12}
.photo-viewer-gallery .photo-viewer-stage{min-height:0;flex:1;padding:0;touch-action:none}
.photo-viewer-gallery .photo-viewer-stage img{object-fit:contain;border-radius:0}
.gallery-filmstrip{display:flex;align-items:center;justify-content:flex-start;gap:4px;flex-shrink:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;padding:10px 4px 6px;max-width:100%;height:64px;box-sizing:border-box}
.gallery-filmstrip::-webkit-scrollbar{display:none}
.gallery-filmstrip>button{display:block;flex:0 0 40px;height:46px;overflow:hidden;padding:0;border:2px solid transparent;border-radius:5px;background:#222830;opacity:.6;cursor:pointer}
.gallery-filmstrip>button[aria-current=true]{border-color:#fff;opacity:1}
.gallery-filmstrip .photo-thumbnail,.gallery-filmstrip img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.gallery-filmstrip .photo-thumbnail-status{padding:2px;font-size:0;background:#222830}
.gallery-toolbar{position:relative;display:flex;align-items:center;gap:4px;flex-shrink:0;min-height:56px;padding:2px 0}
.gallery-toolbar .photo-file-actions{flex:1;min-width:0;padding:0;max-height:20dvh}
.gallery-toolbar .photo-file-buttons{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.gallery-toolbar .photo-file-buttons button,.gallery-toolbar>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;border:0;border-radius:8px;background:transparent;color:#fff;padding:4px;font-size:10px;line-height:1.2;cursor:pointer}
.gallery-toolbar .photo-file-buttons button svg{width:22px;height:22px}
.gallery-toolbar>.gallery-more{min-width:48px}.gallery-toolbar>.gallery-arrow{min-width:32px}
.photo-viewer-gallery button:focus-visible{outline:2px solid #01a0e2;outline-offset:-2px}
.gallery-tools{position:absolute;bottom:calc(72px + env(safe-area-inset-bottom,0px));left:8px;right:8px;z-index:3;max-width:600px;margin:auto;max-height:60%;overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid #3c4654;border-radius:18px;background:#1b2028;color:#fff;box-shadow:0 10px 40px #0008}
.gallery-tools-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gallery-tools-heading>button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff12;color:white}
.gallery-tools .photo-viewer-zoom{justify-content:flex-start;gap:8px}
.gallery-tools .photo-viewer-zoom>span:last-child{flex-basis:100%}
@media(max-height:450px){.gallery-filmstrip{display:none}.photo-viewer-gallery .photo-viewer-header{min-height:44px}.gallery-toolbar{min-height:44px}.gallery-toolbar .photo-file-buttons button,.gallery-toolbar>button{min-height:44px;flex-direction:row}.gallery-tools{max-height:65%}}

.finance-workspace{display:grid;gap:20px;min-width:0;max-width:1280px;margin:0 auto}.finance-workspace .panel{margin:0}.finance-heading{display:flex;align-items:center;gap:16px;padding:26px 28px;background:linear-gradient(120deg,#082f3a,#075445 65%,#08798d);color:#fff;border-radius:22px;box-shadow:0 14px 35px #0d3b4b14}.finance-heading>svg{width:44px;height:44px;flex-shrink:0;padding:10px;box-sizing:content-box;background:#ffffff15;border-radius:18px}.finance-heading h2{margin:5px 0;font-size:clamp(22px,4vw,31px);color:#fff!important}.finance-heading p,.finance-heading .eyebrow{color:#d1e9e7!important;margin:0}.finance-heading .eyebrow{font-size:10px;letter-spacing:.13em}
.finance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.finance-metrics>article{min-width:0;padding:23px 18px;background:#fff;border:1px solid #d9e7e7;border-radius:18px;box-shadow:0 6px 25px #0d3b4b05;border-top:3px solid #009746}.finance-metrics span{display:block;font-size:12px;color:#57727b;line-height:1.4}.finance-metrics strong{display:block;font-size:clamp(20px,2.4vw,30px);letter-spacing:-.04em;margin-top:9px;color:#123b47;overflow-wrap:anywhere}.finance-metrics small{display:block;color:#5b747a;font-size:11px;margin-top:7px}.finance-metrics article:nth-child(2){border-top-color:#01a0e2}.finance-metrics article:last-child{background:linear-gradient(150deg,#e8f7ee,#f5fcf9)}.finance-metrics .negative{border-top-color:#e31e25!important}.finance-metrics .negative strong,.finance-variance.negative strong{color:#b82d30}
.finance-chart-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;min-width:0}.finance-progress-card{display:flex;align-items:center;justify-content:space-between;gap:24px;grid-column:1/-1;padding:28px 32px;border-radius:22px;background:radial-gradient(ellipse at 95% 10%,#087c803d,transparent 60%),linear-gradient(120deg,#0b293b,#103e47);color:#fff;overflow:hidden}.finance-progress-card h3{color:white!important;font-size:22px;margin:8px 0}.finance-progress-card p{color:#bbd4dc;margin:0 0 16px}.finance-progress-card small{display:block;max-width:550px;font-size:11px;color:#b1ccd4;margin-top:12px;line-height:1.5}.finance-chart-eyebrow{font-size:10px;letter-spacing:.15em;color:#a9ddd8}.finance-progress-ring{width:154px;height:154px;flex:0 0 154px;display:grid;place-items:center;border-radius:50%;box-shadow:0 0 35px #01a0e210}.finance-progress-ring>span{display:flex;flex-direction:column;align-items:center;justify-content:center;width:130px;height:130px;border-radius:50%;background:#10323f}.finance-progress-ring strong{font-size:32px;letter-spacing:-.05em}.finance-progress-ring small{margin:0;font-size:11px}.finance-chart-grid .finance-trend{grid-column:1/-1}.finance-chart{min-width:0;padding:24px!important;overflow:hidden}.finance-chart-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.finance-chart-title h3{margin:4px 0;font-size:19px}.finance-chart-title .eyebrow{font-size:9px;letter-spacing:.13em}.finance-chart-badge{white-space:nowrap;padding:6px 10px;border-radius:8px;font-size:10px;background:#e9f5f4;color:#267268}.finance-chart-empty{display:grid;place-items:center;min-height:180px;text-align:center;color:#617a83;background:linear-gradient(#f5f9fa,#fff);border-radius:12px;font-size:14px;padding:16px}.finance-chart-key{display:grid;gap:9px}.finance-chart-key>div{display:flex;align-items:center;gap:9px;font-size:12px}.finance-chart-key i{width:9px;height:9px;border-radius:50%}.finance-chart-key strong{margin-left:auto}.finance-variance{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid #e1ebee;font-size:12px}.finance-variance strong{font-size:18px;color:#08744f}.finance-chart .muted{font-size:11px;line-height:1.5}
.finance-cost-list{display:grid;gap:4px}.finance-cost-list p{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;margin:0;border-bottom:1px solid #e5eded;font-size:14px}.finance-cost-list strong{font-size:16px;white-space:nowrap;color:#164356}.finance-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0;border:1px solid #d9e8e9;border-radius:14px;overflow:hidden}.finance-flow>div{padding:18px 14px;background:#f5faf9;border-right:1px solid #d9e8e9}.finance-flow span{display:block;color:#587780;font-size:11px;min-height:34px}.finance-flow strong{display:block;font-size:19px;color:#0d4d5b;margin-top:8px;overflow-wrap:anywhere}.finance-budget-form h4,.crew-report h4{margin:25px 0 12px;font-size:18px}.finance-workspace .field{margin:15px 0}.finance-workspace input,.finance-workspace select{min-width:0}.finance-budget-form fieldset,.crew-report fieldset{min-width:0}.finance-check{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;padding:16px 0}.finance-check input{width:20px!important;min-width:20px;height:20px;flex:none;margin-top:2px;accent-color:#009746}.finance-cost-editor{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 44px;gap:10px;align-items:center;padding:0 0 14px;border-bottom:1px solid #e1eaed}.finance-intake-row{display:flex;flex-direction:column;gap:5px;padding:14px 0;border-bottom:1px solid #e1ebee;overflow-wrap:anywhere}.finance-intake-row span,.finance-intake-row small{font-size:12px;color:#5e7882}.finance-intake-row a{color:#087b9e;text-decoration:underline}.finance-site-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px}.finance-site-grid>button{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;padding:24px;border:1px solid #d7e7e3;border-radius:18px;background:#fff;color:#174255}.finance-site-grid>button svg{color:#009746}.finance-site-grid span{font-size:12px;color:#607d84}.finance-table-scroll{overflow:auto;max-height:520px;overscroll-behavior:contain;margin:14px 0}.finance-table-scroll table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.finance-table-scroll th{position:sticky;top:0;background:#edf7f2;padding:14px 12px;color:#276554;z-index:1}.finance-table-scroll td{padding:12px;border-bottom:1px solid #e1ebec;min-width:130px}.finance-table-scroll td:first-child{min-width:60px}.finance-table-scroll td small{display:block;color:#6b7e87;font-size:11px;margin-top:5px}.finance-table-scroll td select{min-width:220px;width:100%;padding:8px;border:1px solid #cadce1;border-radius:8px}.finance-table-scroll td input[type=number]{width:140px;padding:8px;border:1px solid #cadce1;border-radius:8px}.finance-table-scroll td input[type=checkbox]{width:20px;height:20px;accent-color:#009746}.crew-report{display:grid;gap:18px}.crew-person{display:grid;grid-template-columns:2fr 1fr 44px;gap:12px;align-items:end;margin:14px 0}.crew-activity{padding:18px;border:1px solid #d4e6e0;border-radius:14px;margin:12px 0;background:#f8fcfa}.crew-report .visit-dictation h3{display:flex;align-items:center;gap:8px}.invoice-intake h2{display:flex;gap:10px;align-items:center}
@media(max-width:767px){.finance-workspace{gap:14px}.finance-heading{padding:22px 18px;border-radius:18px;align-items:flex-start}.finance-heading>svg{width:26px;height:26px;padding:8px;border-radius:12px}.finance-heading h2{font-size:23px}.finance-heading p{font-size:12px}.finance-metrics{grid-template-columns:1fr 1fr;gap:9px}.finance-metrics>article{padding:16px 13px;border-radius:14px}.finance-metrics strong{font-size:22px}.finance-chart-grid{grid-template-columns:minmax(0,1fr);gap:14px}.finance-chart{padding:18px 12px!important}.finance-chart-title{padding:0 5px}.finance-chart-title h3{font-size:17px}.finance-progress-card{padding:22px 18px;gap:16px}.finance-progress-card h3{font-size:18px}.finance-progress-card p{font-size:11px;margin-bottom:12px}.finance-progress-card>div:first-child>strong{font-size:14px}.finance-progress-ring{width:108px;height:108px;flex-basis:108px}.finance-progress-ring>span{width:90px;height:90px}.finance-progress-ring strong{font-size:24px}.finance-progress-card>div:first-child>small{font-size:10px}.finance-flow{grid-template-columns:1fr 1fr}.finance-flow>div{padding:15px 12px;border-bottom:1px solid #d9e8e9}.finance-flow strong{font-size:18px}.finance-cost-list p{font-size:12px;gap:10px}.finance-cost-list strong{font-size:14px}.finance-cost-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.finance-cost-editor>.field:nth-child(2){grid-column:1/-1;grid-row:1}.finance-budget-form .formgrid{grid-template-columns:1fr}.crew-person{grid-template-columns:minmax(0,1fr) 85px 38px;gap:8px}.crew-report .panel{padding:18px 14px}.finance-chart-badge{font-size:9px}.finance-table-scroll{margin:14px -8px}}

/* Permanent IS WORK identity. Logo palette sampled from public/industrial-logo.jpg.
   Keep this file after theme styles. Dark variants are for legible text and controls. */
:root{--brand-green:#009746;--brand-blue:#01a0e2;--brand-red:#e31e25;--brand-yellow:#feed00;--brand-green-ink:#00743a;--brand-blue-ink:#0075a5;--brand-dark:#103e31;--primary:var(--brand-green-ink);--primary-foreground:#fff;--ring:var(--brand-green);--accent:#e3f4ec;--accent-foreground:var(--brand-green-ink);--brand-stripe:linear-gradient(90deg,var(--brand-green) 0 40%,var(--brand-blue) 40% 73%,var(--brand-red) 73% 88%,var(--brand-yellow) 88% 100%)}
.personal-greeting,.workspace-topline .personal-greeting{color:var(--brand-green-ink);background:#fff;border:1px solid #d6e8df;border-left:4px solid var(--brand-green);padding:12px 15px;box-shadow:none;border-radius:12px}
.personal-greeting p,.workspace-topline .personal-greeting p{color:var(--brand-green-ink);font-weight:650;font-size:18px;line-height:1.5}
.personal-greeting strong,.workspace-topline .personal-greeting strong{color:var(--brand-blue-ink);font-size:inherit;font-weight:750}
.personal-greeting .personal-greeting-icon{color:var(--brand-green-ink);background:#e6f5ec}
.topbar{border-image:none}.topbar:after{background:var(--brand-stripe)}
.operations-console{background:var(--brand-dark);border-color:#2e6552}
.console-intro h2 span{color:#b8decf}.console-intro p{color:#c4ded4}.console-kicker{color:#8bdbfa}
.console-metrics{background:#0c3126}.console-metrics button:hover{background:#18523e}.console-metrics span,.console-metrics strong small{color:#bddacd}.console-metrics svg{color:#78cfee}
.console-assistant{border-color:#52816e}.console-assistant:hover{border-color:var(--brand-blue)}.console-assistant>span:not(.assistant-mark){color:#c0ded3}.console-assistant>svg{color:#7bd2f5}
.assistant-mark,.console-assistant .assistant-mark{background:var(--brand-blue-ink)}
.assistant-launch{background:#e6f5ed;border-color:#b7dfc8;color:var(--brand-green-ink)}
.assistant-composer button{background:var(--brand-green-ink)}
.workspace-shortcuts button>svg:first-child,.import-title,.roster-import summary{color:var(--brand-green-ink)}
.workspace-shortcuts button:hover{border-color:var(--brand-green);background:#f2faf5}
.today-home-tabs [role="tab"][data-state="active"]{color:var(--brand-green-ink)!important;border-bottom-color:var(--brand-green)!important}
.industrial-sidebar [data-slot="sidebar-inner"]{background:var(--brand-dark)!important}
.industrial-sidebar [data-slot="sidebar-menu-button"][data-active="true"]{background:var(--brand-green-ink)!important}
.industrial-sidebar .workspace-search{background:#1b5041;border-color:#3f7260}
.industrial-sidebar .profile{background:#0c3126}
.industrial-sidebar .brand small,.industrial-sidebar .workspace,.industrial-sidebar .workspace-menu-group h2{color:#b5d6c7!important}
.field-bottom button[aria-current=page]{color:var(--brand-green-ink);background:#e3f4ec}
.sitecard:hover{border-color:var(--brand-green)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--brand-blue-ink)}

/* The working day: compact overview, generous readable task rows, permanent IS WORK identity. */
.operations-console{position:relative;padding-top:23px;box-shadow:0 9px 30px #103e3110}
.operations-console:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:var(--brand-stripe)}
.console-intro{gap:22px;padding-bottom:22px}.console-intro h2{font-size:clamp(24px,2.3vw,32px);max-width:540px}.console-intro h2 span{display:block;font-weight:450}.console-metrics span{font-size:14px;line-height:1.4}
.action-desk{padding:6px 0 20px;color:#183e36}.desk-header{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:12px 0 22px}.desk-header .eyebrow{font-size:12px;color:var(--brand-blue-ink);letter-spacing:.13em}.desk-header h2{font-size:clamp(22px,2.2vw,29px);letter-spacing:-.035em;line-height:1.25;margin:7px 0}.desk-header p{font-size:16px;color:#536d65;margin:0}
.action-desk button,.company-setup button,.reference-editor button,.production-delivery button{min-height:44px;border-radius:10px;white-space:normal;line-height:1.35}.desk-counters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.desk-counters button{display:grid;grid-template-columns:1fr auto;gap:5px;text-align:left;padding:17px 20px;background:white;border:1px solid #dbe6e2;border-radius:14px;transition:border-color .15s,box-shadow .15s}.desk-counters button:hover{border-color:var(--brand-green);box-shadow:0 4px 16px #103e310b}.desk-counters svg{grid-column:2;grid-row:1;color:var(--brand-blue-ink)}.desk-counters strong{font-size:32px;line-height:1.1;letter-spacing:-.045em;font-weight:650}.desk-counters span{grid-column:1/-1;font-size:14px;color:#51695f}.desk-counters button:nth-child(2) svg{color:#af302c}.desk-counters button:nth-child(3) svg{color:#866507}
.desk-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.desk-toolbar .field{margin:0;flex:0 1 240px;min-width:0}.desk-toolbar select{background:#fff;border-color:#d6e3dc;min-height:44px}.desk-toolbar>span{margin-left:auto;color:#526a62;font-size:14px}
.desk-list{display:grid;gap:10px}.desk-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:14px;padding:21px;background:#fff;border:1px solid #dbe6e2;border-radius:14px;box-shadow:0 3px 12px #153e3104}.desk-row.overdue{border-left:4px solid #c13c34;padding-left:18px}.desk-kind{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eaf6ef;color:var(--brand-green-ink)}.overdue .desk-kind{background:#fff0ed;color:#ac312d}.desk-site{font-size:12px;letter-spacing:.045em;color:#536c62;font-weight:600}.desk-row h3{font-size:17px;line-height:1.4;letter-spacing:-.02em;color:#173e31;margin:4px 0 10px;overflow-wrap:anywhere}.desk-row-meta{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:14px;color:#536b62}.desk-row-meta>span{display:inline-flex;align-items:center;gap:5px}.desk-row-meta>span:last-child{background:#f0f6f3;border-radius:5px;padding:1px 7px;color:#375d4e}.overdue .desk-row-meta>span:nth-child(2){color:#a72f29;font-weight:600}.desk-row small{display:block;font-size:12px;color:#64796f;margin-top:9px}.desk-row-actions{display:flex;gap:5px;align-self:center}.desk-edit{grid-column:2/-1;margin-top:10px;padding-top:18px;border-top:1px solid #e3ebe7;min-width:0}.desk-edit p{white-space:pre-wrap;overflow-wrap:anywhere}.desk-edit .actions{flex-wrap:wrap;gap:8px}.desk-edit select{min-height:44px;border:1px solid #cddcd4;border-radius:8px;padding:7px;background:white}.desk-edit details{margin-top:18px}.desk-edit summary{font-size:14px;cursor:pointer}.desk-edit details p{font-size:14px;border-left:2px solid #b4daca;padding-left:12px;margin:12px 0}.desk-empty{display:flex;align-items:center;flex-direction:column;text-align:center;gap:10px;padding:38px 20px;border:1px dashed #bed6c8;border-radius:16px;background:#f8fcfa}.desk-empty svg{color:var(--brand-green-ink)}.desk-empty strong{font-size:18px}.desk-empty p{font-size:16px;color:#526b61;margin:0}.desk-form{margin-bottom:20px}.desk-form h3{margin-bottom:18px}.desk-form .field,.desk-edit .field{font-size:14px}
.delivery-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:22px 0;padding:0;gap:8px}.delivery-track li{display:flex;align-items:center;gap:7px;flex-direction:column;font-size:14px;color:#61766d;border-top:3px solid #dce5df;padding-top:12px;text-align:center}.delivery-track li>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#edf2ef;font-weight:650}.delivery-track li.reached{border-color:var(--brand-green);color:var(--brand-green-ink)}.delivery-track li.reached>span{background:#dcf1e4}.production-delivery{background:#f0f8fc;border:1px solid #d1e7f1;border-radius:12px;padding:18px;margin:18px 0}.production-delivery p{margin-bottom:12px}.production-linked{background:#f2f8f4;border-left:3px solid var(--brand-green);padding:12px;margin:12px 0;font-size:14px}
.reference-editor{margin:22px 0;border:1px solid #cce2d7;border-radius:14px;background:#f8fcfa;padding:18px}.reference-editor-title{display:flex;align-items:center;gap:13px}.reference-editor-title>svg{color:var(--brand-green-ink);flex-shrink:0}.reference-editor-title>div{flex:1}.reference-editor-title strong{font-size:17px;color:#173e31}.reference-editor-title p{font-size:14px;color:#4e6c5f;margin:4px 0}.reference-editor form{padding-top:20px;margin-top:16px;border-top:1px solid #d6e6dd}.reference-editor details{margin-top:18px;font-size:14px}.reference-editor details a{color:var(--brand-blue-ink);text-decoration:underline;text-underline-offset:3px}.reference-confirm{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;margin:16px 0}.reference-confirm input{flex:0 0 18px;width:18px;height:18px;margin-top:2px;accent-color:var(--brand-green-ink)}.reference-editor>p[role=status]{display:flex;gap:8px;align-items:center;color:var(--brand-green-ink);margin-top:14px}
.setup-heading{display:flex;gap:20px;align-items:center;padding:16px 0 28px}.setup-heading>img{width:64px;height:64px;object-fit:contain;background:#fff;border:1px solid #dce8e0;border-radius:16px;padding:7px}.setup-heading>div{flex:1}.setup-heading h2{font-size:clamp(25px,3vw,34px);letter-spacing:-.035em;line-height:1.2;margin:8px 0}.setup-heading p{font-size:16px;color:#526d60}.setup-heading>strong{font-size:32px;color:var(--brand-green-ink)}.setup-heading small{display:block;font-size:12px;font-weight:500;letter-spacing:0;color:#526b60}.setup-profile h3{font-size:20px;margin-bottom:20px}.setup-profile{margin-bottom:20px}.setup-saved{display:inline-flex;gap:7px;align-items:center;margin-left:16px;font-size:14px;color:var(--brand-green-ink)}.setup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.setup-step{position:relative;border:1px solid #dae7df;border-radius:16px;background:white;padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.setup-step>svg{color:var(--brand-blue-ink);margin-bottom:12px}.setup-step-number{position:absolute;right:20px;top:20px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#edf3f0;color:#3c6653;font-size:14px}.setup-step.done .setup-step-number{background:#e0f2e7;color:var(--brand-green-ink)}.setup-step h3{font-size:21px;letter-spacing:-.025em}.setup-step p{font-size:16px;color:#526d60;flex:1;line-height:1.5}.setup-step button{margin-top:10px}.setup-note{font-size:14px;color:#52695e;margin:22px 0;line-height:1.6;max-width:820px}.upload-recovery{background:#fff9e8;border:1px solid #e6d8a9;border-radius:12px;padding:18px;margin:16px 0}.upload-recovery ul{margin:10px 0 16px;padding-left:20px;list-style:disc;font-size:14px;overflow-wrap:anywhere}
@media(max-width:800px){.desk-counters{gap:8px}.desk-counters button{padding:15px}.desk-row{padding:16px;gap:11px}.desk-row.overdue{padding-left:13px}.setup-steps{grid-template-columns:1fr}.setup-heading>strong{display:none}}
@media(max-width:640px){.operations-console{padding:18px 18px 0}.console-intro{padding-bottom:16px}.console-intro h2{font-size:24px;margin:8px 0}.console-intro h2 span{display:inline}.console-intro p{display:none}.console-assistant{padding:12px 32px 12px 12px;margin-top:14px}.console-metrics{margin-inline:-18px}.console-metrics button{padding:12px 16px}.console-metrics strong{font-size:25px}.console-metrics span{font-size:14px}.workspace-shortcuts{margin-bottom:16px}.desk-header{align-items:flex-start;flex-direction:column;margin-top:4px;gap:14px}.desk-header h2{font-size:24px}.desk-header>button{width:100%}.desk-counters{grid-template-columns:1fr 1fr;margin-bottom:18px}.desk-counters strong{font-size:29px}.desk-toolbar{gap:8px}.desk-toolbar .field{flex:1 1 calc(50% - 8px);max-width:100%}.desk-toolbar select{width:100%;font-size:16px}.desk-toolbar>span{width:100%;margin:0}.desk-row{grid-template-columns:32px minmax(0,1fr)}.desk-kind{width:32px;height:32px;border-radius:9px}.desk-row-actions{grid-column:2;margin-top:4px;justify-self:start}.desk-edit{grid-column:1/-1}.desk-row h3{font-size:17px}.desk-row-meta{gap:8px 12px}.reference-editor-title{flex-wrap:wrap}.reference-editor-title>div{min-width:180px}.reference-editor-title>button{width:100%}.reference-editor{padding:15px}.delivery-track{gap:4px}.delivery-track li{font-size:12px}.setup-heading{gap:12px;align-items:flex-start}.setup-heading>img{width:48px;height:48px;border-radius:12px}.setup-heading h2{font-size:26px}.setup-heading .eyebrow{font-size:12px}.setup-heading p{font-size:16px}.setup-profile{padding:17px}.setup-step{padding:23px}.setup-saved{display:flex;margin:14px 0 0}.today-home-tabs{overflow-x:auto!important;gap:20px!important}.today-home-tabs [role=tab]{font-size:14px!important;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.desk-counters button,.console-assistant{transition:none}}
.chat-action-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 9px;border-top:1px solid #58776926;padding-top:10px}.chat-action-buttons button{font-size:12px;line-height:1.4;min-height:34px;border:1px solid #bcd6c8;border-radius:7px;background:#fff;color:#175b3b;padding:6px 9px}.chat-action-buttons button:hover{background:#e5f5ec}.chat-action-buttons button:disabled{opacity:.75;cursor:default;background:#e5f5ec}.chat-bubble.mine .chat-action-buttons button{background:#fff;color:#175b3b}.chat-bubble.mine .chat-action-buttons{border-color:#ffffff55}

/* Communication: readable, person-first, same IS WORK identity. */
.app-dialog-panel.site-chat{width:min(760px,100%)!important;background:#f8fbfc;padding:20px;gap:14px}
.site-chat .chat-header{border:0;padding-bottom:4px;gap:12px;flex-wrap:nowrap}
.site-chat .chat-header>div{min-width:0}.site-chat .chat-header p{font-size:14px;color:#526675;margin:3px 0 0}
.site-chat .chat-header [data-slot=dialog-title]{font-size:20px!important;color:#12394c;font-weight:750}
.site-chat .chat-header button{width:46px;padding:0;border-radius:14px;background:white}
.chat-audience{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:#e8eff3;border-radius:16px;flex-shrink:0}
.site-chat .chat-audience button{border:0;min-height:48px;border-radius:12px;font-size:15px;box-shadow:none;background:transparent;color:#365061}
.site-chat .chat-audience button[aria-pressed=true]{background:#fff;color:#007638;box-shadow:0 2px 7px #12394c12}
.chat-directory{display:flex;flex-direction:column;min-height:120px;flex:1;gap:12px;overflow:hidden}
.site-chat .chat-directory input{font-size:16px;min-height:48px;border:1px solid #cadbe3;border-radius:14px;background:white;padding:12px;width:100%}
.chat-people{overflow:auto;min-height:0;overscroll-behavior:contain;border:1px solid #dae6eb;border-radius:16px;background:white}
.chat-person{display:flex;align-items:center;gap:12px;width:100%;padding:14px;text-align:left;border:0;border-bottom:1px solid #e7eef2;background:white;min-height:74px;color:#173b4e;cursor:pointer}
.chat-person:last-child{border-bottom:0}.chat-person:hover,.chat-person:focus-visible{background:#edf8f3}.chat-person:focus-visible{outline:2px solid #009746;outline-offset:-2px}
.chat-person>span:nth-child(2){min-width:0;flex:1}.chat-person strong,.chat-recipient strong{display:block;font-size:16px;overflow-wrap:anywhere}.chat-person small,.chat-recipient small{display:block;font-size:14px;color:#536b78;margin-top:3px}
.chat-avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;flex-shrink:0;background:#e1f3ed;color:#007239;font-size:16px;font-weight:750}.chat-person:nth-child(even) .chat-avatar{background:#e3f3fc;color:#006e9d}.chat-person-arrow{font-size:26px;color:#658391}
.chat-recipient{display:flex;align-items:center;gap:12px;padding:12px;background:white;border:1px solid #d9e6ec;border-radius:16px;flex-shrink:0}.chat-recipient>div{flex:1;min-width:0}
.site-chat .chat-primary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.site-chat .chat-primary-actions button{min-height:52px;border-radius:14px;font-size:15px;padding:10px 6px;gap:7px}
.site-chat .chat-call-config{order:10;border:0;padding:4px 6px;background:transparent;color:#486471;font-size:14px;max-height:28dvh}.site-chat .chat-call-config summary{font-size:14px;font-weight:500}
.site-chat .chat-messages{background:#eef4f7;border:1px solid #dfeaf0;padding:16px}.site-chat .chat-bubble{border-radius:16px 16px 16px 4px;box-shadow:0 2px 5px #16374705}.site-chat .chat-bubble.mine{border-radius:16px 16px 4px 16px;background:#e0f4e9}
.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 16px;color:#567080;min-height:160px}.chat-empty>svg{width:36px;height:36px;color:#008f46;margin-bottom:12px}.chat-empty h3{color:#234657;font-size:18px;margin:0 0 6px}.chat-empty p{font-size:16px;max-width:300px;margin:0;line-height:1.5}
.site-chat .chat-compose textarea{background:white;border-radius:16px;resize:none}.site-chat .chat-compose button{border-radius:14px}.site-chat .chat-call-stage{display:flex;flex-direction:column;gap:10px}.site-chat .chat-hangup{background:#fff0f0;color:#b5222b;border-color:#efc5c8;min-height:46px;align-self:center;border-radius:14px}
@media(max-width:600px){.app-dialog-panel.site-chat{padding:12px!important;gap:10px!important}.site-chat .chat-header [data-slot=dialog-title]{font-size:18px!important}.site-chat .chat-header p{font-size:14px}.site-chat .chat-primary-actions button{font-size:14px;gap:5px}.site-chat .chat-primary-actions svg{width:18px;height:18px}.site-chat .chat-bubble{max-width:92%}.site-chat .chat-messages{padding:12px}.site-chat .chat-recipient{padding:10px}}

.communication-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.communication-tools button{min-width:0;min-height:48px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.communication-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.communication-tools button{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:10px 4px;font-size:14px;line-height:1.3}.communication-tools button svg{width:20px;height:20px;flex-shrink:0}}

.app-dialog-panel.incoming-call{width:min(400px,100%);text-align:center;padding:30px 22px;background:#f8fbfc;border:2px solid #009746;display:flex;flex-direction:column;align-items:center;gap:16px}.incoming-call-icon{width:76px;height:76px;border-radius:50%;background:#dff3e8;color:#007a3b;display:flex;align-items:center;justify-content:center}.incoming-call-icon svg{width:34px;height:34px}.incoming-call [data-slot=dialog-title]{font-size:24px!important;padding-right:0!important;color:#163b4e}.incoming-call-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.incoming-call-actions button{min-height:56px;font-size:16px;gap:8px;border-radius:16px}.incoming-call-actions .decline-call{background:#bd2632;color:white}.chat-call-status{text-align:center;font-size:14px;color:#24536a;margin:0}

.call-connection-warning{display:block;padding:8px 12px;border-radius:10px;background:#fff0e0;color:#793d00;font-size:14px;max-width:320px}.call-sound-enable{min-height:44px;font-size:14px;gap:6px}

/* Linear working surfaces: clear sections and touch-sized actions, unchanged brand. */
.main.field-main{background:#f3f7fa;max-width:1640px;padding:28px 32px 48px;color:#193b49}
.field-main .heading{margin-bottom:24px;align-items:flex-start}.field-main .heading h1{font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.04em}
.field-main .panel{border-color:#d7e3e9;border-radius:16px;box-shadow:none}.field-main .panel h2{color:#153f50}.field-main .panel .panel{border-radius:12px}
.workspace-topline{padding-bottom:18px;border-bottom:1px solid #d7e3e9;margin-bottom:24px;gap:20px}.workspace-top-actions{gap:12px;flex-wrap:wrap}
.field-main .workspace-shortcuts{gap:12px}.workspace-shortcuts button{min-height:60px;font-size:14px;border-radius:12px}
.field-main .sitecard{border-radius:16px;border-top:3px solid var(--brand-green);padding:22px}.field-main .sitecard h3{font-size:20px}.sitecard footer{line-height:1.5}
.field-main .field{font-size:14px;line-height:1.5}.field-main .field input,.field-main .field select,.field-main .field textarea{border-radius:9px;border-color:#bdced8;min-height:46px}
.field-main .actions{flex-wrap:wrap}.field-main .actions button{min-height:44px;height:auto;white-space:normal;line-height:1.4}.workspace-top-actions .communication-tools button{min-height:48px;font-size:14px;padding:10px 14px}
.portfolio-planner{display:grid;gap:20px}.portfolio-planner>.panel{margin:0}.portfolio-heading{gap:20px}.portfolio-heading>.field{min-width:220px;max-width:100%}
.production-overview .portfolio-heading{margin-bottom:20px}.production-table-wrap{overflow:auto;border:1px solid #d7e3e9;border-radius:12px}.production-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;min-width:680px}.production-table th,.production-table td{padding:15px;border-bottom:1px solid #e2eaf0;vertical-align:top}.production-table thead{background:#edf4f8;color:#244d60}.production-table tbody th{font-weight:600}.production-table button{color:var(--brand-blue-ink);text-align:left;min-height:32px}.production-table button:hover{text-decoration:underline}.production-table tbody tr:last-child>*{border:0}
.production-generate{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:18px;background:#eaf5f0;border:1px solid #bedfce;border-radius:12px;margin:18px 0}.production-generate p{font-size:14px;max-width:680px;margin:6px 0 0}.production-generate button{flex-shrink:0;min-height:46px}.timeline-metrics strong{font-size:clamp(20px,2.2vw,28px)}.timeline-row{border-radius:12px}.timeline-line-settings{gap:12px}.timeline-heading .actions{flex-wrap:wrap}
.economy-resources{margin:24px 0;padding:20px;background:#f0f7fb;border:1px solid #cbdfe9;border-radius:12px}.resource-quantity{margin:16px 0;padding:14px;background:white;border:1px solid #d7e3e9;border-radius:10px}.resource-quantity .formgrid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.economy-ddt-option{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #cfdee6;overflow-wrap:anywhere}.economy-register .economy-optional{margin:22px 0}.economy-register .economy-person{padding:16px;border-radius:12px}.economy-register .visit-fields>h3{margin:26px 0 16px}
@media(max-width:767px){.main.field-main{padding:18px 14px calc(100px + env(safe-area-inset-bottom))!important}.workspace-topline{gap:14px;padding-bottom:16px}.field-main .panel{border-radius:13px;padding:18px}.portfolio-heading{align-items:stretch;flex-direction:column}.portfolio-heading>.field{width:100%;min-width:0}.production-generate{flex-direction:column;align-items:stretch;gap:16px;padding:16px}.production-generate button{width:100%;white-space:normal}.resource-quantity .formgrid{grid-template-columns:1fr}.economy-resources{padding:14px}.timeline-metrics{gap:10px}.portfolio-planner{gap:16px}}
@media print{.production-generate,.timeline-settings,.timeline-line-settings,.planning-save{display:none!important}.production-table-wrap{overflow:visible}.production-table{min-width:0}.main.field-main{background:white}}

/* Evidence-first site management, with a readable conclusion before source detail. */
.live-control{margin:0 0 26px}.live-control-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:6px 0 18px}.live-control-heading h2{font-size:28px;color:#123e4e;margin:8px 0}.live-control-heading .field{min-width:220px}.live-control-list{display:grid;gap:22px}.live-control-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid #dbe6eb;padding-bottom:16px}.live-control-card>header h3{font-size:22px;margin:0 0 6px}.live-control-card>header p{font-size:14px;color:#516a78;margin:0}.control-production{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:18px;padding:18px 0}.control-production span{font-size:12px;letter-spacing:.05em;font-weight:700;color:#496774}.control-production p{font-size:16px;line-height:1.5;margin:6px 0}.control-production small{display:block;font-size:14px;color:#6b5425}.control-answer{padding:20px;background:#edf7f3;border-left:4px solid #009746;border-radius:0 12px 12px 0;margin:10px 0 18px}.control-answer>h4{font-size:18px;color:#16543a;margin:0 0 10px}.control-answer>p{font-size:17px;line-height:1.6}.control-answer>small{display:block;color:#526c60;margin:12px 0;font-size:13px}.control-stale{background:#f5f6f8;border-left-color:#8a9daa}.control-observations{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px;margin:18px 0}.control-observations>div{background:#fff;border:1px solid #d4e5dc;border-radius:10px;padding:16px}.control-observations h4{font-size:16px;margin:10px 0 6px}.control-observations p,.control-action p{font-size:15px}.control-action{padding:14px 0;border-top:1px solid #c8dfd4}.control-action>strong{display:block;font-size:17px}.control-action small{font-size:14px;color:#406452}.control-sources{margin-top:10px}.control-sources summary{font-size:14px;color:#17638a;cursor:pointer}.control-sources>div{padding:12px 0;overflow-wrap:anywhere}.live-control-card>details{margin:18px 0}.live-control-card>.actions{margin-top:22px}.control-residual{border-bottom:1px solid #dae5eb;padding:12px 0}.control-residual p{font-size:14px;margin:6px 0}.control-residual progress{width:100%;height:8px;accent-color:#009746}.site-progress-summary{margin:12px 0}.site-progress-summary h4{font-size:16px;font-weight:700}.comparison-change{padding:16px;background:#eef7fc;border-radius:10px;margin:12px 0;font-size:16px}.control-targets{padding:12px 16px;background:#f4f7fa;border-radius:10px}.control-targets small{display:block;color:#576d79}.live-control details summary{min-height:40px;line-height:1.5;cursor:pointer}
@media(max-width:640px){.live-control-heading{flex-direction:column;gap:14px}.live-control-heading .field{width:100%}.live-control-card>header{flex-direction:column;gap:12px}.control-production{grid-template-columns:1fr;gap:12px}.control-production>div+div{border-top:1px solid #dbe6eb;padding-top:10px}.control-answer{padding:16px}.control-observations{grid-template-columns:1fr}.live-control-card>.actions{display:grid;grid-template-columns:1fr}.live-control-card>.actions button{width:100%;white-space:normal}.live-control-heading h2{font-size:26px}}

/* Saved equipment photos must remain visible independently of inventory assignment. */
.equipment-saved-photos{margin:20px 0}.equipment-saved-photos>h3{font-size:21px;font-weight:750}.equipment-saved-photos>p{margin:10px 0 18px;color:#46665a}.equipment-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:16px;margin:16px 0}.equipment-photo-card{border:1px solid #cde1d5;border-radius:14px;padding:16px;background:#f5faf7;overflow-wrap:anywhere}.equipment-photo-card>.photos{display:block;margin-bottom:12px}.equipment-photo-card .photos button{width:100%}.equipment-photo-card .photos img{width:100%;height:170px;object-fit:contain;background:white;border-radius:8px}.equipment-photo-card>strong{display:block;color:#164d38}.equipment-photo-card>p{margin:6px 0}.equipment-photo-card>small{display:block;color:#526d63}.equipment-photo-card .equipment-photo-status{padding:8px;border-radius:8px;background:#e3f3fb;color:#006989;font-size:14px}.equipment-photo-card>button{margin-top:8px;width:100%;white-space:normal}
/* Clear, touch-friendly notification centre. */
.topbar .notification-button{position:relative;min-width:46px;min-height:46px;border-radius:14px;background:#eef7f2;border:1px solid #c8e1d3;color:#006b35;flex-shrink:0;gap:6px}
.topbar .notification-button:hover{background:#dff1e7}
.notification-button>span{background:#b52229;color:white;border-radius:20px;padding:2px 6px;font-size:12px;line-height:1.4}
.app-dialog-panel.notification-dialog{width:min(620px,100%);padding:26px;gap:18px;background:#fff;border:1px solid #d6e4dd;border-radius:22px}
.notification-title{display:flex;align-items:center;gap:14px;padding:0 36px 18px 0;border-bottom:1px solid #e0e9e4}
.notification-title>svg{width:44px;height:44px;padding:10px;background:#e7f5ed;color:#00743a;border-radius:14px;flex-shrink:0}
.notification-title [data-slot=dialog-title]{font-size:24px;line-height:1.2;color:#103e31}
.notification-title [data-slot=dialog-description]{font-size:14px;color:#52685f;margin-top:5px}
.notification-list-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.notification-list-head>div{display:grid;gap:4px}.notification-list-head strong{font-size:17px;color:#173e31}.notification-list-head small{font-size:13px;color:#52685f}
.notification-list{display:grid;gap:10px}
.notification-dialog .notification-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:17px;border:1px solid #dfe8e3;border-radius:14px;background:#fafcfb;min-height:80px}
.notification-dialog .notification-item.is-new{background:#eef8f2;border-color:#b9dac8;border-left:4px solid #009746;padding-left:14px}
.notification-dialog .notification-item:hover{border-color:#00743a}
.notification-copy{display:grid;gap:7px;min-width:0;overflow-wrap:anywhere}
.notification-copy strong{font-size:16px;line-height:1.4;color:#163e30}.notification-copy>span{font-size:14px;line-height:1.5;color:#405e51}.notification-copy small{font-size:13px;color:#5a6e65}
.notification-new{font-size:12px;background:#d8eee1;color:#006831;padding:4px 7px;border-radius:6px;flex-shrink:0}
.notification-empty{padding:30px 18px;text-align:center;background:#f5f8f6;border-radius:14px;color:#52685f;font-size:16px}
.notification-load-error{padding:14px;border:1px solid #e7d19e;border-radius:12px;background:#fff9e9;display:grid;gap:10px;font-size:14px;color:#694910}.notification-load-error button{justify-self:start}
.notification-settings{border-top:1px solid #dfe8e3;padding-top:14px}
.notification-phone-check{margin:14px 0;padding:14px;border:1px solid #d4e2da;border-radius:12px;background:#f6faf7;color:#264e3c}
.notification-phone-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.notification-phone-heading small{color:#52685f}.notification-phone-check dl{margin:10px 0;display:grid;gap:6px}.notification-phone-check dl>div{display:flex;justify-content:space-between;gap:14px;font-size:14px}.notification-phone-check dd{margin:0;text-align:right;font-weight:650}.notification-phone-check dd[data-warning]{color:#9b3a20}.notification-phone-check p{font-size:13px;line-height:1.5;margin:10px 0 0}
.notification-settings summary{display:flex;align-items:center;gap:10px;min-height:46px;cursor:pointer;font-size:14px;font-weight:650;color:#335747}
.notification-settings summary>small{margin-left:auto;color:#00743a;font-size:13px}
.notification-settings .push-status{margin:14px 0;font-size:14px}.notification-settings .push-status small{font-size:14px;line-height:1.5}
.notification-dialog .notification-message{font-size:14px;line-height:1.55;color:#52685f;margin:12px 0}
.notification-dialog button:focus-visible,.notification-settings summary:focus-visible{outline:3px solid #01a0e2;outline-offset:3px}
@media(max-width:640px){.app-dialog-panel.notification-dialog{padding:20px 16px;border-radius:18px}.notification-list-head{align-items:flex-start;flex-wrap:wrap}.notification-list-head button{min-height:44px}.notification-actions button{width:100%;min-height:46px}.notification-dialog .notification-item{padding:14px}.notification-dialog .notification-item.is-new{padding-left:11px}.notification-settings summary{flex-wrap:wrap}}
/* Photographic workspace chosen by Antonio: navy, sky blue and real site evidence. */
.industrial-sidebar [data-slot=sidebar-inner]{background:linear-gradient(155deg,#031c36,#062b47)!important}
.industrial-sidebar [data-slot=sidebar-menu-button][data-active=true]{background:linear-gradient(100deg,#007bea,#074b93)!important}
.industrial-sidebar .workspace-search{background:#102f4b;border-color:#31516b}
.industrial-sidebar .profile{background:#05213a}.industrial-sidebar .profile>span{background:#01a0e2;color:white}
.industrial-sidebar .brand small,.industrial-sidebar .workspace,.industrial-sidebar .workspace-menu-group h2{color:#a9c8df!important}
.industrial-sidebar .brand{padding:22px 15px}.industrial-sidebar .brand>div{font-size:26px;letter-spacing:-.04em;color:#fff}.industrial-sidebar .brand small{font-size:10px;letter-spacing:.08em}
.industrial-sidebar .sidebar-note{display:none}
.topbar{background:#061f39;color:#fff;border-bottom:1px solid #ffffff1a}.topbar .topbar-brand,.topbar .topbar-brand>span{color:#fff}.topbar .topbar-brand .muted{color:#d9f1ff;font-weight:500}.topbar .date{color:#d9f1ff}.topbar .topbar-logout,.topbar .mobile-menu-control{color:white}
.topbar .notification-button{background:#113852;color:#fff;border-color:#375a74;border-radius:50%}
.topbar .notification-button:hover{background:#1b4865}
.main.field-main.home-scene{position:relative;isolation:isolate;background:#08283e var(--company-hero, none) center top / 100% auto no-repeat;max-width:none;min-height:calc(100dvh - 64px);padding:32px 26px 48px}
.home-scene:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,23,44,.25),rgba(4,29,49,.18) 230px,#08283ee8 660px,#08283e 900px)}
.home-scene>.workspace-topline{min-height:240px;align-items:flex-start;padding-top:40px;margin-bottom:16px;position:relative}
.home-scene .workspace-topline .personal-greeting{background:#04223b6b;padding:20px 24px;border-radius:16px;max-width:620px;border:1px solid #ffffff26;backdrop-filter:blur(3px)}
.home-scene .workspace-topline .personal-greeting p{font-size:clamp(24px,2.8vw,42px);line-height:1.22;color:white;text-shadow:0 2px 16px #001b35}
.home-scene .workspace-topline .personal-greeting strong{display:block;font-size:clamp(26px,2.6vw,38px);font-weight:700;line-height:1.2;letter-spacing:-.025em;color:#fff;overflow-wrap:anywhere}
.home-scene .workspace-topline .personal-greeting .greeting-salutation{display:block;font-size:clamp(18px,1.6vw,23px);font-weight:450;line-height:1.4;letter-spacing:0;color:#d9f1ff;margin-bottom:6px}
.home-scene .workspace-topline .personal-greeting p{min-width:0;margin:0}
.home-scene .workspace-topline .personal-greeting-icon{background:#ffdf7330;color:#ffdf73}
.home-scene .workspace-top-actions{position:static;width:100%;justify-content:flex-start;margin:0;flex-shrink:0}
.home-scene .workspace-top-actions .communication-tools{display:none}
.home-scene .workspace-top-actions .assistant-launch{background:#06243ecf;color:white;border-color:#66869b;font-size:14px;min-height:48px;padding:12px 16px;white-space:normal;text-align:left;max-width:100%}
.home-scene>.workspace-topline{flex-direction:column;justify-content:flex-start;gap:16px}
.home-scene>.heading{margin:0 0 12px;justify-content:flex-end}
.home-scene>.heading>div:first-child{display:none}
.home-scene>.heading .actions button{background:#082940e8;border-color:#52758b;color:white}
.legacy-home-console{display:none!important}
.photo-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}
.photo-dashboard-main{min-width:0}.photo-dashboard-aside{display:grid;gap:14px}
.photo-shortcuts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}
.photo-shortcuts>button{display:flex;flex-direction:column;text-align:left;align-items:flex-start;gap:7px;min-height:150px;padding:20px 16px;border-radius:14px;background:#fffffff5;border:1px solid #dfe9f2;color:#082c52;box-shadow:0 6px 20px #03162f15}
.photo-shortcuts>button:hover{background:white;border-color:#01a0e2;transform:translateY(-2px)}
.photo-shortcuts svg{width:28px;height:28px;margin-bottom:5px}.photo-shortcuts>button:nth-child(2) svg{color:#008bd0}
.photo-shortcuts strong{font-size:14px;line-height:1.3}.photo-shortcuts span{font-size:14px;line-height:1.4;color:#47647f}
.photo-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.photo-metrics>button{display:flex;align-items:center;gap:14px;padding:19px 16px;text-align:left;border:1px solid #7190a56b;background:#03223ae8;color:#fff;border-radius:14px;min-height:98px}
.photo-metrics>button:hover{background:#0d3d5b}.photo-metrics svg{color:#01b2ec;flex-shrink:0;width:30px;height:30px}.photo-metrics>button:last-child svg{color:#ff5965}
.photo-metrics strong{font-size:29px;line-height:1.1;display:block}.photo-metrics em{font-size:16px;font-style:normal}.photo-metrics small{display:block;font-size:14px;line-height:1.4;margin-top:6px;color:#deebf5}
.photo-recent-sites{background:#04233bbe;border-radius:14px;padding:14px}
.photo-recent-sites>header,.photo-side-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.photo-dashboard h2{font-size:17px;font-weight:700;color:white;margin:0;line-height:1.4}
.photo-dashboard header>button{color:#59d3ff;font-size:14px;white-space:nowrap;min-height:36px}
.photo-site-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.photo-site-card{text-align:left;background:#f8fbff;border:1px solid #b9d6e9;border-radius:12px;overflow:hidden;color:#082b4f;display:flex;flex-direction:column}
.photo-site-card:hover{border-color:#01a0e2;box-shadow:0 0 0 2px #01a0e244}
.photo-site-card>img,.photo-cover-empty{height:115px;width:100%;object-fit:cover}
.photo-cover-empty{background:#e2edf4;display:grid;place-content:center;justify-items:center;gap:8px;color:#4a6c83;font-size:12px}
.photo-site-copy{padding:12px;display:flex;flex-direction:column;gap:9px;flex:1;min-width:0}
.photo-site-status{display:flex;gap:6px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:12px}
.photo-site-status>span{padding:3px 7px;background:#dcefe5;color:#006a36;border-radius:8px}
.photo-site-card h3{font-size:14px;line-height:1.4;font-weight:700;overflow-wrap:anywhere;margin:0}
.photo-site-copy>small{font-size:12px;color:#5a6e80}
.photo-site-copy progress{width:100%;height:6px;accent-color:#009746}
.photo-site-footer{display:flex;align-items:center;gap:6px;font-size:13px;color:#42617b;margin-top:auto;padding-top:7px;border-top:1px solid #dfebf3}
.photo-side-panel{background:#03213ce8;border:1px solid #66879c70;border-radius:16px;padding:16px;color:#d3e2ed}
.photo-activity{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;padding:12px 0;border-bottom:1px solid #ffffff17;min-width:0}
.photo-activity:last-child{border-bottom:0}.photo-activity:hover strong{color:#69daff}
.photo-activity>span:last-of-type{min-width:0;flex:1}
.photo-activity strong{font-size:14px;line-height:1.4;color:white;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.photo-activity small{display:block;font-size:13px;line-height:1.45;color:#c0d5e4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}
.photo-activity time{font-size:12px;color:#95b6cd}
.photo-activity-icon{display:grid;place-items:center;background:#d9f2ff;color:#07587e;width:38px;height:42px;border-radius:9px;flex-shrink:0}.photo-activity-icon svg{width:21px}
.photo-empty{font-size:14px;color:#c0d5e4;line-height:1.5;padding:14px 0}
.photo-chat-new{font-size:10px;color:#fff;background:#c73243;padding:3px;border-radius:5px}
.photo-chat-actions{display:flex;gap:6px;margin-top:12px}
.photo-chat-actions button{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 6px;min-height:44px;font-size:13px;background:#134264;border:1px solid #4f819f;border-radius:8px;color:#fff;flex:1}.photo-chat-actions svg{width:16px;height:16px}
.photo-ai-button{display:flex;align-items:center;gap:12px;text-align:left;background:#08743e;color:white;border:1px solid #36a573;border-radius:14px;padding:16px}
.photo-ai-button strong{display:block;font-size:15px}.photo-ai-button small{display:block;font-size:13px;color:#d5eddf;margin-top:3px}
.photo-site-picker{display:grid;gap:8px}.photo-site-picker button{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #d4e3ed;border-radius:10px;text-align:left;color:#143b59}.photo-site-picker button:hover{background:#edf7ff}
.home-scene .today-home-tabs{margin-top:24px!important;background:#f5faff!important;border-radius:12px;padding:4px 14px!important;border:0}
.home-scene .today-home-tabs [role=tab]{color:#254560!important;min-height:46px}.home-scene .today-home-tabs [role=tab][data-state=active]{color:#006aa6!important;border-color:#01a0e2!important}
.home-scene [role=tabpanel]{background:#f3f7fa;border-radius:16px;padding:22px;margin-top:16px}
.home-scene [role=tabpanel][data-state=inactive]{display:none}
.photo-dashboard button:focus-visible{outline:3px solid #56d7ff;outline-offset:3px}
@media(min-width:1800px){.main.field-main.home-scene{padding-inline:40px}.photo-dashboard{grid-template-columns:minmax(0,1fr) 320px}.photo-shortcuts>button{min-height:155px}}
@media(max-width:1450px){.photo-dashboard{grid-template-columns:minmax(0,1fr) 250px}.photo-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-shortcuts>button{min-height:115px}.photo-shortcuts span{font-size:13px}.photo-site-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-metrics>button{padding:13px;gap:8px}.photo-metrics svg{width:23px}.photo-metrics strong{font-size:24px}}
@media(max-width:1100px){.photo-dashboard{grid-template-columns:1fr}.photo-dashboard-aside{grid-template-columns:1fr 1fr}.photo-ai-button{grid-column:1/-1}.photo-site-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.main.field-main.home-scene{background-size:auto 650px}.home-scene>.workspace-topline{min-height:230px;padding-top:55px}}
@media(max-width:640px){.main.field-main.home-scene{padding:16px 14px 32px;background-size:auto 480px;background-position:58% top}.home-scene>.workspace-topline{min-height:205px;padding-top:54px;margin-bottom:4px}.home-scene .workspace-topline .personal-greeting{padding:15px;max-width:100%;gap:10px}.home-scene .workspace-topline .personal-greeting p{font-size:26px}.home-scene .workspace-topline .personal-greeting-icon{width:34px;height:34px;flex-shrink:0}.home-scene>.heading .actions{flex-wrap:wrap}.photo-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-shortcuts>button{padding:16px;min-height:135px}.photo-shortcuts strong,.photo-shortcuts span{font-size:14px}.photo-metrics{grid-template-columns:1fr 1fr;gap:10px}.photo-metrics>button{min-height:95px}.photo-metrics small{font-size:13px}.photo-site-grid{grid-template-columns:1fr 1fr;gap:10px}.photo-site-card>img,.photo-cover-empty{height:105px}.photo-recent-sites{padding:12px}.photo-recent-sites>header{align-items:flex-start}.photo-dashboard h2{font-size:16px}.photo-site-copy{padding:10px}.photo-site-status{font-size:12px}.photo-dashboard-aside{grid-template-columns:1fr}.home-scene [role=tabpanel]{padding:14px}.photo-chat-new{font-size:12px}.topbar .topbar-brand .muted{display:none}}
@media(prefers-reduced-motion:reduce){.photo-shortcuts>button:hover{transform:none}}

/* Shared operational screens, following the approved IS WORK mobile concept. */
.archive-progress:not(:empty){padding:16px;margin:18px 0;background:#eaf6ff;border:1px solid #cce5f7;border-radius:13px;color:#163f5d;overflow-wrap:anywhere}.archive-tree{padding:16px;border:1px solid #d5e7f1;border-radius:13px;margin:16px 0;background:#fff}.archive-tree summary{font-weight:650;cursor:pointer;color:#006da0}.archive-tree>p{font-size:.9rem;line-height:1.7;margin:12px 0}.archive-tree ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px;list-style:none;padding:0}.archive-tree li{padding:10px 12px;border-radius:8px;background:#f1f7fb;overflow-wrap:anywhere;font-size:.9rem}
.site-weather{margin-bottom:20px}.site-weather .sectiontitle{flex-wrap:wrap;gap:12px}.site-weather h2{font-size:1.15rem}.weather-now{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:16px 0}.weather-now>strong{font-size:1.8rem;color:#006ca3}.weather-now>span{display:flex;align-items:center;gap:7px;font-size:.95rem}.weather-hours{display:flex;gap:10px;overflow-x:auto;padding:6px 0 14px}.weather-hours>div{flex:0 0 150px;display:grid;gap:6px;background:#f1f8fe;border:1px solid #d8e9f5;padding:12px;border-radius:12px}.weather-hours small{font-size:.85rem}.weather-location{background:#f1f8fe;padding:18px;border-radius:12px;margin:14px 0}.site-weather a{text-decoration:underline}.site-weather>small{font-size:.8rem}.local-archive>p{line-height:1.6;margin:14px 0}.local-archive>.field{margin:18px 0}.local-archive>.actions{gap:10px}.material-summary-counts{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.material-summary-counts>span{background:#edf7ff;border:1px solid #d6e9f6;border-radius:12px;padding:12px 18px;color:#234b68}.material-summary-counts strong{font-size:1.3rem;color:#006fa6;margin-right:6px}.material-resoconto>.field{margin-bottom:18px}.material-grand-total{font-size:1.1rem;white-space:nowrap;color:#006a9a}.material-sources{margin-top:18px;padding:15px;background:#f5f9fc;border-radius:12px}.material-sources summary{cursor:pointer;font-weight:650}.material-resoconto td{white-space:normal;min-width:125px;vertical-align:top}.material-resoconto td:first-child{min-width:220px}.material-resoconto>.muted{margin-top:15px;line-height:1.6}
.unified-workspace:not(.home-scene){--primary:#007db8;--primary-foreground:#fff;--accent:#e6f5ff;--accent-foreground:#005c88;--ring:#01a0e2;background:#f2f7fb;color:#173451}
.unified-workspace:not(.home-scene)>.heading{background:linear-gradient(90deg,#052744f5 0%,#073650e6 47%,#05274455 100%),var(--company-hero, none) center 52%/cover;border:1px solid #224f6e;border-radius:22px;padding:26px 28px;min-height:150px;align-items:center;box-shadow:0 8px 24px #10395412;gap:20px}
.unified-workspace:not(.home-scene)>.heading h1{color:#fff;font-size:clamp(1.75rem,3vw,2.35rem);line-height:1.2;overflow-wrap:anywhere}
.unified-workspace:not(.home-scene)>.heading p{color:#e0eef9;font-size:1rem;line-height:1.5;max-width:650px}
.unified-workspace:not(.home-scene)>.heading .eyebrow{color:#8cdcff;font-size:.75rem;letter-spacing:.13em}
.unified-workspace:not(.home-scene)>.heading .back{color:#def4ff;margin-bottom:12px}
.unified-workspace:not(.home-scene)>.heading>.actions{flex-wrap:wrap;flex-shrink:0;max-width:100%}
.unified-workspace:not(.home-scene)>.heading>.actions button{background:#fff;color:#07547d;border:1px solid #c5e6fb;min-height:44px;border-radius:12px}
.unified-workspace:not(.home-scene)>.heading>.actions button:last-child:not(:only-child){background:#007db8;color:white;border-color:#29adea}
.unified-workspace:not(.home-scene) .panel{background:#fff;border:1px solid #dbe8f2;border-radius:18px;box-shadow:0 4px 18px #11375505}
.unified-workspace:not(.home-scene) :is(h2,h3){color:#102f55}
.unified-workspace:not(.home-scene) :is(.field input,.field select,.field textarea,.site-search input){background:#fbfdff;border:1px solid #cbdfee;border-radius:11px;color:#163a58;font-size:1rem;min-height:46px}
.unified-workspace:not(.home-scene) :is(.field,.muted){color:#4a647b}
.unified-workspace:not(.home-scene) [data-slot=button]{min-height:44px;border-radius:11px;white-space:normal;line-height:1.4}
.unified-workspace:not(.home-scene) [role=tablist]{gap:7px;max-width:100%;overflow-x:auto}
.unified-workspace:not(.home-scene) [role=tab]{min-height:44px;flex-shrink:0;border-radius:10px;font-size:.875rem}
.unified-workspace:not(.home-scene) [role=tab][data-state=active]{background:#e5f4ff;color:#005d92;border-color:#01a0e2}
.unified-workspace .sitegrid{gap:20px;align-items:start}
.unified-workspace .sitecard{border:1px solid #d7e7f2;border-radius:19px;padding:20px;overflow:hidden;background:#fff;box-shadow:0 5px 20px #0c3b5910;text-align:left;min-width:0}
.unified-workspace .sitecard:hover{border-color:#01a0e2;box-shadow:0 8px 25px #007db81a}
.site-card-cover{margin:-20px -20px 18px;background:#e4f0f7;height:150px;overflow:hidden}
.site-card-cover>img{height:100%;width:100%;object-fit:cover}
.site-card-cover>.photo-cover-empty{height:100%;font-size:.875rem;color:#527188;background:linear-gradient(135deg,#e2eff7,#f4f9fc)}
.unified-workspace .sitecard .siteicon{background:#eaf6ff;color:#007db8;border-radius:12px}
.unified-workspace .sitecard h3{font-size:1.25rem;line-height:1.35;overflow-wrap:anywhere;margin-top:14px}
.unified-workspace .sitecard>p{color:#526c80;font-size:.875rem;line-height:1.5}
.unified-workspace .sitecard footer{border-top:1px solid #e3edf5;color:#496980;font-size:.875rem;gap:10px}
.unified-workspace .official-sal-card{background:#edf7ff;border:1px solid #d3e9f8;border-radius:12px;padding:13px}
.unified-workspace .official-sal-card strong{color:#006caa}
.unified-workspace .site-search{margin-bottom:20px}.unified-workspace .site-search label{font-size:1rem;font-weight:650;color:#163755}
.unified-workspace .visit-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.unified-workspace .visit-card{background:#fff;border:1px solid #d5e6f2;border-radius:18px;padding:22px;text-align:left;box-shadow:0 4px 16px #123f5e08}
.unified-workspace .visit-card:hover{border-color:#01a0e2;background:#fbfdff}
.unified-workspace .visit-icon{background:#e9f6ff;color:#007db8;border-radius:13px;padding:12px;display:inline-flex}
.unified-workspace .visit-card h3{font-size:1.2rem;line-height:1.4;margin-top:14px}
.unified-workspace .visit-card :is(p,small){font-size:.875rem;line-height:1.6;color:#526a80}
.unified-workspace .visit-open{color:#006fa7;font-weight:650;font-size:.875rem}
.unified-workspace .visits-heading{padding:6px 0 18px;gap:18px;flex-wrap:wrap}
.unified-workspace .visits-heading h2{font-size:1.25rem}.unified-workspace .visits-heading .eyebrow{display:none}
.unified-workspace .visit-steps button{min-height:46px;border-radius:10px}
.unified-workspace :is(.planning-summary,.timeline-metrics){gap:14px}
.unified-workspace :is(.planning-summary,.timeline-metrics)>div{background:#edf7ff;border:1px solid #d2e7f6;border-radius:14px;padding:18px;color:#173956}
.unified-workspace :is(.planning-summary,.timeline-metrics) strong{color:#006ba8}
.unified-workspace .timeline-board{border:1px solid #d9e8f3;border-radius:16px;overflow:hidden;background:#fff}
.unified-workspace .timeline-row{background:#fff;border-color:#e0ebf3;padding:20px}
.unified-workspace .timeline-index{background:#e7f4ff;color:#006ba8;border-radius:10px}
.unified-workspace .timeline-lane{background:#edf5fb;border-radius:9px}
.unified-workspace .timeline-lane>span{background:#007db8;color:#fff;border-radius:7px}
.unified-workspace .timeline-progress>span{background:#009746}
.unified-workspace .quick-photo-uploaded{padding:18px;border:1px solid #dce9f2;border-radius:14px;margin-top:14px;background:#fbfdff}
.unified-workspace .quick-photo-actions{gap:12px;flex-wrap:wrap;padding:16px 0}
.unified-workspace .quick-photo-actions button{min-height:54px}
@media(max-width:767px){
 .unified-workspace:not(.home-scene)>.heading{padding:22px 18px;border-radius:17px;min-height:140px;flex-direction:column;align-items:stretch;gap:16px;background-position:62% center}
 .unified-workspace:not(.home-scene)>.heading>.actions{justify-content:flex-start}
 .unified-workspace:not(.home-scene)>.workspace-topline{gap:10px}
 .unified-workspace:not(.home-scene) .panel{padding:17px;border-radius:15px}
 .unified-workspace .sitegrid{grid-template-columns:1fr;gap:16px}
 .unified-workspace .sitecard{padding:18px}.site-card-cover{margin:-18px -18px 16px;height:140px}
 .unified-workspace .visit-list{grid-template-columns:1fr}
 .unified-workspace .visits-heading>button{width:100%}
 .unified-workspace .timeline-row{padding:15px}
 .unified-workspace :is(.planning-summary,.timeline-metrics)>div{padding:14px}
}
@media print{.unified-workspace:not(.home-scene)>.heading{background:#fff;box-shadow:none;border-color:#ccc}.unified-workspace:not(.home-scene)>.heading :is(h1,p,.eyebrow){color:#111}.site-card-cover{display:none}}

/* Weather: legible, condition-aware forecast cards. */
.employee-today{margin-bottom:20px}.employee-today .sectiontitle{flex-wrap:wrap;gap:16px}.employee-today .field{margin:18px 0}.employee-today .field>span{display:flex;align-items:center;gap:8px}.employee-today input{font-size:1rem;padding:14px;border:1px solid #a8c9dc;border-radius:10px;background:#fff}.employee-today-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}.employee-today-results article{padding:20px;border:1px solid #c4deed;border-radius:14px;background:#f0f8ff}.employee-today-results h3{font-size:1.15rem;color:#164665}.employee-today-results p{line-height:1.6;margin:10px 0}.employee-today-results svg{display:inline-block;margin-right:6px}.employee-today-status{font-weight:700;color:#076e50}
.site-weather .weather-alert{display:flex;gap:14px;background:#fff0e8;border:2px solid #d45b26;color:#7c2b12;padding:20px;border-radius:15px;margin:18px 0}.site-weather .weather-alert>svg{flex-shrink:0}.site-weather .weather-alert strong{font-size:1.2rem}.site-weather .weather-alert p{font-size:1rem;line-height:1.6;margin:8px 0}.site-weather .weather-alert small{font-size:.8rem;line-height:1.5}
.site-weather .weather-location h3{display:flex;gap:8px;align-items:center;font-size:1.1rem;color:#07558b;margin:0 0 10px}
.site-weather .weather-location p{font-size:.95rem;line-height:1.6;margin:12px 0}
.site-weather .weather-location>small{display:block;font-size:.8rem;color:#496579;line-height:1.6;margin:12px 0}
.site-weather .weather-search{display:flex;gap:12px;align-items:flex-end;margin:18px 0}
.site-weather .weather-search .field{flex:1;min-width:0}.site-weather .weather-search input{width:100%;background:white;padding:12px;border:1px solid #adcadd;border-radius:10px}
.site-weather .weather-search button{min-height:46px}
.site-weather .weather-search-results{display:grid;gap:8px;margin:12px 0}
.site-weather .weather-search-results button{display:flex;gap:12px;align-items:center;text-align:left;padding:16px;background:#fff;border:1px solid #bcd6e6;border-radius:12px;color:#153953;font-size:1rem}
.site-weather .weather-search-results svg{flex-shrink:0;color:#007db8}.site-weather .weather-search-results small{display:block;color:#007249;margin-top:6px}
.site-weather .weather-map-preview{margin:18px 0}.site-weather .weather-map-preview iframe{display:block;width:100%;height:250px;border:1px solid #bdd5e4;border-radius:12px;margin:12px 0}
.site-weather .weather-manual{margin:18px 0}.site-weather .weather-manual summary{cursor:pointer;color:#275573;font-size:.875rem}
.site-weather .weather-tomorrow{background:#fff7e3;border:1px solid #ead291;border-left:5px solid #e0a10a;border-radius:15px;padding:20px;margin:20px 0;color:#543f15}
.site-weather .weather-tomorrow-title{display:flex;align-items:center;gap:12px}.site-weather .weather-tomorrow-title h3{margin:0;font-size:1.15rem}.site-weather .weather-tomorrow-title span{font-size:.875rem}
.site-weather .weather-tomorrow p{font-size:.95rem;line-height:1.6;margin:14px 0}.site-weather .weather-tomorrow small{font-size:.8rem;line-height:1.6;display:block}
.site-weather .weather-tomorrow-values{display:flex;gap:12px;flex-wrap:wrap}.site-weather .weather-tomorrow-values>span{display:flex;align-items:center;gap:6px;padding:10px;background:#fff;border-radius:9px;font-size:.875rem}
@media(max-width:600px){.site-weather .weather-search{flex-direction:column;align-items:stretch}.site-weather .weather-tomorrow{padding:16px}.site-weather .weather-tomorrow-values{display:grid}}
.unified-workspace .panel.site-weather .weather-banner{background:linear-gradient(115deg,#0755a2,#007daf);padding:24px;border-radius:18px;margin-bottom:20px;align-items:center;box-shadow:0 8px 24px #006e9c1a}
.site-weather .weather-banner-title{display:flex;align-items:center;gap:18px;min-width:0}
.site-weather .weather-brand-symbol{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:64px;line-height:1.2;flex-shrink:0;display:block}
.site-weather .weather-banner .weather-banner-eyebrow{color:#d0f0ff;font-size:.75rem;letter-spacing:.1em;font-weight:700}
.site-weather .sectiontitle.weather-banner h2{color:#fff;font-size:1.6rem;line-height:1.2;margin:6px 0 9px;font-weight:750}
.site-weather .weather-banner .weather-place{color:#fff;font-size:1rem;line-height:1.4;overflow-wrap:anywhere}
.site-weather .weather-banner .weather-place svg{flex-shrink:0}
.site-weather .weather-banner .actions button{background:#fff;color:#07558b;border:1px solid #fff;min-height:44px;font-size:.875rem}
.site-weather .weather-banner .actions button:hover{background:#e4f6ff}
.site-weather .weather-banner .actions{gap:8px;flex-wrap:wrap}
.site-weather .weather-hours .weather-symbol{width:48px;height:48px}
.site-weather .weather-hours .weather-hour-label{font-size:.875rem}
.site-weather .weather-hours .weather-hour-metric{font-size:.875rem}
@media(max-width:600px){
 .unified-workspace .panel.site-weather .weather-banner{padding:18px 14px;border-radius:14px;gap:18px}
 .site-weather .weather-banner-title{gap:12px}
 .site-weather .weather-brand-symbol{font-size:58px}
 .site-weather .sectiontitle.weather-banner h2{font-size:1.3rem}
 .site-weather .weather-banner .weather-place{font-size:.875rem}
}
.unified-workspace .panel.site-weather{background:#fff;border:1px solid #d7e8f3;overflow:hidden}
.site-weather .sectiontitle h2{display:flex;align-items:center;gap:10px;color:#163955}
.site-weather .weather-heading-icon{color:#007daf;width:28px;height:28px}
.site-weather .weather-place{display:flex;align-items:center;gap:6px;margin-top:7px;color:#526e81}
.site-weather .weather-sky{margin:20px 0 24px;border-radius:20px;padding:26px;background:linear-gradient(120deg,#eaf5fc,#f6faff);border:1px solid #d9eaf5;color:#153953}
.site-weather .weather-sky[data-sky=sun]{background:radial-gradient(ellipse at 92% 4%,#fff0a6 0%,transparent 52%),linear-gradient(125deg,#e0f4ff,#f7fcff)}
.site-weather .weather-sky[data-sky=rain]{background:linear-gradient(120deg,#e1f3fd,#dce8f9)}
.site-weather .weather-sky[data-sky=storm]{background:linear-gradient(120deg,#eeebfc,#dfe9f8)}
.site-weather .weather-sky[data-sky=night]{background:linear-gradient(120deg,#e5eafd,#e5f3fa)}
.site-weather .weather-sky[data-sky=snow]{background:linear-gradient(120deg,#e0f9fc,#f0f6ff)}
.site-weather .weather-current{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:720px}
.site-weather .weather-kicker{font-size:.73rem;font-weight:750;letter-spacing:.07em;color:#345c76}
.site-weather .weather-temperature{font-size:clamp(3rem,6vw,4.4rem);font-weight:750;line-height:1.2;letter-spacing:-.05em;margin:10px 0 4px;color:#143d5b;font-variant-numeric:tabular-nums}
.site-weather .weather-temperature>span{font-size:1.8rem;vertical-align:top;display:inline-block;margin:10px 0 0 7px;letter-spacing:0;font-weight:500}
.site-weather .weather-description{font-size:1.12rem;font-weight:600;color:#2c5570;margin:0}
.site-weather .weather-symbol{width:40px;height:40px;justify-self:center;color:#6c8299;flex-shrink:0}
.site-weather .weather-symbol-sun{color:#bc7800;fill:#ffe68a;filter:drop-shadow(0 4px 7px #ebbc3733)}
.site-weather .weather-symbol-rain{color:#087bb7;fill:#d2eafc}
.site-weather .weather-symbol-storm{color:#7259b4;fill:#e4defa}
.site-weather .weather-symbol-snow{color:#00899e}
.site-weather .weather-symbol-night{color:#6361ae;fill:#e5ddff}
.site-weather .weather-symbol-cloud{color:#617f96;fill:#e2edf5}
.site-weather .weather-hero-icon{width:112px;height:112px;margin-right:18px;stroke-width:1.4}
.site-weather .weather-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.site-weather .weather-metrics>div{display:flex;align-items:center;gap:13px;padding:16px;background:#ffffffc9;border:1px solid #ffffff;border-radius:14px}
.site-weather .weather-metric-icon{display:grid;place-items:center;flex-shrink:0;background:#e4f4f1;color:#007b6b;width:46px;height:46px;border-radius:13px}
.site-weather .weather-rain-icon{background:#e4f2ff;color:#007db8}
.site-weather .weather-metrics>div>div{display:grid;gap:3px}
.site-weather .weather-metrics span:not(.weather-metric-icon){font-size:.8rem;color:#496579}
.site-weather .weather-metrics strong{font-size:1.35rem;line-height:1.25;color:#173d58}
.site-weather .weather-metrics small{font-size:.75rem;color:#506a7c;font-weight:400}
.site-weather .weather-hourly-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.site-weather .weather-hourly-heading h3{font-size:1rem;color:#173d58;margin:0}
.site-weather .weather-hourly-heading>span{font-size:.75rem;color:#587084}
.site-weather .weather-hours{gap:10px;padding:2px 2px 14px;scroll-snap-type:x proximity;scrollbar-color:#aacde2 #eff6fb;scrollbar-width:thin}
.site-weather .weather-hours>div{flex:0 0 124px;text-align:center;align-content:start;gap:10px;padding:15px 10px;background:linear-gradient(#f7fbff,#fff);border:1px solid #dfeaf2;border-radius:16px;scroll-snap-align:start}
.site-weather .weather-hours time{font-size:.9rem;font-weight:700;color:#2f516b}
.site-weather .weather-hours time small{display:block;font-weight:400;font-size:.68rem;color:#5b7386;margin-top:2px}
.site-weather .weather-hours strong{font-size:1.17rem;color:#133e5a}
.site-weather .weather-hour-label{font-size:.72rem;color:#506a7f;min-height:2.5em;line-height:1.25}
.site-weather .weather-hour-metric{display:flex;gap:5px;justify-content:center;align-items:center;color:#3d6885;font-size:.74rem}
.site-weather .weather-hour-metric svg{color:#007da8;flex-shrink:0}
.site-weather .weather-note{font-size:.76rem;line-height:1.6;color:#566d7e;margin:12px 0}
.site-weather>small{display:block;color:#526c80;line-height:1.6;font-size:.72rem}
.site-weather .weather-empty{display:flex;gap:15px;align-items:center;background:linear-gradient(120deg,#e9f6ff,#f6fbff);border:1px solid #daecf8;border-radius:16px;padding:22px;margin-top:18px;color:#27638b}
.site-weather .weather-empty>svg{flex-shrink:0}.site-weather .weather-empty strong{font-size:1rem}.site-weather .weather-empty p{font-size:.875rem;margin:7px 0 0;line-height:1.6}
.site-weather .weather-hours:focus-visible{outline:2px solid #007fae;outline-offset:4px;border-radius:12px}
@media(max-width:600px){
 .site-weather .weather-sky{padding:18px;border-radius:16px}
 .site-weather .weather-hero-icon{width:84px;height:84px;margin-right:0}
 .site-weather .weather-kicker{font-size:.65rem;letter-spacing:.03em}
 .site-weather .weather-metrics{gap:9px;margin-top:20px}
 .site-weather .weather-metrics>div{padding:12px;gap:8px;align-items:flex-start;flex-direction:column}
 .site-weather .weather-metric-icon{width:34px;height:34px;border-radius:9px}
 .site-weather .weather-metrics strong{font-size:1.2rem}
 .site-weather .weather-hours>div{flex-basis:112px}
 .site-weather .sectiontitle>.actions{width:100%;justify-content:flex-start}
}

/* Daily hours: site gaps stay visible in the hours section, including on phones. */
.hours-site-list{display:grid;gap:14px;margin:18px 0}.hours-site-card{min-width:0;border:1px solid #dce5eb;border-left:5px solid #01a0e2;border-radius:14px;padding:18px;background:#fff}.hours-site-card.missing{border-left-color:#e31e25}.hours-site-card.partial{border-left-color:#cd7a0a}.hours-site-card.complete{border-left-color:#009746}.hours-site-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hours-site-card h3{margin:0;overflow-wrap:anywhere}.hours-site-card p{margin:10px 0}.hours-site-card ul{padding-left:20px;margin:10px 0 16px;list-style:disc}.hours-site-card li{margin:7px 0}.hours-site-card li small{display:block;color:#526878}.hours-site-missing-label{color:#a21e25}.hours-site-card .actions{margin-top:14px}.hours-status-grid small{font-size:12px;line-height:1.4}.hours-person-row.partial{border-left-color:#cd7a0a}@media(max-width:640px){.hours-site-card{padding:14px}.hours-site-card-heading{align-items:flex-start}.hours-site-card .actions button{height:auto;white-space:normal;min-height:44px}}

.employee-history-day{padding:18px 0;border-top:1px solid #c4deed;margin-top:16px}.employee-history-day h4{font-size:1.05rem;font-weight:750;color:#154867;text-transform:capitalize}.employee-today-results article{min-width:0}
/* Programma e interventi: controlli principali subito visibili. */
.program-upload-primary{margin:22px 0;padding:24px;border:1px solid #99cde4;border-radius:20px;background:linear-gradient(120deg,#edf8ff,#f2fbf7);color:#153e56}
.program-upload-primary h3{font-size:1.35rem;font-weight:750;margin:8px 0}
.program-upload-primary .program-upload{margin-top:18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.program-upload-primary .daily-plan-file{background:#fff;border:2px dashed #1987b3;border-radius:14px;min-height:90px;flex:1;min-width:240px;padding:18px}
.program-upload-primary .daily-plan-file strong{overflow-wrap:anywhere}
.program-team-review{margin-top:24px;padding-top:20px;border-top:1px solid #d4e3ec}
.program-team-review>h3{font-size:1.2rem;font-weight:700;margin-bottom:14px}
.short-jobs-card{display:flex;align-items:center;gap:20px;border-left:5px solid #009746;background:linear-gradient(110deg,#f0fbf5,#fff);margin-bottom:20px}
.short-jobs-card>div:nth-child(2){flex:1;min-width:0}.short-jobs-card h2{font-size:1.4rem;font-weight:750;color:#163e52}.short-jobs-card p{margin:6px 0}.short-jobs-card small{font-size:.875rem;color:#486073}.short-jobs-icon{padding:15px;background:#d8f3e4;border-radius:16px;color:#007b3a}
@media(max-width:640px){.short-jobs-card{flex-wrap:wrap;gap:12px}.short-jobs-card>button{width:100%}.short-jobs-icon{padding:10px}.program-upload-primary{padding:16px}.program-upload-primary .daily-plan-file{min-width:0;width:100%;flex-basis:100%}.program-upload-primary .program-upload>button{width:100%}}

/* Notification cards must keep their intrinsic height, including long weather alerts. */
.app-dialog-panel.notification-dialog{display:flex;flex-direction:column;height:min(800px,100%);min-height:0;overflow:hidden!important;padding:22px!important;gap:0}
.notification-dialog .notification-title{flex:none;min-width:0;padding:0 48px 18px 0;margin:0}
.notification-dialog .notification-title>div{min-width:0}
.notification-dialog .notification-title [data-slot=dialog-title]{padding-right:0;font-size:23px}
.notification-dialog .notification-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 3px 4px;scrollbar-gutter:stable}
.notification-dialog .notification-list-head{border-top:0;padding:0;margin:0 0 16px;align-items:flex-start}
.notification-dialog .notification-list-head small{font-size:14px}
.notification-dialog .notification-list-head button{flex:none;font-size:14px!important;min-height:44px}
.notification-dialog .notification-list{display:block;flex:none;height:auto;max-height:none;overflow:visible;margin:0;padding:0}
.notification-dialog .notification-item{display:block;height:auto;min-height:0;max-height:none;white-space:normal;overflow-wrap:anywhere;padding:16px;margin:0 0 12px;box-sizing:border-box}
.notification-dialog .notification-copy{display:block;position:static;padding:0;width:100%;min-width:0}
.notification-dialog .notification-copy strong{display:block;font-size:16px;line-height:1.4}
.notification-dialog .notification-copy>span{display:block;font-size:16px;line-height:1.5;margin-top:7px}
.notification-dialog .notification-copy small{display:block;font-size:14px;line-height:1.4;margin-top:10px}
.notification-dialog .notification-new{display:inline-block;margin-top:10px;line-height:1.4}
.notification-dialog .notification-settings{margin-top:20px;padding-top:12px}
.notification-dialog .notification-settings summary{font-size:16px}
.notification-dialog .app-dialog-close{top:12px;right:12px}
@media(max-width:767px){.app-dialog-panel.notification-dialog{width:100%!important;height:100%!important;max-height:100%!important;padding:18px 14px!important;gap:0}.notification-dialog .notification-title{padding-bottom:16px;align-items:flex-start}.notification-dialog .notification-title>svg{width:38px;height:38px;padding:8px}.notification-dialog .notification-scroll{padding-top:14px}.notification-dialog .notification-list-head{gap:8px}.notification-dialog .notification-item.is-new{padding:16px 16px 16px 13px}.notification-dialog .notification-title [data-slot=dialog-description]{font-size:14px;line-height:1.4}}
.chat-reply-quote,.chat-reply-compose{border-left:3px solid #009746;border-radius:8px;background:#edf6f2;padding:10px 12px;margin:10px 0;color:#234d40;overflow-wrap:anywhere}
.chat-reply-quote p,.chat-reply-compose p{font-size:14px;margin:4px 0;white-space:pre-wrap}
.chat-reply-compose{display:flex;align-items:center;gap:12px;flex:none;max-height:120px;overflow:auto}.chat-reply-compose>div{flex:1;min-width:0}
.chat-reply-button{display:block;padding:8px 0;font-size:14px;font-weight:650;color:#086641;min-height:40px}
.chat-send-status{font-size:14px;color:#315c50;margin:4px 0;flex:none}
.daily-call-container{display:flex;flex-direction:column;flex:1;min-height:300px}.daily-call-frame{flex:1;min-height:280px;width:100%}.chat-call-stage{display:flex;flex-direction:column;gap:10px}.chat-call-status{font-size:16px;color:#1e5a48}.chat-hangup{background:#b7242b!important;color:#fff!important;border-color:#b7242b!important}
.time-punch{border-top:5px solid #009746;background:linear-gradient(135deg,#eefaf4,#fff)!important}.time-punch h2{display:flex;align-items:center;gap:10px}.time-punch p{margin:10px 0}.punch-state{padding:8px 12px;border-radius:20px;background:#edf1f4;color:#395569;font-size:14px;font-weight:700}.punch-state.running{background:#d7f4e3;color:#006b35}.punch-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.punch-buttons button{min-height:64px;font-size:17px;white-space:normal}.punch-start{background:#008c43!important;color:#fff!important}.punch-stop{background:#bb242c!important;color:#fff!important}.punch-buttons button:disabled{opacity:.4}.punch-active{padding:16px;border-radius:12px;background:#e1f4eb;color:#164e36}.punch-filters{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.punch-filters .field{flex:1;min-width:180px}.punch-review-row{border:1px solid #dbe5ee;border-left:4px solid #d69a25;border-radius:16px;padding:20px;margin:14px 0;background:#fff}.punch-review-row.matches{border-left-color:#009746}.punch-review-row h3{font-size:19px;font-weight:750}.punch-review-status{display:block;margin:10px 0;color:#82520b}.matches .punch-review-status{color:#006d36}.punch-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.punch-totals small,.punch-totals strong{display:block}.punch-totals small{font-size:14px;color:#526878}.punch-totals strong{font-size:20px;color:#173f56}.punch-review details,.time-punch details{padding:12px 0}.punch-review summary,.time-punch summary{cursor:pointer;font-weight:650}@media(max-width:600px){.punch-buttons{grid-template-columns:1fr}.punch-totals{grid-template-columns:1fr;gap:10px}.punch-totals>div{display:flex;justify-content:space-between;gap:10px}.punch-review-row{padding:16px}}
.workspace-areas{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 24px}.workspace-areas button{display:flex;align-items:center;gap:18px;text-align:left;padding:24px;border-radius:20px;border:1px solid #b8d8ca;background:linear-gradient(125deg,#e5f7ed,#fff);color:#15553c;min-height:116px}.workspace-areas button+button{background:linear-gradient(125deg,#e4f3ff,#fff);color:#154a75;border-color:#b9d9ef}.workspace-areas strong{display:block;font-size:21px;font-weight:750}.workspace-areas small{display:block;font-size:15px;margin-top:6px}.workspace-areas svg{flex:none}.workspace-areas button:focus-visible{outline:3px solid #01a0e2;outline-offset:3px}@media(max-width:640px){.workspace-areas{grid-template-columns:1fr}.workspace-areas button{padding:20px}}
.punch-programme{padding:18px;margin:16px 0;border:1px solid #bedcec;border-radius:16px;background:#eff8ff;color:#1b4863}.punch-programme h3{font-size:18px;font-weight:750;margin-top:6px}.punch-programme small{display:block;margin-top:4px;font-size:14px;color:#456677}
.punch-review-v2 .punch-review-row{border-left-width:1px;padding:22px;box-shadow:0 5px 20px #113b5110}.punch-person-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.punch-person-header>div{flex:1;min-width:160px}.punch-person-header h3{margin:0 0 5px!important;color:#12374b;font-size:20px!important}.punch-person-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#def3e9;color:#007b3e;font-size:18px;font-weight:800}.punch-person-date{font-size:14px;color:#536a78}.punch-site-list{display:grid;gap:10px;margin:14px 0}.punch-site-card{display:flex;gap:14px;align-items:center;padding:18px;border-radius:16px;background:#edf7fd;border:1px solid #c8e3f1}.punch-site-icon{color:#007da8;flex-shrink:0}.punch-site-copy{flex:1;min-width:0}.punch-site-copy h4{font-size:20px;color:#123c54;font-weight:750;line-height:1.3;margin:5px 0;overflow-wrap:anywhere}.punch-site-copy p{display:flex;gap:6px;align-items:center;margin:6px 0;color:#3d5c70;font-size:15px}.punch-site-copy p svg{flex-shrink:0}.punch-site-work{line-height:1.5}.punch-site-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.punch-site-sources span{padding:4px 8px;background:white;border:1px solid #d1e5ef;border-radius:8px;font-size:13px;color:#315b70}.punch-map-link{display:flex;align-items:center;gap:6px;white-space:nowrap;padding:10px 13px;background:#fff;border:1px solid #acd4e8;border-radius:10px;color:#096b95;font-size:14px;font-weight:700}.punch-site-empty{display:flex;gap:12px;padding:16px;background:#f4f6f8;border:1px dashed #bdcdd7;border-radius:14px;color:#465f70}.punch-site-empty p{margin:5px 0 10px;font-size:15px}.punch-review-v2 .punch-totals>div{background:#f7fafb;padding:15px;border:1px solid #e4edf1;border-radius:12px}.punch-review-v2 .punch-totals strong{margin:7px 0;font-size:21px}.punch-totals span{font-size:14px;color:#536a78}.punch-review-v2 .punch-review-status{display:flex;gap:7px;align-items:center;font-size:14px;font-weight:700}.punch-timeline-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #e3ebf0}.punch-timeline-row small,.punch-timeline-row strong{display:block}.punch-timeline-row small{font-size:13px;color:#547080;margin-bottom:5px}.punch-timeline-row strong{font-size:15px;color:#123c54}@media(max-width:640px){.punch-review-v2 .punch-review-row{padding:15px}.punch-site-card{flex-wrap:wrap;padding:14px;gap:10px}.punch-site-copy{min-width:calc(100% - 50px)}.punch-map-link{width:100%;justify-content:center}.punch-person-header .punch-state{font-size:13px;padding:7px 9px}.punch-review-v2 .punch-totals>div{display:block}.punch-review-v2 .punch-totals{grid-template-columns:1fr}.punch-site-copy h4{font-size:18px}}

/* One compact header, with the OS-provided safe inset applied exactly once. */
@media(max-width:767px){.topbar{top:0;height:calc(52px + env(safe-area-inset-top,0px));min-height:calc(52px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));margin-top:0;box-sizing:border-box}.topbar .mobile-menu-control,.topbar .notification-button{min-height:44px}.topbar .topbar-logo{width:30px;height:30px}.industrial-sidebar .brand{padding-top:8px;padding-bottom:14px}.home-scene>.workspace-topline{padding-top:16px;min-height:165px}[data-slot=sidebar][data-mobile=true]{padding-top:env(safe-area-inset-top,0px)}}
html[data-native-app=true] .pwa-install{display:none!important}
.management-list{display:grid;gap:14px}.management-card{border:1px solid #cddfe0;border-radius:14px;padding:16px;background:white;overflow-wrap:anywhere}.management-card .actions{display:flex;gap:8px;flex-wrap:wrap}.management-file{border-top:1px solid #e0e8eb;padding:12px 0}.management-file img,.certificate-preview{max-width:100%;max-height:220px;object-fit:contain;border-radius:8px}.management-history{padding:12px;background:#f3f7f9;border-radius:8px}.management-history p{font-size:13px}.management-filters{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.management-filters>*{flex:1;min-width:160px}

.photo-delete-control{flex:0 0 auto;padding:6px 14px;color:#fff;background:#142330;max-height:40dvh;overflow:auto}.photo-delete-control>button{background:#fff0f0;color:#962c2c;border-color:#efbcbc;min-height:44px}.photo-delete-control form{display:grid;gap:8px;max-width:620px;margin:auto}.photo-delete-control p{font-size:13px;margin:0}.photo-delete-control label{display:grid;gap:5px;font-size:14px}.photo-delete-control input,.photo-delete-control select{background:white;color:#17283a;border-radius:7px;padding:10px;font-size:16px}.photo-delete-control .actions{display:flex;gap:8px}.photo-delete-control [role=alert]{color:#ffd1d1}

.quick-photo-saved-grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.quick-photo-saved-item{width:220px;max-width:100%;border:1px solid #dae4e9;border-radius:12px;padding:10px;background:#fff}.quick-photo-saved-item .photos{display:block;margin:0}.quick-photo-saved-item .photos>button{width:100%;height:150px}.quick-photo-saved-item .photos img{width:100%;height:100%;object-fit:cover}.quick-photo-saved-item .photo-delete-control{padding:10px 0 0;background:transparent;color:#18384d;max-height:none}.quick-photo-saved-item .photo-delete-control>button{width:100%;white-space:normal}.quick-photo-saved-item:has(form){width:350px}.quick-photo-saved-item .photo-delete-control [role=alert]{color:#a32020}.quick-photo-saved-item .photo-delete-control .actions{flex-wrap:wrap}.quick-photo-saved-item input{border:1px solid #bdcdd5;width:100%;min-width:0}

.badge-only{max-width:780px;margin:0 auto;padding:calc(12px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom))}.badge-only>header{margin-bottom:16px}.badge-only h1{font-size:25px}.badge-only>.time-punch{margin-bottom:16px}

/* Photo-led workspaces: illustrative branding is separate from site evidence. */
.team-editorial{position:relative;isolation:isolate;overflow:hidden;min-height:300px;border-radius:24px;margin:0 0 24px;background:#12384d;box-shadow:0 16px 38px #092d4220;color:#fff}
.team-editorial>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-2}
.team-editorial:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#052237eb,#05223766 52%,transparent);z-index:-1}
.team-editorial>div{padding:36px;max-width:560px}.experience-kicker{font-size:12px;letter-spacing:.12em;font-weight:750;display:block;line-height:1.6}
.team-editorial h2{font-size:clamp(28px,3vw,40px);line-height:1.15;color:white;margin:14px 0 24px;letter-spacing:-.035em}
.team-editorial button{display:flex;align-items:center;gap:10px;background:#fff;color:#113a50;border-radius:14px;padding:14px 18px;min-height:48px;font-size:16px;font-weight:700;max-width:100%;text-align:left}
.team-editorial>small{position:absolute;right:12px;bottom:10px;background:#062438d9;color:#fff;padding:4px 9px;border-radius:6px;font-size:12px}
.site-experience{display:grid;gap:20px;margin:16px 0 32px;color:#16374b}.site-experience h2{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin:0}.site-experience p{font-size:16px;line-height:1.5;margin:8px 0 0;color:#536978}
.site-visual{position:relative;border-radius:24px;overflow:hidden;background:#173e51;min-height:280px;isolation:isolate}.site-visual>img,.site-visual>.photo-cover-empty{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.site-visual>.photo-cover-empty{justify-content:center;align-content:start;padding-top:28px;color:#526f7f;background:#e3edf2}.site-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#052338f5,transparent 95%);z-index:-1}.site-visual-caption{padding:32px;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;color:white}.site-visual-caption h2{font-size:clamp(27px,3vw,38px);overflow-wrap:anywhere;color:#fff;margin-top:8px}.site-visual-caption p{color:#e2eef4}.site-visual-caption .experience-kicker{color:#b8e3db}
.site-assistant-card{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:18px;background:linear-gradient(120deg,#e9f7ef,#fff 75%);padding:26px;border:1px solid #cce4da;border-radius:22px}.experience-ai-mark{width:52px;height:52px;border-radius:17px;background:#18714e;color:white;display:grid;place-items:center}.site-assistant-card .experience-kicker{color:#22644e;margin-bottom:6px}.experience-ask,.experience-attention>button{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 18px;border-radius:13px;background:#176246;color:white;font-size:16px;font-weight:650;min-height:48px}
.experience-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.experience-actions>button{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;padding:24px 20px;background:white;border:1px solid #d8e5ec;border-radius:19px;min-height:170px;box-shadow:0 6px 16px #163c5206}.experience-actions>button>svg:first-child{color:#178062;margin-bottom:8px}.experience-actions>button:nth-child(2n)>svg:first-child{color:#1386b6}.experience-actions strong{font-size:17px;line-height:1.3}.experience-actions span{font-size:14px;line-height:1.5;color:#617583}.experience-chevron{position:absolute;right:16px;top:27px;color:#91a3af}
.experience-attention{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:26px;border:1px solid #e2e8ec;background:#fff;border-radius:20px}.experience-attention .experience-kicker{color:#637987;margin-bottom:8px}.experience-attention>button{background:#edf3f6;color:#21445a;flex-shrink:0}.experience-recent{padding:26px;border-radius:22px;background:#fff;border:1px solid #dbe6ed}.experience-recent header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.experience-recent header button{color:#157454;font-size:14px;font-weight:700;min-height:44px}.experience-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.experience-photo-grid>button{min-width:0;overflow:hidden;border-radius:15px;background:#f1f6f8;text-align:left}.experience-photo-grid img,.experience-photo-grid .photo-cover-empty{height:170px;width:100%;object-fit:cover}.experience-photo-grid span{display:block;padding:10px 14px;font-size:14px;color:#476271}.experience-links{display:flex;gap:10px;flex-wrap:wrap}.experience-links button{display:flex;align-items:center;gap:9px;background:white;border:1px solid #d5e3e9;border-radius:13px;padding:13px 16px;font-size:14px;min-height:48px}
.field-in-site>.workspace-topline{display:none}.field-in-site .field-tabs{border-radius:16px;background:#fff;padding:6px;border:1px solid #dae6ec;box-shadow:0 5px 20px #12344906}.field-in-site .field-tabs button{min-height:44px;border-radius:11px}.unified-workspace .sitecard{border-radius:21px;overflow:hidden;box-shadow:0 10px 26px #103a4b0a}.unified-workspace .site-card-cover{height:205px}
@media(max-width:767px){.team-editorial{min-height:320px;border-radius:20px}.team-editorial>img{object-position:65% center}.team-editorial:after{background:linear-gradient(0deg,#052237ed,transparent 95%)}.team-editorial>div{padding:24px 20px 42px;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end}.team-editorial h2{margin:10px 0 18px}.team-editorial button{align-self:flex-start}.site-visual,.site-visual-caption{min-height:240px}.site-visual-caption{padding:24px 20px}.site-assistant-card{grid-template-columns:42px 1fr;padding:20px;gap:14px}.experience-ai-mark{width:42px;height:42px;border-radius:13px}.site-assistant-card h2{font-size:21px}.experience-ask{grid-column:1/-1;width:100%}.experience-actions{grid-template-columns:1fr 1fr;gap:12px}.experience-actions>button{padding:20px 16px;min-height:165px}.experience-actions strong{font-size:16px}.experience-chevron{display:none}.experience-attention{flex-direction:column;align-items:stretch;padding:20px}.experience-recent{padding:20px}.experience-photo-grid{grid-template-columns:1fr 1fr}.experience-photo-grid>button:last-child:nth-child(3){display:none}.experience-photo-grid img{height:130px}.experience-links{display:grid;grid-template-columns:1fr 1fr}.experience-links button{text-align:left}.field-in-site .field-tabs{overflow-x:auto;flex-wrap:nowrap}.field-in-site .field-tabs button{flex-shrink:0}.unified-workspace .site-card-cover{height:190px}}
/* v237: one conversation, one scroll area, composer inside the visual viewport. */
.app-dialog-panel.site-chat.chat-simple{padding:0!important;gap:0!important;min-height:0;display:flex;flex-direction:column;background:#eef4f1;height:min(850px,100%)!important;overflow:hidden}
.chat-simple .chat-topline{display:flex;align-items:center;gap:3px;flex:0 0 auto;background:#fff;padding:10px 8px;border-bottom:1px solid #dde8e2;min-height:68px}
.chat-simple .chat-topline button{min-height:44px!important;height:44px;width:42px;min-width:42px;padding:0;background:transparent;border:0;box-shadow:none;color:#176b50;border-radius:50%}
.chat-simple .chat-top-title{flex:1;min-width:0;padding:0 5px}.chat-simple .chat-top-title [data-slot=dialog-title]{font-size:17px!important;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0!important;color:#183f35}.chat-simple .chat-top-title p{margin:3px 0 0;color:#60766d;font-size:12px;line-height:1.3}.chat-simple .chat-top-actions{display:flex;gap:1px}
.chat-simple .chat-selection{display:flex;flex-direction:column;flex:1;min-height:0;padding:12px;gap:12px;background:#fff}.chat-simple .chat-audience{border-radius:12px;padding:3px;gap:3px;background:#edf3f1}.chat-simple .chat-audience button{min-height:42px!important;font-size:14px;padding:6px}.chat-simple .chat-search input{width:100%;height:44px;border:0;border-radius:12px;padding:8px 14px;background:#edf3f1}.chat-simple .chat-people{flex:1;min-height:0;border:0;border-radius:0}.chat-simple .chat-person{min-height:70px;padding:12px 3px;gap:12px}.chat-simple .chat-person strong{font-size:15px}.chat-simple .chat-avatar{border-radius:50%}.chat-simple .chat-person small{font-size:12px}.chat-simple .chat-list-empty{padding:16px;color:#63786e}.chat-simple .chat-settings{font-size:13px;max-height:35%;overflow:auto}.chat-simple .chat-settings summary{display:flex;gap:8px;align-items:center;color:#536f62;cursor:pointer}.chat-simple .chat-settings form{padding-top:10px}
.chat-simple .chat-messages{flex:1 1 0;min-height:0!important;border:0;border-radius:0;margin:0;padding:12px;background:#edf3ee;overflow:auto;overscroll-behavior:contain;overflow-anchor:none}.chat-simple .chat-day{text-align:center;margin:4px 0 12px}.chat-simple .chat-day span{font-size:11px;background:#fff9;padding:5px 10px;border-radius:7px;color:#64786e}.chat-simple .chat-bubble{max-width:86%;padding:8px 10px 3px;border:0;border-radius:12px 12px 12px 3px;margin-bottom:8px;box-shadow:0 1px 2px #173d3212}.chat-simple .chat-bubble.mine{background:#dcf5e4;border-radius:12px 12px 3px 12px}.chat-simple .chat-bubble p{font-size:16px;line-height:1.45;margin:2px 0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-simple .chat-bubble>strong{font-size:12px}.chat-simple .chat-message-foot{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:28px}.chat-simple .chat-message-foot small{font-size:10px;margin-left:3px;white-space:nowrap}.chat-simple .chat-reply-button{padding:4px;min-width:28px;min-height:28px;background:none;border:0;color:#6b8477;margin-right:auto}.chat-simple .chat-read,.chat-simple .chat-sent{margin:0;font-size:11px}.chat-simple .chat-read summary{list-style:none}.chat-simple .chat-read summary::-webkit-details-marker{display:none}.chat-simple .chat-read[open]{max-width:180px}.chat-simple .chat-message-menu{font-size:12px}.chat-simple .chat-message-menu summary{list-style:none;cursor:pointer;padding:4px}.chat-simple .chat-message-menu button{display:block;padding:6px;font-size:12px}.chat-simple .chat-reply-quote{border-left:3px solid #339e71;background:#ffffff70;margin:2px 0 6px;padding:5px 8px;border-radius:4px}.chat-simple .chat-reply-quote p{font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.chat-simple .chat-bottom{flex:0 0 auto;padding:8px 10px;background:#f8fbf9;border-top:1px solid #dce8df}.chat-simple .chat-compose{margin:0;display:flex;align-items:flex-end;gap:8px}.chat-simple .chat-compose textarea{font-size:16px!important;line-height:22px;min-height:44px!important;height:44px;max-height:110px;overflow-y:auto;padding:10px 14px;border:1px solid #e0e8e3;resize:none;border-radius:23px;background:#fff;box-shadow:none}.chat-simple .chat-compose button{height:44px;min-height:44px!important;min-width:44px;width:44px;padding:0;border-radius:50%;background:#007b45;color:white}.chat-simple .chat-reply-compose{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;border-left:3px solid #209560;background:#e9f3ec;margin-bottom:6px;border-radius:6px;gap:6px}.chat-simple .chat-reply-compose>div{min-width:0;flex:1}.chat-simple .chat-reply-compose strong{font-size:12px}.chat-simple .chat-reply-compose p{font-size:13px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-simple .chat-inline-error,.chat-simple .chat-inline-status{padding:7px 12px;font-size:13px;background:#fff0e8;color:#763d23;display:flex;gap:10px;justify-content:space-between;flex:0 0 auto;max-height:90px;overflow:auto}.chat-simple .chat-inline-status{background:#e7f4ed;color:#236143}.chat-simple .chat-inline-error button,.chat-simple .chat-inline-status button{flex-shrink:0}.chat-simple .chat-call-stage{padding:12px}
@media(max-width:767px){.app-dialog-viewport.app-chat-viewport{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);align-items:stretch;background:#fff;z-index:1000}.app-dialog-panel.site-chat.chat-simple{border-radius:0!important;border:0;width:100%!important;height:100%!important;max-height:100%!important}.chat-simple .chat-topline{padding:7px 3px;min-height:60px}.chat-simple .chat-topline button{width:36px;min-width:36px}.chat-simple .chat-top-title [data-slot=dialog-title]{font-size:15px!important}.chat-simple .chat-topline svg{width:20px;height:20px}.chat-simple .chat-messages{padding:10px}.chat-simple .chat-bubble{max-width:88%}}
.topbar-brand .topbar-logo,.industrial-sidebar .brand-logo{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;object-fit:contain}

.punch-ref-applied{padding:16px;border:1px solid #b8ddcc;background:#e8f7ee;border-radius:13px;color:#15543b;margin:14px 0}.punch-ref-applied strong{font-size:17px}.punch-ref-applied p,.punch-ref-note{font-size:14px;line-height:1.5}.punch-ref-note{color:#315d4b;background:#eef8f2;padding:10px 12px;border-radius:9px}

/* App Store reference: clear working cards over Antonio's existing photographic home. */
.topbar .brand-work{color:#29bdff;font-weight:850;letter-spacing:-.025em}
.home-scene:has(.photo-dashboard)>.workspace-topline .workspace-top-actions{display:none}
.photo-dashboard{grid-template-columns:minmax(0,1fr) 320px;gap:22px}
.photo-dashboard .photo-dashboard-main{display:flex;flex-direction:column;gap:22px;min-width:0}
.photo-dashboard .photo-dashboard-aside{gap:18px;min-width:0}
.photo-dashboard .photo-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.photo-dashboard .photo-metrics>button{display:flex;align-items:center;gap:12px;min-width:0;min-height:104px;padding:20px 14px;border-radius:17px;background:#fff;border:1px solid #d4e8f7;box-shadow:0 5px 18px #001b3010;text-align:left;color:#075c9d;transition:background .15s,border-color .15s}
.photo-dashboard .photo-metrics>button:hover{background:#edf8ff;border-color:#01a0e2}
.photo-dashboard .photo-metrics svg{width:28px;height:28px;color:#0088d7;flex:none}
.photo-dashboard .photo-metrics>button:last-child svg{color:#d7333e}
.photo-dashboard .photo-metrics strong{font-size:1.75rem;line-height:1.15;letter-spacing:-.04em;font-weight:800;overflow-wrap:anywhere}
.photo-dashboard .photo-metrics small{font-size:.875rem;font-weight:500;color:#45627a;line-height:1.4;margin-top:5px}
.photo-dashboard .photo-recent-sites{background:#fff;padding:20px;border:1px solid #d4e8f7;border-radius:20px;box-shadow:0 6px 20px #001b3010;min-width:0}
.photo-dashboard h2{font-size:1.125rem;color:#123d61;line-height:1.35;font-weight:750;letter-spacing:-.025em}
.photo-dashboard header>button{color:#006da9;min-height:44px;font-size:.875rem;font-weight:650}
.photo-dashboard .photo-recent-sites>header,.photo-dashboard .photo-side-panel>header{margin-bottom:12px;gap:12px;align-items:center}
.photo-dashboard .photo-site-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.photo-dashboard .photo-site-card{display:grid;grid-template-columns:35% minmax(0,1fr);background:#f7fbff;border:1px solid #dae9f4;border-radius:14px;box-shadow:none;min-width:0;text-align:left;align-items:stretch}
.photo-dashboard .photo-site-card>img,.photo-dashboard .photo-cover-empty{height:100%;min-height:150px;width:100%;object-fit:cover;border-radius:0}
.photo-dashboard .photo-cover-empty{padding:10px;text-align:center;font-size:.75rem;background:#e6f2fa;color:#4b6b80}
.photo-dashboard .photo-site-copy{padding:13px;gap:8px;min-width:0}
.photo-dashboard .photo-site-status{font-size:.75rem;gap:6px;align-items:center}
.photo-dashboard .photo-site-status>span{background:#e0f5e8;color:#006b36;font-weight:650;border-radius:6px;padding:4px 7px}
.photo-dashboard .photo-site-status>strong{color:#006592}
.photo-dashboard .photo-site-card h3{font-size:1rem;line-height:1.3;letter-spacing:-.02em;color:#123d61;overflow-wrap:anywhere}
.photo-dashboard .photo-site-copy>small{font-size:.8125rem;color:#4e6c80}
.photo-dashboard .photo-site-copy progress{display:block;width:100%;height:7px;appearance:none;border:0;background:#ddecf6;border-radius:8px;overflow:hidden}
.photo-dashboard progress::-webkit-progress-bar{background:#ddecf6;border-radius:8px}
.photo-dashboard progress::-webkit-progress-value{background:linear-gradient(90deg,#009746,#01a0e2);border-radius:8px}
.photo-dashboard progress::-moz-progress-bar{background:#009746;border-radius:8px}
.photo-dashboard .photo-site-footer{font-size:.8125rem;color:#4e6c80;border-color:#dcebf5;padding-top:7px;align-items:flex-start}
.photo-dashboard .photo-site-footer svg{flex:none}
.photo-dashboard .photo-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.photo-dashboard .photo-shortcuts>button{align-items:center;justify-content:center;text-align:center;padding:16px 10px;gap:10px;min-height:114px;border-radius:16px;border:1px solid #d4e8f7;background:#fff;box-shadow:0 5px 18px #001b3010;color:#124a75}
.photo-dashboard .photo-shortcut-icon{display:grid;place-items:center;width:43px;height:43px;background:#e7f5ff;color:#0089d8;border-radius:13px}
.photo-dashboard .photo-shortcut-icon svg{width:25px;height:25px;margin:0;color:inherit}
.photo-dashboard .photo-shortcuts strong{font-size:.875rem;line-height:1.35;font-weight:700;overflow-wrap:anywhere}
.photo-dashboard .photo-shortcuts>button:last-child .photo-shortcut-icon{color:#c83239;background:#fff0ed}
.photo-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.photo-secondary-actions>button{display:flex;align-items:center;gap:12px;text-align:left;padding:17px;border:1px solid #b0d9ee70;border-radius:16px;background:#062b43d9;color:#fff;min-width:0}
.photo-secondary-actions>button:hover{background:#0d3d59}
.photo-secondary-actions svg{width:23px;height:23px;color:#57caff;flex:none}
.photo-secondary-actions strong{display:block;font-size:.875rem;line-height:1.4}
.photo-secondary-actions small{display:block;font-size:.8125rem;line-height:1.45;margin-top:4px;color:#c4dbea}
.photo-dashboard .photo-side-panel{background:#fff;border:1px solid #d4e8f7;border-radius:20px;padding:20px;color:#3d5c72;box-shadow:0 6px 20px #001b3010}
.photo-dashboard .photo-activity{padding:13px 0;gap:10px;border-bottom:1px solid #e4edf5;align-items:center}
.photo-dashboard .photo-activity:last-child{border-bottom:0}
.photo-dashboard .photo-activity>span:nth-child(2){flex:1;min-width:0}
.photo-dashboard .photo-activity strong{color:#163f5e;font-size:.875rem;font-weight:700;line-height:1.4}
.photo-dashboard .photo-activity:hover strong{color:#007eb8}
.photo-dashboard .photo-activity small{color:#587184;font-size:.8125rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere;margin-top:3px}
.photo-dashboard .photo-activity time{color:#627b8d;font-size:.75rem;display:block;margin-top:3px}
.photo-dashboard .photo-activity-icon{width:38px;height:38px;border-radius:50%;font-size:.8125rem;font-weight:750;background:#e5f4ff;color:#006ba3;flex:none}
.photo-dashboard .photo-activity-hours .photo-activity-icon{color:#007443;background:#e0f4e9}
.photo-dashboard .photo-activity-issue .photo-activity-icon{color:#b32f39;background:#fff0ed}
.photo-dashboard .photo-activity>span.photo-hours-badge{background:#e4f7ea;color:#006d35;border-radius:6px;padding:5px 7px;white-space:nowrap;font-size:.8125rem;font-weight:700;min-width:40px;text-align:center;flex:0 0 auto}
.photo-dashboard .photo-empty{font-size:.875rem;color:#4d6a7e;line-height:1.55;padding:12px 0}
.photo-dashboard .photo-chat-new{font-size:.75rem}
.photo-dashboard .photo-chat-actions{gap:7px;margin-top:15px}
.photo-dashboard .photo-chat-actions button{background:#edf7ff;color:#075f91;border:1px solid #c9e4f6;font-size:.875rem;min-height:46px;border-radius:10px}
.photo-dashboard .photo-chat-actions button:hover{background:#dff0ff}
.photo-dashboard .photo-ai-button{padding:20px;background:linear-gradient(115deg,#007c40,#075576);border-color:#45a881;gap:14px}
.photo-dashboard .photo-ai-button>svg{flex:none}
.photo-dashboard .photo-ai-button strong{font-size:1rem}
.photo-dashboard .photo-ai-button small{font-size:.875rem;color:#e0f2f0;line-height:1.4}
.photo-dashboard button:focus-visible,.photo-dashboard .photo-site-grid:focus-visible,.field-bottom-reference button:focus-visible,.mobile-quick-actions button:focus-visible{outline:3px solid #01a0e2;outline-offset:3px}
.mobile-quick-dialog{width:min(500px,100%);padding:26px;border-radius:22px!important}
.mobile-quick-dialog [data-slot=dialog-title]{color:#123d61;font-size:1.375rem}
.mobile-quick-dialog [data-slot=dialog-description]{font-size:1rem;color:#526e80}
.mobile-quick-actions{display:grid;gap:10px;margin-top:8px}
.mobile-quick-actions>button{display:flex;align-items:center;gap:16px;padding:17px;background:#f2f9ff;border:1px solid #d4e8f7;border-radius:14px;min-height:78px;text-align:left;color:#006b9f}
.mobile-quick-actions>button:hover{background:#e5f4ff}
.mobile-quick-actions svg{width:25px;height:25px;flex:none}
.mobile-quick-actions strong{display:block;font-size:1rem;color:#123d61;line-height:1.4}
.mobile-quick-actions small{display:block;font-size:.875rem;line-height:1.45;color:#4d6a7e;margin-top:4px}
@media(min-width:1800px){.photo-dashboard{grid-template-columns:minmax(0,1fr) 360px}}
@media(max-width:1300px){.photo-dashboard{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.photo-dashboard .photo-site-grid{grid-template-columns:1fr}.photo-dashboard .photo-metrics>button{flex-direction:column;gap:7px;text-align:center;padding:14px 8px}}
@media(max-width:1100px){.photo-dashboard{grid-template-columns:1fr}.photo-dashboard .photo-dashboard-aside{grid-template-columns:1fr 1fr}.photo-dashboard .photo-site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-dashboard .photo-ai-button{grid-column:1/-1}}
@media(max-width:767px){
 .topbar{grid-template-rows:52px}
 .field-bottom.field-bottom-reference{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:6px max(9px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));background:#fffffff5;border-top:1px solid #d2e4f2;box-shadow:0 -4px 22px #10375412}
 .field-bottom-reference button{font-size:.875rem;color:#506d84;border-radius:12px;min-height:54px;gap:4px;line-height:1.2;min-width:0}
 .field-bottom-reference button[aria-current=page]{background:#e6f4ff;color:#006da9}
 .field-bottom-reference .field-add{margin-top:-22px;background:transparent;color:#006da9;gap:4px}
 .field-bottom-reference .field-add-icon{display:grid;place-items:center;background:linear-gradient(140deg,#01a0e2,#0875cb);border:4px solid #fff;box-shadow:0 3px 10px #007dcc40;border-radius:50%;width:56px;height:56px;color:#fff}
 .field-bottom-reference .field-add-icon svg{width:28px;height:28px}
 .home-scene .today-home-tabs{display:flex!important;overflow-x:auto;gap:14px!important;justify-content:flex-start;scrollbar-width:thin}
 .home-scene .today-home-tabs [role=tab]{flex:none;min-width:60px;white-space:nowrap}
}
@media(max-width:640px){
 .photo-dashboard{gap:18px}
 .photo-dashboard .photo-dashboard-main{gap:16px}
 .photo-dashboard .photo-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
 .photo-dashboard .photo-metrics>button{min-height:105px;flex-direction:column;gap:6px;padding:12px 5px;border-radius:13px;text-align:center}
 .photo-dashboard .photo-metrics svg{width:24px;height:24px}
 .photo-dashboard .photo-metrics strong{font-size:1.5rem}
 .photo-dashboard .photo-metrics small{font-size:.875rem;line-height:1.25;margin-top:5px}
 .photo-dashboard .photo-recent-sites{padding:14px;border-radius:17px}
 .photo-dashboard .photo-recent-sites>header{align-items:center;margin-bottom:9px}
 .photo-dashboard .photo-site-grid{display:grid;grid-auto-flow:column;grid-auto-columns:94%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:1px;gap:10px;padding:2px 1px 10px;scrollbar-width:thin;scrollbar-color:#b4d5e9 transparent}
 .photo-dashboard .photo-site-card{grid-template-columns:34% minmax(0,1fr);scroll-snap-align:start;min-height:151px}
 .photo-dashboard .photo-site-card:only-child{grid-column:1;min-width:0}
 .photo-dashboard .photo-site-copy{padding:12px;gap:7px}
 .photo-dashboard .photo-site-card h3{font-size:.9375rem}
 .photo-dashboard .photo-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
 .photo-dashboard .photo-shortcuts>button{padding:12px 5px;gap:8px;min-height:110px;border-radius:13px}
 .photo-dashboard .photo-shortcut-icon{width:36px;height:36px;border-radius:11px}
 .photo-dashboard .photo-shortcut-icon svg{width:23px;height:23px}
 .photo-dashboard .photo-shortcuts strong{font-size:.875rem;line-height:1.3}
 .photo-secondary-actions{gap:9px}.photo-secondary-actions>button{padding:13px;gap:10px}.photo-secondary-actions svg{width:21px;height:21px}.photo-secondary-actions small{display:none}
 .photo-dashboard .photo-dashboard-aside{grid-template-columns:1fr;gap:16px}
 .photo-dashboard .photo-side-panel{padding:16px;border-radius:17px}
 .photo-dashboard .photo-activity{padding:12px 0}
 .photo-dashboard .photo-activity strong{font-size:.9375rem}
 .photo-dashboard .photo-activity small{font-size:.875rem}
 .photo-dashboard h2{font-size:1.0625rem}
 .mobile-quick-dialog{padding:24px 18px}
}
@media(max-width:360px){.photo-dashboard .photo-metrics,.photo-dashboard .photo-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-secondary-actions{grid-template-columns:1fr}.field-bottom-reference button{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){.photo-dashboard button{transition:none}.photo-dashboard .photo-shortcuts>button:hover{transform:none}}

.report-folder-status{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;margin:14px 0;background:#f1f8fc;color:#214b65;border:1px solid #cde3f0;border-radius:14px;overflow-wrap:anywhere}.report-folder-status>div:first-child{flex:1;min-width:min(240px,100%)}.report-folder-status strong{font-size:1rem}.report-folder-status p{font-size:.875rem;line-height:1.5;margin:6px 0}.report-folder-status small{display:block;font-size:.8125rem;color:#4b687c;line-height:1.5}.report-folder-status.error{background:#fff5eb;border-color:#e8caae;color:#713c15}.report-folder-status .actions button{min-height:44px;white-space:normal;font-size:.875rem}@media(max-width:640px){.report-folder-status{padding:14px;gap:12px}.report-folder-status .actions{width:100%}.report-folder-status .actions button{width:100%}}
/* Attendance: one register, one export action, separate operational checks. */
.attendance-workspace{min-width:0}.attendance-workspace-tabs[data-slot=tabs-list]{display:flex;width:100%;height:auto!important;padding:6px;gap:6px;margin:0 0 18px;border:1px solid #d3e2ef;background:#edf4fa;border-radius:14px;justify-content:flex-start}.attendance-workspace-tabs [data-slot=tabs-trigger]{flex:0 1 auto;min-height:46px;padding:10px 20px;font-size:15px;color:#4d647c}.attendance-workspace-tabs [data-state=active]{background:white;color:#145492;box-shadow:0 2px 7px #14375412}.attendance-workspace-tabs [role=tab]>span{padding:2px 7px;border-radius:7px;background:#fff0d5;color:#7a4d0d}.attendance-clear{display:grid;gap:18px}.attendance-clear>.panel{margin:0}.attendance-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.attendance-title h2{font-size:28px;letter-spacing:-.035em;margin:7px 0;color:#173f70}.attendance-title p{font-size:15px;color:#526b80}.attendance-title>.eyebrow{color:#376990}.attendance-filters{display:grid;grid-template-columns:180px 210px minmax(180px,1fr);gap:20px;align-items:end;margin:26px 0}.attendance-filters fieldset{min-width:0;border:0;padding:0}.attendance-filters legend,.attendance-filters .field{font-size:14px;font-weight:650;color:#284960}.attendance-filters legend{margin-bottom:8px}.attendance-filters .field{margin:0;gap:8px}.attendance-filters input,.attendance-filters select{min-height:48px;width:100%;background:white;font-weight:500}.attendance-period{display:flex;padding:4px;border-radius:10px;background:#edf3f9;height:48px}.attendance-period button{flex:1;border-radius:7px;color:#52677e;font-size:14px;font-weight:650;cursor:pointer}.attendance-period button[aria-pressed=true]{background:#175895;color:#fff;box-shadow:0 2px 4px #17446c12}.attendance-period button:focus-visible{outline:2px solid #01a0e2;outline-offset:3px}.attendance-export-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#edf6ff;border:1px solid #d2e4f6;border-radius:12px;padding:20px}.attendance-export-bar strong{font-size:18px;color:#173f70}.attendance-export-bar p{margin:4px 0;font-size:15px;text-transform:capitalize}.attendance-export-bar small{font-size:13px;color:#506b83}.attendance-export-bar button{min-height:48px;padding-inline:24px;background:#175895;color:#fff;flex-shrink:0}.attendance-update{font-size:12px;color:#61788d;margin:13px 0 0}.attendance-download-status{display:flex;gap:8px;align-items:center;color:#12643d;font-size:14px;margin-top:14px}.attendance-totals{display:grid;grid-template-columns:1.25fr 1.1fr 1fr;gap:14px}.attendance-total{position:relative;padding:24px;border:1px solid #d4e3ef;border-radius:16px;background:white}.attendance-total>svg{color:#3977a5;position:absolute;right:19px;top:22px}.attendance-total>span{display:block;max-width:calc(100% - 22px);font-size:13px;font-weight:600;color:#526b80;min-height:36px}.attendance-total>strong{display:block;font-size:34px;line-height:1.2;letter-spacing:-.035em;color:#173f70;margin:12px 0}.attendance-total strong small{font-size:18px;font-weight:500}.attendance-total p{font-size:12px;color:#526b80;margin:0;line-height:1.5}.attendance-total.primary{background:#175895;border-color:#175895}.attendance-total.primary>strong,.attendance-total.primary>span,.attendance-total.primary>svg{color:#fff}.attendance-total.primary p{color:#d7eaff}.attendance-list-heading{display:flex;gap:18px;justify-content:space-between;align-items:center;margin:8px 0 0}.attendance-list-heading h3{text-transform:capitalize;font-size:22px;color:#173f70}.attendance-list-heading p{font-size:14px;color:#61758a;margin-top:5px}.attendance-register-head,.attendance-clear-person>summary{display:grid;grid-template-columns:minmax(220px,2fr) .7fr 1fr 1fr 18px;gap:18px;align-items:center}.attendance-register-head{padding:0 22px;color:#61788d;font-size:12px;font-weight:600}.attendance-clear-person.panel{padding:0!important;margin:0!important;border:1px solid #d9e4ef;border-radius:13px!important;overflow:hidden}.attendance-clear-person>summary{padding:20px 22px;cursor:pointer;list-style:none}.attendance-clear-person>summary::-webkit-details-marker{display:none}.attendance-clear-person>summary:hover{background:#f7faff}.attendance-clear-person>summary:focus-visible{outline:2px solid #01a0e2;outline-offset:-3px}.attendance-identity{display:flex;align-items:center;gap:13px;min-width:0}.attendance-avatar{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:11px;background:#eaf2fa;color:#215d94;font-weight:700;font-size:14px}.attendance-identity strong{font-size:16px;display:block;color:#243e56;overflow-wrap:anywhere}.attendance-identity small{display:block;font-size:12px;color:#60768a;margin-top:4px}.attendance-clear-person summary b{font-size:16px;color:#2d4b65;white-space:nowrap}.attendance-clear-person .attendance-approved b{color:#176247}.attendance-small-label{display:none}.attendance-chevron{color:#7890a5;transition:transform .15s}.attendance-clear-person[open] .attendance-chevron{transform:rotate(180deg)}.attendance-person-body{border-top:1px solid #e2eaf2;padding:20px 22px;background:#fbfdff}.attendance-person-actions{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:14px}.attendance-person-actions p{font-size:13px;color:#536e83;margin:6px 0}.attendance-person-actions button{flex-shrink:0}.attendance-clear-day{display:grid;grid-template-columns:120px 150px minmax(0,1fr);gap:20px;padding:18px 0;border-top:1px solid #e0e9f0;font-size:14px}.attendance-day-date>svg{display:none}.attendance-day-date strong,.attendance-day-date small,.attendance-day-hours small,.attendance-day-hours span{display:block}.attendance-day-date small{color:#6a7f91;font-size:12px;margin-top:4px}.attendance-day-hours strong{font-size:20px;color:#176247}.attendance-day-hours small{font-size:11px;color:#61778a;margin:3px 0 9px}.attendance-day-hours span{font-size:12px;color:#49677d}.attendance-clear-day p{margin:7px 0}.attendance-warning,.attendance-identity small.attendance-warning{color:#8a4c0b}.attendance-rules>summary{font-size:14px;font-weight:600;cursor:pointer;color:#3d5a71}.attendance-rules p{font-size:13px;color:#566e80;margin-top:12px;line-height:1.6}.attendance-related{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 18px}.attendance-workspace [data-slot=tabs-content][data-state=inactive]{display:none}
@media(max-width:1000px){.attendance-filters{grid-template-columns:170px 180px minmax(140px,1fr)}.attendance-totals{grid-template-columns:1fr 1fr}.attendance-total:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding:18px 22px}.attendance-total:last-child>span{min-height:0}.attendance-total:last-child>strong{grid-column:2;grid-row:1/3;margin:0 25px 0 0;font-size:30px}.attendance-total:last-child>svg{display:none}.attendance-register-head,.attendance-clear-person>summary{grid-template-columns:minmax(180px,1.7fr) .6fr 1fr 1fr 18px;gap:12px}.attendance-avatar{display:none}}
@media(max-width:640px){.attendance-workspace-tabs[data-slot=tabs-list]{gap:2px;justify-content:stretch;padding:4px}.attendance-workspace-tabs [data-slot=tabs-trigger]{flex:1;padding:10px 6px;font-size:12px;white-space:normal;text-align:center;line-height:1.3;min-height:48px}.attendance-workspace-tabs [role=tab]>svg{display:none}.attendance-title h2{font-size:24px}.attendance-title{gap:10px}.attendance-title>button{font-size:12px;padding:8px}.attendance-title>button svg{display:none}.attendance-title .eyebrow{font-size:10px}.attendance-filters{grid-template-columns:1fr 1fr;gap:16px 12px;margin:20px 0}.attendance-employee-filter{grid-column:1/-1}.attendance-filters input{min-width:0;font-size:16px}.attendance-filters .field,.attendance-filters legend{font-size:13px}.attendance-export-bar{align-items:stretch;flex-direction:column;padding:16px;gap:14px}.attendance-export-bar button{width:100%}.attendance-totals{gap:10px}.attendance-total{padding:17px}.attendance-total>svg{display:none}.attendance-total>span{max-width:100%;font-size:12px;min-height:48px}.attendance-total>strong{font-size:29px}.attendance-total p{font-size:11px}.attendance-total:last-child{padding:16px}.attendance-list-heading{align-items:flex-start}.attendance-list-heading h3{font-size:19px}.attendance-list-heading p{font-size:12px}.attendance-list-heading button{font-size:12px;max-width:135px;white-space:normal;height:auto;min-height:42px}.attendance-register-head{display:none}.attendance-clear-person>summary{grid-template-columns:1fr 1.2fr 1fr;padding:17px;gap:16px 8px;position:relative}.attendance-identity{grid-column:1/-1;padding-right:24px}.attendance-avatar{display:grid}.attendance-identity strong{font-size:15px}.attendance-small-label{display:block;font-size:10px;color:#657e91;margin-top:4px;line-height:1.35}.attendance-chevron{position:absolute;top:28px;right:17px}.attendance-clear-person summary b{font-size:16px}.attendance-person-body{padding:16px}.attendance-person-actions{align-items:stretch;flex-direction:column;gap:12px}.attendance-person-actions button{align-self:flex-start}.attendance-clear-day{grid-template-columns:1fr 1fr;gap:14px;font-size:13px}.attendance-clear-day>div:last-child{grid-column:1/-1}.attendance-day-hours{text-align:right}.attendance-day-hours small{margin-bottom:4px}.attendance-related{display:grid;grid-template-columns:1fr}.attendance-related button{justify-content:flex-start}}

/* App refresh 04.10: shared navigation, readable controls and account exit. */
.logout-control [data-slot=button]{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;font-size:14px;font-weight:650;white-space:nowrap}
.menu-logout{padding-top:12px;border-top:1px solid #ffffff25}.menu-logout [data-slot=button]{width:100%;background:#ffffff12;color:inherit;border:1px solid #ffffff28;border-radius:12px}.menu-logout [data-slot=button]:hover{background:#ffffff24}
.app-interface-version{display:block;text-align:center;font-size:12px;opacity:.75;padding:3px 0 6px}
.topbar .logout-control{margin-left:auto;flex-shrink:0}.topbar .logout-control button{color:white;border:1px solid #ffffff35;border-radius:12px}.logout-control .error{font-size:14px;white-space:normal;max-width:240px}
.mobile-app-navigation{display:none}
.industrial-sidebar .workspace-menu-group [data-slot=sidebar-menu-button]{min-height:46px;border-radius:12px;font-size:14px}
.industrial-sidebar .workspace-menu-group h2{font-size:12px;letter-spacing:.08em;margin-top:20px}
.industrial-sidebar [data-slot=sidebar-menu-button][data-active=true]{background:#01a0e225;color:#fff;box-shadow:inset 3px 0 #01a0e2}
.unified-workspace:not(.home-scene){background:#f2f6fa}
.unified-workspace:not(.home-scene)>.heading{background:#fff;color:#173451;border:1px solid #dbe5ef;border-top:4px solid var(--brand-green);box-shadow:0 4px 20px #12395408;min-height:0;padding:24px;border-radius:20px}
.unified-workspace:not(.home-scene)>.heading h1{color:#123652;letter-spacing:-.035em;font-weight:750}
.unified-workspace:not(.home-scene)>.heading p,.unified-workspace:not(.home-scene)>.heading .back{color:#49687e}
.unified-workspace:not(.home-scene)>.heading .eyebrow{color:#00743a}
.unified-workspace .panel{border-radius:18px}.unified-workspace [data-slot=button]{transition:background-color .15s,box-shadow .15s;min-height:46px}
.unified-workspace [data-slot=button]:focus-visible,.mobile-app-navigation button:focus-visible{outline:3px solid #01a0e2;outline-offset:3px}
.photo-metrics>button{border-radius:18px;border-top:3px solid #01a0e2}.photo-metrics>button:first-child{border-top-color:#009746}
.photo-shortcuts>button{border-radius:18px}.photo-shortcut-icon{border-radius:14px}.photo-recent-sites,.photo-side-panel{border-radius:20px}
.badge-only{background:#f2f6fa;min-height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.badge-only .panel{border-radius:20px}.badge-only>.logout-control{margin-top:14px}.badge-only>.logout-control button{background:#fff;border:1px solid #cbdfee;width:100%}
.login-refresh{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,480px);gap:clamp(32px,6vw,100px);align-items:center;padding:64px max(32px,7vw);background:linear-gradient(90deg,#032336e8,#063d48a8),url('/campaign/iswork-control-full.webp') center/cover;color:#fff}
.login-story>img{margin-bottom:20px}.login-story>span{display:block;font-size:18px;letter-spacing:.15em;font-weight:700}.login-story h1{font-size:clamp(36px,4.5vw,64px);font-weight:750;line-height:1.1;letter-spacing:-.045em;margin:22px 0;color:#fff}.login-story p{font-size:18px;max-width:460px;line-height:1.6;color:#e0eff4}.login-story>small{display:block;margin-top:44px;font-size:14px;color:#d5edf5}
.login-refresh .login-card{width:100%;max-width:none;margin:0;background:#fff;color:#15334d;border:1px solid #ffffff75;border-radius:28px;padding:38px;box-shadow:0 24px 70px #001d3433;text-align:left}
.login-mobile-brand{display:flex;gap:14px;align-items:center;margin-bottom:32px}.login-mobile-brand strong{display:block;font-size:26px;letter-spacing:-.04em;color:#00743a}.login-mobile-brand small{font-size:12px;display:block;color:#546e80}.login-refresh .eyebrow{font-size:11px;letter-spacing:.1em;color:#00743a}.login-refresh h2{font-size:30px;line-height:1.2;margin:12px 0;font-weight:750;letter-spacing:-.04em}.login-refresh .login-card>p{font-size:16px;line-height:1.6;color:#526b80}.login-refresh .form{margin-top:26px;gap:18px}.login-phone-row{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px}.login-phone-row input{width:100%;min-width:0;min-height:56px;border-radius:12px;border:1px solid #c7d9e5;padding:12px;font-size:18px;background:#f7fafc;color:#123652}.login-refresh .field{font-size:14px;gap:8px}.login-refresh .login-submit{min-height:56px;width:100%;border-radius:12px;font-size:16px;background:#00743a;color:#fff}.login-security{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:26px;font-size:14px!important}.login-help{display:block;text-align:center;margin-top:12px;font-size:13px;color:#617789;line-height:1.5}.login-code [data-slot=input-otp-slot]{height:52px;min-width:36px;font-size:21px}
@media(max-width:900px){.login-refresh{grid-template-columns:1fr;gap:0;padding:32px 20px}.login-story{display:none}.login-refresh .login-card{max-width:460px;margin:auto}}
@media(max-width:767px){
 .topbar{grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:7px;height:calc(60px + env(safe-area-inset-top,0px));min-height:calc(60px + env(safe-area-inset-top,0px));padding-inline:12px;z-index:35}
 .topbar .topbar-brand{position:static;transform:none;grid-column:2;justify-self:start;min-width:0;gap:7px!important}.topbar .topbar-brand>span{font-size:16px!important}.topbar .topbar-logo{width:28px;height:28px}.topbar>.notification-button{grid-column:3}
 .topbar .topbar-logout{display:block!important;grid-column:4;margin:0}.topbar .topbar-logout button{width:44px;min-width:44px;padding:8px}.topbar .topbar-logout button>span{display:none}.topbar .topbar-logout .error{position:absolute;right:10px;top:100%;background:#fff;padding:12px;border:1px solid #efb8b8;border-radius:10px;color:#992828}
 .mobile-app-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:40;padding:8px max(8px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#fff;border-top:1px solid #d5e2ed;box-shadow:0 -4px 24px #102f5510}
 .mobile-app-navigation button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;margin:0 4px;border-radius:12px;background:transparent;color:#597083;font-size:12px;font-weight:650}.mobile-app-navigation button[aria-current=page],.mobile-app-navigation button[aria-expanded=true]{background:#e6f4ec;color:#00743a}.mobile-app-navigation.keyboard-open{display:none}
 .main.field-main,.main.field-main.home-scene{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))!important}.main.field-main:not(.home-scene){padding-inline:14px}
 .unified-workspace:not(.home-scene)>.heading{padding:20px;border-radius:18px;min-height:0}.unified-workspace:not(.home-scene)>.heading h1{font-size:28px}.unified-workspace:not(.home-scene)>.heading p{font-size:15px}
 .photo-shortcuts>button{min-height:104px}.photo-shortcuts strong{font-size:15px}.photo-metrics>button{min-height:86px}.photo-metrics small{font-size:14px}.home-scene>.workspace-topline{min-height:155px;padding-top:12px}
 [data-slot=sidebar-footer]{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.menu-logout [data-slot=button]{min-height:48px}
 .login-refresh{padding:calc(30px + env(safe-area-inset-top,0px)) 18px calc(30px + env(safe-area-inset-bottom,0px));background-position:60% center}.login-refresh .login-card{border-radius:24px;padding:28px 22px}.login-refresh h2{font-size:28px}.login-mobile-brand{margin-bottom:28px}
}
@media(prefers-reduced-motion:reduce){.unified-workspace [data-slot=button]{transition:none}}
@media print{.logout-control,.mobile-app-navigation,.app-interface-version{display:none!important}}

/* DDT register: one reading action, compact secondary controls. */
.ddt-document-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:20px;align-items:start;padding-block:22px}
.ddt-document-card>div{min-width:0}.ddt-document-card strong,.ddt-document-card p{overflow-wrap:anywhere}
.ddt-document-actions{display:flex;flex-direction:column;gap:10px;min-width:0}
.ddt-document-actions [data-slot=button]{width:100%;height:auto;min-height:44px;white-space:normal;line-height:1.4;padding:11px 14px}
.ddt-document-actions .ddt-read-action{width:100%}.ddt-document-actions .ddt-read-action p{margin-top:8px}
.ddt-secondary-actions{border:1px solid #d7e4ec;border-radius:12px;padding:12px}
.ddt-secondary-actions summary{cursor:pointer;font-weight:650;color:#345b70}.ddt-secondary-actions .actions{margin-top:12px;gap:10px}
.ddt-comparison-shortcut{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.ddt-comparison-shortcut p{margin-top:6px;color:#526b7c}.ddt-comparison-shortcut [data-slot=button]{height:auto;white-space:normal;min-height:48px;padding:12px 16px}
@media(max-width:767px){.ddt-document-card{grid-template-columns:minmax(0,1fr);gap:14px}.ddt-comparison-shortcut{flex-direction:column;align-items:stretch}.ddt-document-actions [data-slot=button]{min-height:48px;font-size:15px}.ddt-secondary-actions .actions{display:grid;grid-template-columns:minmax(0,1fr)}}
/* Compact workspace: visible navigation and searchable assignments. */
.topbar{display:flex!important;align-items:center;gap:16px;padding-inline:24px;min-height:72px;position:sticky;top:0;z-index:35}
.topbar .mobile-menu-control{display:flex!important;align-items:center;gap:5px;flex-shrink:0;color:#fff}
.topbar .mobile-menu-control>span{display:inline!important;font-size:14px}
.topbar .topbar-brand{position:static!important;transform:none!important;min-width:0;overflow:hidden;flex:1}
.topbar .topbar-brand>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-notifications{flex-shrink:0;margin-left:auto}
.topbar .notification-button{width:auto!important;height:44px;min-width:44px;border-radius:12px!important;display:flex;gap:8px;padding:10px 14px!important;position:relative;background:#fff!important;color:#103c57!important;border:1px solid #baddea}
.notification-button .notification-label{position:static!important;background:transparent!important;color:inherit!important;font-size:14px;border:0!important;border-radius:0;padding:0!important;width:auto;height:auto}
.notification-button .notification-count{position:absolute;right:-6px;top:-7px;border-radius:20px;background:#dc2626;color:white;font-size:12px;min-width:22px;padding:2px 5px;border:2px solid #08283e}
.topbar .logout-control{margin-left:0}.topbar .date{display:none}
.main.field-main.home-scene{padding-top:20px}
.home-scene>.workspace-topline{min-height:0!important;padding-top:0!important;padding-bottom:16px;margin-bottom:12px;flex-direction:row;align-items:center;justify-content:space-between;border-bottom:0}
.home-scene .workspace-topline .personal-greeting{padding:12px 16px;max-width:100%;background:#08283edb}
.home-scene .workspace-topline .personal-greeting strong{font-size:clamp(20px,2vw,28px);color:white}
.home-scene .workspace-topline .personal-greeting .greeting-salutation{font-size:15px;margin-bottom:2px}
.home-scene .workspace-top-actions{width:auto}.home-scene>.heading{padding:0;min-height:0;margin-bottom:12px}
.report-folder-status{display:block!important;padding:10px 16px!important;margin:0 0 12px!important;border-radius:12px!important;font-size:14px}
.report-folder-status>summary{cursor:pointer;font-weight:600;padding:4px 0}.report-folder-status>div{margin-top:12px}.report-folder-status:not([open]){box-shadow:none}
.site-multi-picker{min-width:0;padding:16px;border:1px solid #d2e2ed;border-radius:14px;background:#f7fafc}.site-multi-picker legend{font-weight:700;color:#16435c;padding:0 4px}
.site-picker-results{max-height:240px;overflow:auto;margin-top:10px}.site-picker-results .checkrow{background:white;padding:12px;border-bottom:1px solid #edf2f5;align-items:center;gap:12px}.site-picker-results input{width:20px;height:20px;accent-color:#009746;flex-shrink:0}.site-picker-results small{display:block;color:#597083}
.selection-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.selection-chips button{background:#e4f4eb;border:1px solid #a3d9bb;color:#075632;border-radius:20px;padding:7px 12px;text-align:left;min-height:36px}
.quick-assignment{border:1px solid #c6e5d5;border-top:3px solid #009746;border-radius:16px;background:#f8fcfa;padding:18px;margin:16px 0}.quick-assignment h3{margin-bottom:12px}.quick-assignment>.formgrid{margin-bottom:12px}
.activity-picker{min-width:0}.activity-picker-trigger{min-height:46px;white-space:normal!important}.activity-picker-trigger span{overflow-wrap:anywhere}.activity-picker-search{max-width:100%;z-index:5}.activity-picker-search [role=listbox]{max-height:260px;overflow:auto}
@media(max-width:767px){.topbar{gap:8px;padding-inline:10px;height:calc(64px + env(safe-area-inset-top,0px));min-height:calc(64px + env(safe-area-inset-top,0px))}.topbar .mobile-menu-control{gap:0;flex-direction:column;font-size:11px}.topbar .mobile-menu-control>span{font-size:10px;line-height:1}.topbar .mobile-menu-control button{height:30px}.topbar .notification-label{display:none}.topbar .notification-button{padding:10px!important}.topbar .topbar-brand>span{font-size:14px!important}.topbar .topbar-brand .muted{display:none}.topbar .topbar-logo{width:26px;height:26px}.home-scene>.workspace-topline{flex-wrap:wrap;gap:10px}.home-scene .workspace-topline .personal-greeting{padding:10px 12px}.home-scene .workspace-topline .personal-greeting strong{font-size:20px}.main.field-main.home-scene{padding-top:14px!important}.quick-assignment{padding:14px}.site-multi-picker{padding:12px}.program-person-editor{min-width:0}.program-person-editor .field{min-width:0}}
/* Industrial Services: recognition, real projects and quick access to the clock. */
/* The greeting lives in a solid white card; the full letter opens separately. */
.industrial-welcome{position:relative;box-sizing:border-box;width:100%;min-width:0;padding:18px 22px;border:1px solid #d8e7e2;border-radius:18px;background:#fff;box-shadow:0 8px 28px #0737460a;color:#123b4c;overflow-wrap:anywhere}
.industrial-welcome-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;min-width:0}
.industrial-welcome-mark{display:flex;align-items:center;gap:8px;color:#0c3f56;font-size:11px;font-weight:800;letter-spacing:.04em;flex-shrink:0}.industrial-welcome-mark img{width:36px;height:36px;flex-shrink:0}.industrial-welcome-mark small{display:block;font-size:9px;letter-spacing:.12em;color:#087b42;margin-top:2px}
.industrial-welcome .personal-greeting,.home-scene .workspace-topline .industrial-welcome .personal-greeting{background:transparent;border:0;padding:0;margin:0;min-width:0;max-width:100%;box-shadow:none;backdrop-filter:none}
.industrial-welcome .personal-greeting-icon{display:none}.industrial-welcome .personal-greeting p,.home-scene .workspace-topline .industrial-welcome .personal-greeting p{font-size:15px;color:#1b594a;text-shadow:none;line-height:1.4;overflow-wrap:anywhere}
.industrial-welcome .personal-greeting strong,.home-scene .workspace-topline .industrial-welcome .personal-greeting strong{display:inline;font-size:15px;color:#07547d;line-height:1.4}
.industrial-welcome .greeting-salutation,.home-scene .workspace-topline .industrial-welcome .greeting-salutation{display:inline;font-size:15px;color:#1b594a;margin:0}
.industrial-welcome h2{max-width:38ch;font-size:clamp(21px,2.2vw,28px)!important;line-height:1.2!important;letter-spacing:-.025em;color:#123e51!important;margin:0 0 12px;font-weight:750;text-wrap:pretty;overflow-wrap:anywhere}
.industrial-welcome-footer{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap}.industrial-belonging{font-size:14px;color:#087343;margin:0}.industrial-message-trigger{min-width:0;max-width:100%;min-height:44px;height:auto!important;padding:10px 12px;white-space:normal!important;text-align:left;color:#07547d;background:#f4faf7;border-color:#c7e1d2;font-size:14px;line-height:1.4}.industrial-message-trigger svg{flex-shrink:0}
.app-dialog-panel.industrial-message-dialog{width:min(720px,100%)!important;max-height:min(760px,100%)!important;display:flex;flex-direction:column;gap:0;overflow:hidden;background:#fff;color:#123b4c;min-height:0}
.industrial-message-heading{flex-shrink:0;padding:0 44px 16px 0;border-bottom:1px solid #dbe7e2}.industrial-message-heading [data-slot=dialog-title]{padding:0;color:#123e51}.industrial-message-heading [data-slot=dialog-description]{margin-top:6px;line-height:1.5;color:#506f7d}
.industrial-dedication{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere;padding:4px 10px 4px 0;scrollbar-gutter:stable}.industrial-dedication p{color:#314e5b;font-size:16px;line-height:1.65;margin:14px 0;text-shadow:none}.industrial-dedication .industrial-signature{margin-top:18px;color:#07547d}.industrial-message-footer{flex-shrink:0;display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid #dbe7e2}.industrial-message-footer button{min-height:44px}.industrial-dedication:focus-visible{outline:2px solid #01a0e2;outline-offset:-2px}
.team-gallery{border:1px solid #d8e7ed;border-radius:22px;background:#fff;padding:22px;margin:16px 0 20px;min-width:0;color:#163c50}.team-gallery header h2{font-size:clamp(20px,2.4vw,27px);line-height:1.2;color:#133d50;margin:7px 0}.team-gallery header p{color:#61737e;font-size:14px;margin:8px 0 18px}.team-gallery .eyebrow{color:#087343}
.team-gallery-card{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);border-radius:16px;overflow:hidden;background:#f3f8fa}.team-gallery-image{aspect-ratio:16/9;overflow:hidden;background:#dfe9e9}.team-gallery-image img{width:100%;height:100%;object-fit:cover;animation:team-photo-enter 9s ease-out both}.team-gallery-image.is-paused img{animation-play-state:paused}.team-gallery-copy{padding:22px;align-self:center}.team-gallery-copy h3{color:#173e50;font-size:20px;margin:9px 0}.team-gallery-copy p{color:#45616f;font-size:15px;line-height:1.5}.team-gallery-copy small{color:#5c707a;font-size:12px}.team-gallery-copy .actions{gap:10px;margin-top:20px;flex-wrap:wrap}.team-gallery-hide{font-size:12px;color:#5b6e7b;text-decoration:underline;margin-top:15px;cursor:pointer}
.badge-only>.panel:first-child{padding:12px 16px;gap:10px}.badge-only>header>p{display:none}.badge-only>.industrial-welcome{margin:14px 0}.badge-only .time-punch .punch-buttons{margin:14px 0 20px}.badge-only .team-gallery{margin-top:20px}.home-scene>.workspace-topline:has(.industrial-welcome){align-items:flex-start}.home-scene>.workspace-topline>.industrial-welcome{flex:1}
@keyframes team-logo-enter{from{opacity:0;transform:rotate(-18deg) scale(.85)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes team-photo-enter{from{opacity:.7;transform:scale(1)}12%{opacity:1}to{opacity:1;transform:scale(1.035)}}
@media(max-width:767px){.team-gallery{padding:16px;border-radius:18px}.team-gallery-card{grid-template-columns:1fr}.team-gallery-copy{padding:16px}.team-gallery-image{aspect-ratio:4/3}.team-gallery header h2{font-size:21px}.home-scene>.workspace-topline:has(.industrial-welcome){display:block}}
@media(prefers-reduced-motion:reduce){.industrial-welcome-mark img,.team-gallery-image img{animation:none!important}}
.team-archive-upload{margin-top:18px;border-top:1px solid #dbe7ed;padding-top:16px}.team-archive-upload summary{cursor:pointer;font-weight:700;color:#07547d}.team-archive-upload>p{font-size:14px;color:#536f7c;margin:12px 0}.team-archive-upload fieldset{display:grid;gap:14px;border:0;padding:0;min-width:0}.team-archive-upload .field{color:#214b60}.team-archive-upload input,.team-archive-upload textarea{background:#fff;color:#183f54;border:1px solid #c6dce7;border-radius:10px;padding:11px;width:100%}
.team-all-photos{margin-top:18px}.team-all-photos summary{cursor:pointer;color:#07547d;font-weight:650}.team-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:16px}.team-photo-grid figure{margin:0;border:1px solid #dce7ec;border-radius:12px;overflow:hidden}.team-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.team-photo-grid figcaption{padding:12px}.team-photo-grid small{display:block;color:#617481;font-size:12px;margin:5px 0}.team-photo-grid p{font-size:14px;color:#4f6773}
.home-scene>.workspace-topline:has(.industrial-welcome){display:block;padding-bottom:0;margin-bottom:14px}.home-scene>.workspace-topline:has(.industrial-welcome)>.workspace-top-actions{margin-top:10px}
@media(max-width:767px){.industrial-welcome{padding:15px 16px;border-radius:16px}.industrial-welcome-header{gap:8px}.industrial-welcome h2{font-size:22px!important}.industrial-welcome-footer{gap:8px}.industrial-welcome .industrial-message-trigger{width:100%;justify-content:center}.industrial-dedication p{font-size:15px;line-height:1.65}}
@media(max-width:480px){.industrial-welcome-mark>span{display:none}}
.team-posts{margin:16px 0;background:#fff;color:#173f51;border-radius:18px}.team-posts summary{cursor:pointer;color:#07547d;font-weight:650}.team-posts-compose>p{font-size:14px;margin:12px 0;color:#506f7d}.team-posts fieldset{display:grid;gap:14px;border:0;min-width:0}.team-posts-list{display:grid;gap:18px;margin:16px 0}.team-posts-list article{border:1px solid #dae7ed;border-radius:14px;overflow:hidden}.team-posts-list img{width:100%;max-height:380px;object-fit:contain;background:#eef3f5}.team-posts-list article>div{padding:14px}.team-posts-list small{color:#617583}.team-posts-list p{white-space:pre-wrap;line-height:1.6}.team-posts input,.team-posts textarea{width:100%;padding:10px;background:white;border:1px solid #c8dce6;border-radius:10px;color:#153e52}
.main.field-main.home-scene{background-image:url('/industrial-welcome-sunset.png')}

/* Keep the three work areas ahead of the daily inspiration. */
.workspace-areas{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}.workspace-areas:has(>button:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-areas button{min-width:0;min-height:72px;padding:14px 16px;gap:10px;border-radius:14px}.workspace-areas strong{font-size:17px;overflow-wrap:anywhere}.workspace-areas small{font-size:13px;margin-top:3px;overflow-wrap:anywhere}.workspace-areas svg{width:24px;height:24px}.workspace-areas button:nth-child(3){background:#fff;color:#15553c;border-color:#b8d8ca}
.direction-home+.daily-inspiration{margin-top:24px}
@media(max-width:767px){.workspace-areas button{flex-direction:column;align-items:flex-start;padding:12px;min-height:76px;gap:6px}.workspace-areas strong{font-size:14px;line-height:1.3}.workspace-areas small{display:none}.workspace-areas svg{width:22px;height:22px}}

/* The navigation owns the bottom safe area, once. Bound oversized WebView
   insets while preserving the standard iPhone home-indicator clearance. */
@media(max-width:767px){
 body:has(.mobile-app-navigation){--work-nav-inset:min(34px,env(safe-area-inset-bottom,0px));padding-bottom:0}
 .mobile-app-navigation{box-sizing:border-box;height:auto;min-height:0;align-content:start;align-items:start;grid-auto-rows:minmax(48px,auto);padding:6px max(8px,env(safe-area-inset-right,0px)) max(6px,var(--work-nav-inset)) max(8px,env(safe-area-inset-left,0px))}
 .mobile-app-navigation button{min-height:48px;height:auto;padding:4px 0;border:0;line-height:1.2;gap:4px}
 .mobile-app-navigation button svg{width:22px;height:22px;flex-shrink:0}
 .mobile-app-navigation button span{line-height:1.2}
 body:has(.mobile-app-navigation) .main.field-main,
 body:has(.mobile-app-navigation) .main.field-main.home-scene{padding-bottom:calc(76px + var(--work-nav-inset))!important}
}
/* Keep phone chrome, pickers and the software keyboard out of the work area. */
:root{--app-safe-top:env(safe-area-inset-top,0px);--visible-height:100dvh}
/* Reserve the status bar once in the page, never inside the compact header. */
html[data-native-app=true]{--app-safe-top:max(env(safe-area-inset-top,0px),var(--native-safe-top,0px))}
html[data-native-app=true] body{padding-top:var(--app-safe-top)}
html[data-native-app=true] body::before{content:'';position:fixed;inset:0 0 auto;height:var(--app-safe-top);background:#fff;z-index:1100;pointer-events:none}
html[data-native-app=true] .topbar{box-sizing:border-box;padding-top:8px!important;padding-bottom:8px!important;height:64px!important;min-height:64px!important;max-height:64px!important;margin-top:0!important;position:relative!important;top:auto!important;align-content:center}
html[data-native-app=true] body>main{padding-top:18px!important}
html[data-keyboard-open=true] .mobile-app-navigation,html[data-keyboard-open=true] .field-bottom{display:none!important}
html[data-keyboard-open=true] .app-dialog-viewport{padding-bottom:10px!important}
.app-dialog-panel input,.app-dialog-panel textarea{scroll-margin-block:65px}
[data-slot=select-content]{max-height:min(340px,calc(var(--visible-height) - 110px))!important;z-index:1200!important}
.activity-picker-search [data-slot=combobox-list]{max-height:min(260px,calc(var(--visible-height) - 180px))!important}
.equipment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.equipment-summary>span{border:1px solid #d1e4dd;background:#f0f8f4;border-radius:14px;padding:16px;font-size:14px}.equipment-summary strong{display:block;font-size:28px;color:#00743a}
.equipment-site-checks{display:grid;gap:12px}.equipment-site-checks article,.equipment-pending-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #d5e4ed}.equipment-site-checks p,.equipment-pending-row p{margin:5px 0}.equipment-control small{color:#526b7c;font-size:14px}.equipment-control h3{margin-top:22px}.equipment-check-register{margin-top:22px}.equipment-check-register summary{font-weight:700;cursor:pointer;padding:12px 0}.equipment-inventory-filters{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0;align-items:end}.equipment-inventory-filters>.field{flex:1 1 180px}.equipment-inventory-filters>.field:first-child{flex:2 1 280px}.equipment-control .actions{flex-wrap:wrap}
@media(max-width:767px){.equipment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-site-checks article,.equipment-pending-row{align-items:stretch;flex-direction:column}.equipment-control .actions{display:flex}.equipment-control .actions button{flex:1;height:auto;white-space:normal;min-height:46px}.equipment-inventory-filters{display:grid;grid-template-columns:minmax(0,1fr)}.direction-home .today-home-tabs{margin-top:0!important;display:flex!important;flex-wrap:wrap!important;width:100%!important;gap:6px 16px!important}.direction-home .today-home-tabs [role=tab]{flex:0 0 auto!important;font-size:14px!important}.app-dialog-viewport{padding-top:max(10px,var(--app-safe-top))!important}.app-chat-viewport .app-dialog-panel{max-height:100%!important}.main.field-main.home-scene{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))!important}}
/* One shared daily image and thought, with no promotional action. */
.daily-inspiration{overflow:hidden;margin:0 0 24px;border-radius:24px;border:1px solid #c7dbe4;background:#fff;box-shadow:0 10px 28px #092d4212;color:#16394c}
.daily-inspiration>img{display:block;width:100%;height:clamp(260px,30vw,420px);object-fit:cover;object-position:center 48%;background:#dce9ee}
.daily-inspiration figcaption{padding:24px 28px}.daily-inspiration time{display:block;font-size:14px;color:#58756a;line-height:1.5}
.daily-inspiration blockquote{margin:12px 0 20px;font-size:clamp(20px,2vw,27px);font-weight:650;line-height:1.48;letter-spacing:-.02em;color:#164936;text-wrap:pretty}
.daily-inspiration footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;align-items:center}.daily-inspiration footer>span{font-size:14px;color:#255f4b;font-weight:650}.daily-inspiration small{color:#637983;font-size:12px;font-weight:400}
@media(max-width:767px){.daily-inspiration{border-radius:22px;margin-bottom:20px}.daily-inspiration>img{height:auto;aspect-ratio:3/2;object-fit:cover}.daily-inspiration figcaption{padding:19px 20px}.daily-inspiration blockquote{font-size:21px;line-height:1.48;margin:10px 0 16px}}

.daily-inspiration footer>a{color:#255f4b;font-size:13px;text-decoration:underline;text-underline-offset:3px}.daily-inspiration footer>small{flex-basis:100%;margin-top:2px}

.chat-safety-panel{max-width:640px;max-height:85dvh;overflow:auto;padding:28px;display:grid;gap:16px;color:#173429;background:white}.chat-safety-panel h3{font-weight:700}.safety-item{border:1px solid #d8e4de;border-radius:12px;padding:16px;display:grid;gap:10px;overflow-wrap:anywhere}.safety-item>div{display:flex;gap:8px;flex-wrap:wrap}.safety-item blockquote{white-space:pre-wrap;border-left:3px solid #009746;padding-left:12px}

/* Native SAL navigation belongs in the workspace, outside header controls. */
/* Old native builds inject a shortcut outside the React navigation. */
#isWorkSalMenuBtn{display:none!important}

@media(max-width:767px){
 .topbar{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px 44px;grid-template-rows:44px;gap:8px;align-content:center;justify-content:normal;padding-inline:max(10px,env(safe-area-inset-left,0px)) max(10px,env(safe-area-inset-right,0px));flex-shrink:0}
 .topbar>.mobile-menu-control{grid-column:1;grid-row:1;min-width:0;min-height:44px}
 .topbar>.topbar-brand{grid-column:2;grid-row:1;justify-self:center;max-width:100%;gap:6px!important}
 .topbar>.topbar-notifications{grid-column:3;grid-row:1;margin:0;min-width:0}
 .topbar>.topbar-logout{grid-column:4;grid-row:1;position:relative;align-self:center;margin:0;min-width:0}
 .topbar .notification-button,.topbar .topbar-logout>button{box-sizing:border-box;width:44px!important;min-width:44px;height:44px;min-height:44px;padding:10px!important;margin:0}
 .topbar .topbar-logout>button>span{display:none}
 .topbar .topbar-logout .error{top:calc(100% + 8px);right:0;width:min(240px,calc(100vw - 20px))}
}

.punch-corrections{margin:18px 0;padding:16px;border:1px solid #c9dde8;border-radius:14px;background:#f4f9fc}.punch-corrections>.actions{flex-wrap:wrap}.punch-corrections form{margin-top:18px}.punch-correction-label{padding:12px;border-left:3px solid #01a0e2;background:#eef7fc;border-radius:8px;color:#17455c;font-size:14px;overflow-wrap:anywhere}.punch-correction-review{margin:20px 0}.punch-correction-review article{padding:16px 0;border-top:1px solid #d1e0e8}.punch-correction-review .actions{flex-wrap:wrap}
@media(max-width:767px){.punch-corrections>.actions{display:grid;grid-template-columns:minmax(0,1fr)}.punch-corrections button{white-space:normal;height:auto;min-height:44px}.punch-correction-review .actions button{flex:1;white-space:normal;min-height:44px;height:auto}}

.sal-upload-panel .sectiontitle{flex-wrap:wrap;gap:16px}.sal-upload-form{margin-top:20px}.sal-upload-form fieldset{border:0;min-width:0}.sal-upload-form form{display:grid;gap:18px;margin:14px 0}.sal-upload-form .field{min-width:0}.sal-upload-form input[type=file]{max-width:100%}.sal-confirm{display:flex;align-items:flex-start;gap:12px;font-weight:600}.sal-confirm input{margin-top:5px;flex-shrink:0}.sal-upload-result{padding:16px;background:#e6f5eb;border-radius:14px;color:#165539}.sal-upload-result span{display:block;margin-top:6px}.sal-history{margin-top:22px}.sal-history summary{font-weight:700;cursor:pointer}.sal-history article{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #d5e4ed;padding:16px 0;overflow-wrap:anywhere}.sal-history .actions{flex-wrap:wrap}
@media(max-width:767px){.sal-upload-panel .sectiontitle{display:block}.sal-upload-panel .sectiontitle>button{width:100%;margin-top:12px}.sal-upload-form button{white-space:normal;height:auto;min-height:44px}.sal-history article{flex-direction:column}.sal-upload-form .formgrid{grid-template-columns:minmax(0,1fr)}}

/* Compact settings rows keep account details in their own dialog. */
.menu-settings{display:grid;gap:3px;border-top:1px solid #ffffff24;padding-top:12px}
.menu-settings-label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#b5d6c7;padding:0 12px 5px}
.menu-settings .menu-settings-link{display:flex;width:100%;min-height:44px;height:auto;justify-content:flex-start;gap:10px;padding:10px 12px;background:transparent!important;color:#edf5fa!important;border:0;border-radius:10px;font-size:14px;font-weight:500;white-space:normal;text-align:left;box-shadow:none}
.menu-settings .menu-settings-link:hover,.menu-settings .menu-settings-link:focus-visible{background:#ffffff15!important}
.menu-settings .menu-settings-link svg{flex-shrink:0;color:#b5d6c7}

/* One compact SAL document area; the upload form opens above the page. */
.sal-upload-panel .sectiontitle{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sal-upload-panel .sectiontitle h2{font-size:20px;margin-bottom:4px}
.sal-upload-panel .sectiontitle p{font-size:13px;margin:0;color:#5c7280}
.sal-upload-dialog{max-width:760px;max-height:85dvh;overflow:auto}
.sal-upload-dialog .sal-upload-form{margin-top:0}
.sal-report-link{margin:0 0 16px;white-space:normal;height:auto;min-height:44px}
@media(max-width:767px){.sal-upload-panel{padding:16px}.sal-upload-panel .sectiontitle{display:flex;flex-wrap:wrap}.sal-upload-panel .sectiontitle>button{margin-top:0}.sal-upload-dialog{padding:20px 16px}.sal-upload-dialog .formgrid{grid-template-columns:minmax(0,1fr)}.sal-upload-dialog button{height:auto;min-height:44px;white-space:normal}}

.attendance-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;border-left:4px solid #009746}.attendance-alert-banner.has-alerts{border-left-color:#dd7b13;background:#fffaf1}.attendance-alert-banner>div{display:flex;align-items:flex-start;gap:12px}.attendance-alert-banner h2{font-size:19px;margin:0 0 5px}.attendance-alert-banner p{font-size:14px;margin:0}.attendance-alert-banner small{display:block;margin-top:6px;color:#536878}.attendance-alert-filters{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:18px 0}.attendance-alert-filters .field:last-child{flex:1;min-width:220px}.attendance-alert-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:16px 0}.attendance-alert-counts button{display:grid;text-align:left;border:1px solid #d7e3eb;border-radius:12px;background:#f6fafc;padding:14px;gap:5px}.attendance-alert-counts button[aria-pressed=true]{border-color:#007eac;background:#eaf7fb}.attendance-alert-counts strong{font-size:27px;color:#17384b}.attendance-alert-counts span{font-size:13px}.attendance-alert-list{display:grid;gap:12px;margin:20px 0}.attendance-alert-person{border:1px solid #e3d6bc;border-left:4px solid #dd7b13;border-radius:12px;padding:16px;background:#fffaf3;display:flex;justify-content:space-between;gap:16px}.attendance-alert-person.unverified{background:#f5f8fa;border-color:#cfdce4}.attendance-alert-person h3{font-weight:700;font-size:17px}.attendance-alert-person p{margin:5px 0}.attendance-alert-labels{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.attendance-alert-labels span{padding:5px 9px;border-radius:8px;background:#f8e7ce;color:#75430c;font-size:12px;font-weight:600}.attendance-alert-person.unverified .attendance-alert-labels span{background:#e5edf2;color:#375366}.attendance-alert-person .actions{align-self:center;flex-wrap:wrap;max-width:45%}.attendance-alert-person button{white-space:normal;height:auto;min-height:44px}
@media(max-width:767px){.attendance-alert-banner,.attendance-alert-person{flex-direction:column;align-items:stretch}.attendance-alert-person .actions{max-width:100%;align-self:stretch}.attendance-alert-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-alert-desk .sectiontitle{flex-wrap:wrap}.attendance-workspace-tabs{height:auto;flex-wrap:wrap}}
.main.field-main.home-scene {
  background: #082b42;
}
.main.field-main.home-scene::before {
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, #082b425e, #082b42a8), var(--company-hero, none) 58% center / cover no-repeat;
}
.home-scene .photo-dashboard .photo-metrics > button {
  border-top: 4px solid #01a0e2;
  box-shadow: 0 8px 24px #00182828;
}
.home-scene .photo-dashboard .photo-metrics > button:nth-child(2) { border-top-color: #009746; }
.home-scene .photo-dashboard .photo-metrics > button:nth-child(3) { border-top-color: #e6ba18; }
.home-scene .photo-dashboard .photo-metrics > button:nth-child(4) { border-top-color: #e31e25; }
.home-scene .photo-dashboard .photo-shortcuts > button:nth-child(1) { background: #f0faf3; border-color: #c2e6cc; }
.home-scene .photo-dashboard .photo-shortcuts > button:nth-child(1) .photo-shortcut-icon { color: #00733a; background: #dbf1e2; }
.home-scene .photo-dashboard .photo-shortcuts > button:nth-child(2) { background: #eff8ff; border-color: #bfdef2; }
.home-scene .photo-dashboard .photo-shortcuts > button:nth-child(3) { background: #fffbeb; border-color: #e8dca5; }
.home-scene .photo-dashboard .photo-shortcuts > button:nth-child(3) .photo-shortcut-icon { color: #805c05; background: #f6eaba; }
.home-scene .photo-dashboard .photo-shortcuts > button:nth-child(4) { background: #fff3f2; border-color: #efceca; }
.home-scene .photo-dashboard .photo-recent-sites,
.home-scene .photo-dashboard .photo-side-panel { box-shadow: 0 10px 28px #00182830; }
/* Personal cartellino and the welcome after a successful punch. */
.punch-experience{margin:18px 0 22px}.punch-scene{position:relative;min-height:280px;border-radius:24px;overflow:hidden;background:#064d40;color:white;isolation:isolate}.punch-scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.punch-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,40,46,.94),rgba(0,42,45,.67) 65%,rgba(0,30,40,.3));z-index:-1}.punch-scene-copy{padding:28px;max-width:620px}.punch-scene-label{font-size:11px;letter-spacing:.12em;font-weight:800;color:#b9f9d7}.punch-scene-copy h3{font-size:clamp(26px,6vw,38px);color:white!important;line-height:1.15;margin:14px 0}.punch-scene-copy p{color:#e6f6f2!important;max-width:410px;line-height:1.5}.punch-scene-site,.punch-scene-address{display:flex;align-items:center;gap:8px;margin-top:12px;color:white}.punch-scene-map{display:inline-flex;gap:8px;align-items:center;margin-top:15px;padding:10px 14px;border:1px solid #c4fff570;border-radius:12px;color:white;background:#ffffff15}.punch-scene.working{box-shadow:0 0 0 3px #00974630}.punch-personal-link{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;background:linear-gradient(115deg,#e4f8ee,#e6f5ff);border-radius:16px;color:#064f43;margin-top:12px}.punch-personal-link small{display:block;color:#315d60;margin-top:3px}.punch-team-photos{margin-top:16px;padding:16px;border:1px solid #d8e8e2;border-radius:16px}.punch-team-photos summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700}.punch-team-photos summary span{margin-left:auto;background:#e4f8ee;border-radius:50px;padding:3px 10px}.punch-team-photos .photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.punch-team-photos .photos img{width:100%;height:120px;object-fit:cover;border-radius:12px}.punch-celebration{position:absolute;inset:0;background:linear-gradient(135deg,#005c4bef,#0069a6ed);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px;animation:punch-welcome .5s ease-out}.punch-celebration strong{font-size:29px;color:white}.punch-celebration span{max-width:310px;color:#e1fff3}.punch-celebration i{position:absolute;width:12px;height:12px;border-radius:50%;background:#feed00;top:25%;left:15%;animation:punch-spark 2s ease-out infinite}.punch-celebration i:nth-last-child(2){left:80%;top:65%;background:#01a0e2;animation-delay:.3s}.punch-celebration i:last-child{left:75%;top:18%;background:#ffffff;animation-delay:.6s}@keyframes punch-welcome{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes punch-spark{0%,100%{opacity:.25;transform:scale(.5)}50%{opacity:1;transform:scale(1.3)}}
.personal-attendance h2{display:flex;gap:10px;align-items:center}.personal-periods{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.personal-date-fields{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:18px}.personal-date-fields input{min-height:44px;max-width:220px}.personal-hour-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.personal-hour-stats>div{padding:18px;border-radius:18px;background:#eff8f5;min-width:0}.personal-hour-stats>div:first-child{background:linear-gradient(125deg,#007d48,#006487);color:white}.personal-hour-stats span{display:block;font-size:12px;font-weight:600}.personal-hour-stats strong{display:block;font-size:24px;margin-top:5px;overflow-wrap:anywhere}.personal-hour-stats small{font-size:16px}.personal-counts{color:#175b4e;font-weight:600}.personal-days,.personal-advances{margin:20px 0}.personal-days>summary,.personal-advances>summary{font-weight:700;cursor:pointer;padding:10px 0}.personal-day-list{display:grid;gap:8px;max-height:560px;overflow-y:auto;overscroll-behavior:contain}.personal-day{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:16px;border:1px solid #dce9e5;border-radius:14px;background:white}.personal-day>div:first-child span,.personal-day small{display:block;font-size:12px;color:#526b63;margin-top:4px}.personal-day-total{text-align:right}.personal-day-total>strong{color:#006b46;font-size:20px}.personal-day details,.personal-day>p{grid-column:1/-1;font-size:13px}.personal-day.illness{background:#fff8ed;border-color:#f5dfbb}.personal-advances p{padding:12px;background:#eef7fc;border-radius:12px}.personal-attendance .muted{font-size:12px;line-height:1.6}.personal-attendance .sectiontitle{align-items:start}@media(min-width:760px){.personal-hour-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:420px){.punch-scene-copy{padding:22px}.personal-day{grid-template-columns:1fr}.personal-day-total{text-align:left}.personal-hour-stats strong{font-size:22px}}@media(prefers-reduced-motion:reduce){.punch-celebration,.punch-celebration i{animation:none}}
/* Home: one daily image, one centered thought, one compact letter. */
.main.field-main.home-scene{background:#f0f6f5!important}.main.field-main.home-scene::before{background:radial-gradient(ellipse at 5% 5%,#00974612,transparent 55%),radial-gradient(ellipse at 95% 20%,#01a0e218,transparent 55%)!important;pointer-events:none}.home-welcome{width:100%;min-width:0;margin:0 0 18px;display:grid;gap:12px}.daily-inspiration.home-inspiration{position:relative;display:block;width:100%;min-width:0;min-height:340px;height:auto;max-height:none;margin:0;border:0;border-radius:26px;overflow:hidden;background:#073b43;box-shadow:0 16px 36px #0e51451a;isolation:isolate}.home-inspiration>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:center 58%;z-index:-2;opacity:1;filter:none}.home-inspiration:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#032a36a3 0%,#042e388c 25%,#042a36b8 60%,#023b39e8 100%);z-index:-1}.home-inspiration figcaption{position:relative!important;inset:auto!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-height:340px;padding:24px 32px 22px!important;background:none!important;color:#fff!important;text-align:center;box-sizing:border-box;gap:0}.home-inspiration-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}.home-inspiration .personal-greeting,.home-scene .home-inspiration .personal-greeting{background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;max-width:100%;min-width:0;backdrop-filter:none;text-align:left}.home-inspiration .personal-greeting-icon{display:none}.home-inspiration .personal-greeting p,.home-inspiration .personal-greeting strong,.home-inspiration .greeting-salutation{color:white!important;font-size:15px!important;line-height:1.35!important;text-shadow:none!important;display:inline!important}.home-inspiration-brand{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.07em;flex-shrink:0}.home-inspiration-brand img{position:static!important;width:30px!important;height:30px!important;object-fit:contain;filter:none}.home-thought-label{font-size:10px;font-weight:800;letter-spacing:.2em;color:#b7f2d6}.home-inspiration time{font-size:11px!important;color:#d9ede9!important;margin-top:5px}.home-inspiration blockquote{font-size:clamp(23px,3.4vw,37px)!important;line-height:1.28!important;max-width:30ch;margin:16px auto 15px!important;font-weight:650;letter-spacing:-.025em;color:#fff!important;text-wrap:balance;overflow-wrap:anywhere}.home-inspiration footer{display:flex!important;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 12px;color:#e0eee9!important;font-size:12px!important}.home-inspiration footer>span{font-weight:700;color:#fff!important}.home-inspiration footer>a{color:#d7f3e8!important;border-bottom:1px solid #ffffff60;font-size:11px}.home-inspiration footer>small{display:block;flex-basis:100%;font-size:9px!important;color:#d3e2df!important;margin-top:6px}.home-welcome .home-letter{position:relative;background:#fff!important;border:1px solid #d9e7e2!important;border-left:4px solid #009746!important;border-radius:18px!important;padding:18px 22px!important;box-shadow:0 5px 18px #173d4407}.home-letter h2{font-size:18px!important;color:#144c43!important;margin-bottom:6px!important;max-width:none!important}.home-letter-excerpt{font-size:14px!important;line-height:1.5!important;color:#466860!important;max-width:75ch;margin:0 0 10px!important}.home-letter .industrial-belonging{font-size:12px;color:#506e65;font-weight:650}.home-letter .industrial-message-trigger{background:#edf8f2;color:#006c43;border-color:#c7e6d5;padding:9px 13px;min-height:40px;font-size:13px}.home-scene>.workspace-topline{margin:0 0 12px!important;padding:0!important}.home-scene>.workspace-topline .workspace-top-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%;justify-content:flex-end}.home-scene .heading{color:#144c43}.home-scene .heading h1,.home-scene .heading .eyebrow{color:#144c43!important}.home-scene .direction-home .today-home-tabs{border:1px solid #d6e5df;background:white!important;border-radius:14px;padding:5px 8px!important;color:#305b51!important}.home-scene .direction-home .today-home-tabs [role=tab]{color:#396a5b!important;padding:10px 13px!important;border-radius:10px!important}.home-scene .direction-home .today-home-tabs [role=tab][data-state=active]{background:#007d4d!important;color:white!important}.home-scene .photo-dashboard .photo-metrics>button{box-shadow:0 4px 15px #0c473309!important;border-radius:16px!important;background:#fff!important}.home-scene .photo-dashboard .photo-shortcuts{margin:14px 0 18px!important}.home-scene .photo-dashboard .photo-shortcuts>button{min-height:84px;border-radius:18px;box-shadow:0 4px 14px #164a4008}.home-scene .photo-dashboard .photo-recent-sites,.home-scene .photo-dashboard .photo-side-panel{box-shadow:0 5px 20px #153c4408!important;border:1px solid #dfe9e6;border-radius:20px}.home-scene .photo-site-card{border-radius:16px;overflow:hidden}.badge-only>.home-welcome{margin-top:14px}.home-welcome+.time-punch{margin-top:0}@media(max-width:767px){.daily-inspiration.home-inspiration{border-radius:21px;min-height:300px}.home-inspiration figcaption{padding:20px 18px!important;min-height:300px}.home-inspiration-top{margin-bottom:22px;align-items:flex-start}.home-inspiration .personal-greeting p,.home-inspiration .personal-greeting strong,.home-inspiration .greeting-salutation{font-size:13px!important}.home-inspiration-brand{font-size:10px}.home-inspiration-brand img{width:24px!important;height:24px!important}.home-inspiration blockquote{font-size:25px!important;max-width:24ch}.home-welcome .home-letter{padding:15px 16px!important}.home-letter .industrial-welcome-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-letter .industrial-message-trigger{width:auto!important;max-width:100%;justify-content:center}.home-letter-excerpt{font-size:13px!important}.home-scene .direction-home .today-home-tabs{gap:3px!important}.home-scene .direction-home .today-home-tabs [role=tab]{font-size:12px!important;padding:9px 10px!important}.home-scene .photo-dashboard .photo-metrics{gap:8px}.home-scene .photo-dashboard .photo-metrics strong{font-size:25px}.home-scene .photo-dashboard .photo-shortcuts>button{min-height:76px}.home-welcome{gap:10px;margin-bottom:14px}}@media(max-width:360px){.home-inspiration blockquote{font-size:22px!important}.home-inspiration-brand{font-size:9px}.home-letter .industrial-welcome-footer{align-items:flex-start;flex-direction:column}}
.home-personal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-personal-actions a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 12px;border-radius:13px;text-align:center;background:#007d4d;color:white;font-size:13px;font-weight:700}.home-personal-actions a:last-child{background:#e6f5fc;color:#07547d;border:1px solid #bfdfed}#punch-actions,#my-attendance{scroll-margin-top:100px}
.sidebar-account{min-width:0}
.sidebar-account .sidebar-profile-toggle{width:100%;margin:0;padding:12px 8px;border-bottom:0;border-left:0;border-right:0;background:transparent;color:#edf5fa;text-align:left;align-items:center;min-height:64px;border-radius:10px}
.sidebar-account .sidebar-profile-toggle:hover{background:#ffffff0c}
.sidebar-account .sidebar-profile-toggle:focus-visible{outline:2px solid #01a0e2;outline-offset:2px}
.sidebar-profile-name{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.35}
.sidebar-profile-chevron{flex-shrink:0;transition:transform .18s}
.sidebar-profile-toggle[aria-expanded=true] .sidebar-profile-chevron{transform:rotate(180deg)}
.sidebar-account-options[hidden]{display:none!important}
.sidebar-account-options{max-height:35dvh;overflow-y:auto;overscroll-behavior:contain;padding-top:4px}
@media(prefers-reduced-motion:reduce){.sidebar-profile-chevron{transition:none}}

/* The partners' photo is a quiet watermark behind the team letter. */
.industrial-welcome{position:relative;isolation:isolate;overflow:hidden}
.industrial-founders-watermark{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center 43%;opacity:.2;pointer-events:none;user-select:none}
.industrial-founders-layout{display:block;position:relative;min-width:0}
.industrial-founders-message{min-width:0}
.home-welcome .home-letter{background:#f8fcfa!important}
.home-letter h2,.home-letter-excerpt,.home-letter .industrial-belonging{color:#163f35!important;text-shadow:0 1px 4px #ffffffb3}
.home-letter .industrial-welcome-footer{flex-wrap:wrap;gap:10px 16px}
.home-letter .industrial-message-trigger{background:#f3fbf7!important}
.industrial-founders-full{margin:0 0 20px;border-radius:16px;overflow:hidden;background:#f2f7f4}
.industrial-founders-full img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 43%}
.industrial-founders-full figcaption{padding:10px 14px;font-size:13px;font-weight:650;color:#255143;text-align:center}
@media(max-width:600px){.industrial-founders-full img{aspect-ratio:1/1}.home-letter .industrial-message-trigger{white-space:normal;height:auto;min-height:40px;line-height:1.3}.industrial-founders-watermark{object-position:center 43%}}

.attendance-alert-person.complete{background:#effaf3;border-color:#badfc8;border-left-color:#009746}.attendance-alert-person.complete .attendance-alert-labels span{background:#daf0e2;color:#176239}
/* IS WORK: the personal signature card keeps official hours in the foreground. */
.time-punch.punch-signature{background:#fff!important;border:1px solid #d9e7e2!important;border-radius:26px!important;padding:18px!important;box-shadow:0 12px 32px #103f3810}.punch-signature>.sectiontitle{margin-bottom:16px}.punch-signature>.sectiontitle h2{font-size:20px}.punch-signature .punch-experience{display:flex;flex-direction:column;gap:12px}.punch-signature .punch-scene{margin:0;border-radius:20px;min-height:250px}.punch-signature .punch-scene-copy{padding:24px;min-height:250px}.punch-signature .punch-personal-link{margin:0;padding:15px 17px!important;border:1px solid #d7e9e3;border-radius:16px;background:#f1f9f6!important}.punch-signature .punch-personal-link strong{font-size:16px}.punch-signature .punch-personal-link small{font-size:12px;line-height:1.5}.punch-signature .punch-team-photos{margin:0;padding:13px 16px!important;border-radius:16px}.punch-signature .punch-team-photos summary{font-size:15px}.punch-signature .punch-team-photos summary>span{font-size:14px}
.punch-console{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;background:radial-gradient(ellipse at 0% 0%,#0b6c58 0%,transparent 53%),radial-gradient(ellipse at 100% 85%,#064d66 0%,transparent 58%),#092e35;color:#fff;padding:22px;box-shadow:0 15px 28px #073d3526}.punch-console:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.13;background-image:linear-gradient(#a0e0ce33 1px,transparent 1px),linear-gradient(90deg,#a0e0ce33 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(135deg,#000,transparent 75%)}.punch-console-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.punch-identity{display:flex;align-items:center;gap:10px;min-width:0}.punch-monogram{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid #ffffff38;border-radius:13px;background:#ffffff10;color:#c5f7dd;font-weight:750;font-size:14px}.punch-identity>div{min-width:0}.punch-identity small{display:block;font-size:8px;letter-spacing:.13em;color:#b8d9d3;font-weight:750}.punch-identity strong{display:block;font-size:14px;font-weight:650;line-height:1.4;overflow-wrap:anywhere;margin-top:4px;color:white!important}.punch-live{display:flex;align-items:center;gap:6px;white-space:nowrap;border-radius:30px;background:#ffffff10;border:1px solid #ffffff20;padding:7px 9px;font-size:10px;color:#d0e9e3}.punch-live i{width:6px;height:6px;border-radius:50%;background:#d2e5df}.is-working .punch-live i{background:#74efad;box-shadow:0 0 0 4px #74efad16}
.punch-dial{position:relative;width:min(100%,252px);aspect-ratio:1;margin:20px auto;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:50%;padding:28px;box-sizing:border-box;background:radial-gradient(circle,#ffffff08 0%,transparent 68%)}.punch-dial-orbit{position:absolute;inset:0;border-radius:50%;border:1px solid #ffffff21;pointer-events:none}.punch-dial-orbit:before{content:'';position:absolute;inset:9px;border-radius:50%;border:1px dashed #a9dacc29}.punch-dial-orbit:after{content:'';position:absolute;inset:-2px;border-radius:50%;border:3px solid transparent;border-top-color:#01a0e2;border-right-color:#009746;transform:rotate(-30deg)}.punch-dial-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#009746;top:16%;right:11%}.punch-dial-orbit i:nth-child(2){background:#01a0e2;top:12%;left:15%}.punch-dial-orbit i:nth-child(3){background:#e31e25;top:auto;bottom:12%;left:15%}.punch-dial-orbit i:nth-child(4){background:#feed00;top:auto;bottom:16%;right:11%}.punch-dial-caption{font-size:9px;font-weight:700;letter-spacing:.13em;color:#bce8da}.punch-console .punch-hour-value{font-size:58px;font-weight:650;line-height:1.25;letter-spacing:-.055em;color:#fff!important;margin:7px 0 3px;font-variant-numeric:tabular-nums}.punch-hour-value small{font-size:25px;font-weight:400;letter-spacing:0;color:#cbe9e0}.punch-dial-detail{font-size:12px;color:#d7e8e4}.punch-break-pill{border:1px solid #79d7aa30;border-radius:30px;padding:5px 9px;font-size:9px;color:#a9efc7;margin-top:10px;background:#60c59910}
.punch-console-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.punch-console-actions button{display:flex;align-items:center;justify-content:flex-start;gap:10px;height:auto!important;min-height:86px!important;padding:15px!important;border-radius:17px!important;border:1px solid #ffffff28!important;white-space:normal;text-align:left;box-shadow:none!important;transition:transform .15s,background .2s}.punch-console-actions button:active:not(:disabled){transform:scale(.97)}.punch-console-actions button>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.punch-console-actions button strong{font-size:19px;line-height:1.1;letter-spacing:.025em;color:#fff!important}.punch-console-actions button small{font-size:10px;line-height:1.3;color:#fff!important}.punch-console-actions .punch-start{background:#009746!important}.punch-console-actions .punch-stop{background:#b72631!important}.punch-action-icon{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;flex-shrink:0;background:#ffffff1f}.punch-action-icon svg{width:18px;height:18px;color:#fff}.punch-console-actions .punch-action-arrow{margin-left:auto;flex-shrink:0;color:#ffffffa8;width:15px}.punch-console-actions button:disabled{opacity:1!important;background:#ffffff07!important;border-color:#ffffff13!important}.punch-console-actions button:disabled strong,.punch-console-actions button:disabled small,.punch-console-actions button:disabled svg{color:#91aaa6!important}.punch-console-actions button:disabled .punch-action-icon{background:#ffffff05}.punch-console-actions button:focus-visible{outline:3px solid #feed00;outline-offset:3px}.punch-console-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;color:#b7d7ce;font-size:10px}.punch-console-foot>span:first-child{display:flex;align-items:center;gap:5px}.punch-console-foot>span:last-child{letter-spacing:.04em;white-space:nowrap}.punch-console-foot b{color:#fff}
.punch-signature .punch-corrections{margin:14px 0;padding:0;border:1px solid #dbe8e5;border-radius:15px;background:#f8fbfa}.punch-signature .punch-correction-options{padding:0!important}.punch-signature .punch-correction-options summary{display:flex;justify-content:space-between;align-items:center;gap:8px;list-style:none;padding:15px 16px;font-size:13px;color:#305f54}.punch-correction-options summary::-webkit-details-marker{display:none}.punch-correction-options[open] summary>span:last-child{transform:rotate(45deg)}.punch-signature .punch-correction-options>p,.punch-signature .punch-correction-options>.actions{margin:0 16px 14px}.punch-signature .punch-correction-options>.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.punch-signature .punch-corrections .form,.punch-signature .punch-corrections>.success,.punch-signature .punch-corrections>.error{margin:16px}.punch-signature .punch-correction-options button{font-size:11px;min-height:44px!important;background:#fff!important;box-shadow:none!important}.punch-signature .punch-programme{border-radius:18px;margin-top:14px}.punch-signature .punch-programme .eyebrow{font-size:10px}.punch-signature .punch-programme h3{font-size:22px}.punch-signature .punch-programme p{font-size:13px;line-height:1.5}.punch-signature .punch-programme small{font-size:11px;line-height:1.5}
@media(max-width:420px){.time-punch.punch-signature{padding:12px!important;border-radius:22px!important}.punch-console{padding:17px;border-radius:21px}.punch-dial{width:220px;margin:18px auto}.punch-console .punch-hour-value{font-size:52px}.punch-identity strong{font-size:12px}.punch-identity small{font-size:7px}.punch-monogram{width:34px;height:34px;font-size:12px}.punch-console-actions button{padding:13px 10px!important;gap:7px;min-height:80px!important}.punch-console-actions button strong{font-size:18px}.punch-console-actions .punch-action-arrow{display:none}.punch-action-icon{width:29px;height:29px}.punch-console-foot{font-size:9px}.punch-signature .punch-scene-copy{min-height:240px;padding:20px}.punch-signature .punch-scene{min-height:240px}}@media(prefers-reduced-motion:reduce){.punch-console-actions button{transition:none}}

/* Forms remain scrollable inside the visible phone area while typing. */
.app-dialog-viewport{box-sizing:border-box;min-height:0}
.app-dialog-panel{box-sizing:border-box;min-height:0;-webkit-overflow-scrolling:touch;scroll-padding-block:56px}
.hours-details,.cig-note details{border:1px solid #d5e4dd;border-radius:12px;padding:12px 14px;margin:8px 0}
.hours-details summary,.cig-note summary{cursor:pointer;color:#285f4c;font-weight:600;line-height:1.4}
.cig-note>p{margin:0 0 8px;font-size:14px}.cig-note textarea{min-height:80px}
.dialog-keyboard-tools{position:sticky;top:0;z-index:4;display:flex;justify-content:flex-end;background:#fff;padding:6px 42px 6px 0;box-shadow:0 4px 12px #163d3309}
.dialog-keyboard-tools button{display:flex;align-items:center;gap:8px;min-height:40px;border:1px solid #c9dfd5;border-radius:10px;padding:8px 12px;background:#eef8f2;color:#17643e;font-size:14px;font-weight:600}
.hours-save-actions{position:sticky;bottom:0;z-index:3;background:#fff;padding:12px 0 6px;border-top:1px solid #dbe8e1}.hours-save-actions>button{width:100%}.hours-form-fields{display:grid;gap:14px;min-width:0;margin:0;padding:0;border:0}.hours-save-actions .error{max-height:25vh;overflow:auto;margin:0 0 8px}
@media(max-width:767px){html[data-keyboard-open=true] .app-dialog-viewport{align-items:flex-start;padding-top:max(8px,var(--app-safe-top))!important;padding-bottom:8px!important}.app-dialog-panel.formdialog{touch-action:pan-y;overscroll-behavior-y:contain}.app-dialog-panel.formdialog .form{padding-bottom:8px}.hours-details{padding:12px}.dialog-keyboard-tools{margin-top:-8px}}

/* Keep the site search and its results above the mobile keyboard. */
.unified-workspace .site-search-compact{padding:14px 16px;margin-bottom:12px;scroll-margin-top:80px}
.site-search-compact .site-search-row{display:flex;flex-wrap:nowrap;gap:8px}
.site-search-compact .site-search-row input{flex:1;min-width:0}
.site-search-compact .site-search-row button{flex:none;width:44px;padding:8px;font-size:24px}
.site-search-compact .site-search-status{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}
.site-search-compact .site-search-status p{margin:0;font-size:13px}
.site-search-compact .site-search-status button{min-height:40px;font-size:13px;padding:8px 12px}
.site-search-results{scroll-margin-top:80px;min-width:0}
.unified-workspace .short-jobs-compact{display:flex;flex-wrap:nowrap;gap:10px;padding:12px 14px;margin-bottom:12px}
.short-jobs-compact h2{font-size:1rem;margin:0}.short-jobs-compact small{font-size:12px;line-height:1.3}.short-jobs-compact .short-jobs-icon{padding:9px;border-radius:10px}.short-jobs-compact>button{width:auto;flex:none;min-height:42px}

/* Personal workday: photography, useful facts and the team's identity. */
.punch-day-label{display:flex;align-items:center;gap:7px;font-size:12px;color:#d6f5ed;margin-bottom:22px;text-transform:capitalize}.punch-day-label>span{margin-left:auto;font-size:9px;letter-spacing:.1em}
.punch-signature .punch-scene{min-height:300px}.punch-signature .punch-scene-copy{min-height:300px;max-width:none;padding:24px;box-sizing:border-box}.punch-scene:before{background:linear-gradient(0deg,#052c35f2 0%,#0638379c 58%,#06383755 100%)}.punch-signature .punch-scene-copy h3{font-size:34px;margin:8px 0 12px}.punch-scene-copy p{font-size:14px}.punch-scene-label{font-size:9px}
.punch-day-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.punch-day-cards article{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;border:1px solid #d5e8e2;border-radius:17px;background:linear-gradient(145deg,#f1faf5,#fff);min-width:0}.punch-day-cards article:nth-child(even){background:linear-gradient(145deg,#edf8fe,#fff);border-color:#d1e5ef}.punch-day-cards svg{color:#00753c;margin-bottom:4px}.punch-day-cards article:nth-child(even) svg{color:#007cad}.punch-day-cards small{font-size:11px;color:#476858}.punch-day-cards strong{font-size:20px;line-height:1.2;color:#143a4a;overflow-wrap:anywhere}.punch-day-cards article:nth-child(3) strong{font-size:15px}.punch-day-cards article>span{font-size:11px;color:#516d74;line-height:1.4}
.punch-daily-thought{margin:0;border-radius:20px;padding:24px 20px;background:#073e3b;text-align:center;position:relative;overflow:hidden}.punch-daily-thought:before{content:'“';position:absolute;font-size:180px;left:8px;top:-40px;color:#ffffff08;pointer-events:none}.punch-daily-thought>span{font-size:9px;letter-spacing:.15em;color:#adebd0}.punch-daily-thought blockquote{margin:14px 0;font-size:18px;line-height:1.5;font-weight:550;color:#fff}.punch-daily-thought figcaption{font-size:12px;color:#bce8db}.punch-daily-thought p{color:#e6f5ed!important;font-size:11px;margin:18px 0 0;padding-top:14px;border-top:1px solid #ffffff22}
.punch-weather-access>button{display:flex;align-items:center;gap:12px;width:100%;padding:16px;text-align:left;background:#edf8fe;border:1px solid #cde5f1;border-radius:16px;color:#185772;min-height:70px}.punch-weather-access>button>span:nth-child(2){flex:1;min-width:0}.punch-weather-access strong{font-size:14px;display:block}.punch-weather-access small{display:block;font-size:11px;line-height:1.4;margin-top:4px}.punch-weather-access>.site-weather{margin-top:12px}
@media(max-width:767px){.punch-day-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.punch-day-cards article{padding:14px}.punch-signature .punch-scene-copy{padding:20px;min-height:290px}.punch-signature .punch-scene{min-height:290px}.punch-day-label{font-size:10px}.punch-day-label>span{font-size:8px}.punch-signature .punch-scene-copy h3{font-size:30px}.punch-daily-thought blockquote{font-size:17px}}
@media(prefers-reduced-motion:reduce){.punch-celebration,.punch-celebration i{animation:none}}
/* Forecast scenery follows the selected site's actual forecast. */
.weather-site-heading{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;border:1px solid #cfdfeb;margin-bottom:18px;background:#eef5f8;color:#183b50;--weather-ink:#183b50}
.weather-heading-content{position:relative;z-index:1;padding:22px 24px}.weather-heading-content h2{font-size:clamp(23px,4vw,32px);margin:6px 0}.weather-heading-content h3{margin:7px 0 14px}.weather-heading-content p{margin:7px 0;color:var(--weather-ink)!important}.weather-heading-content :is(h1,h2,h3,.experience-kicker,.eyebrow,.back){color:var(--weather-ink)!important}.weather-heading-content>.heading{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;margin:0 0 16px!important}.weather-heading-content .heading .actions{position:relative;z-index:1}.weather-heading-content .heading .actions button{background:#ffffffec!important;color:#194358!important;border:1px solid #bdd6e5!important}
.weather-heading-open{display:flex;align-items:center;gap:11px;max-width:100%;padding:12px 15px;border-radius:15px;border:1px solid #c4dce9;background:#ffffffeb;color:#174f6d;text-align:left;min-height:66px;cursor:pointer}.weather-heading-open>span{flex:1;min-width:0}.weather-heading-open strong{display:block;font-size:15px;line-height:1.35}.weather-heading-open small{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;font-size:11px;line-height:1.4}.weather-heading-open>svg{flex-shrink:0}.weather-heading-open:focus-visible{outline:3px solid #01a0e2;outline-offset:3px}.weather-heading-source{display:block;font-size:10px;margin-top:8px;opacity:.85}
.weather-landscape{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.weather-landscape>span{position:absolute;display:none}.weather-scene-sun{background:linear-gradient(120deg,#e8f8ff,#fff2c6)}.weather-scene-sun .weather-sun{display:block;width:160px;height:160px;right:-18px;top:-25px;border-radius:50%;background:radial-gradient(circle,#fff8a2 0 24%,#ffcd44 25% 39%,#ffc44a65 40% 58%,#ffd35720 59% 70%,transparent 72%);box-shadow:0 0 70px #ffd44b80}.weather-scene-sun .weather-cloud-two{display:block;opacity:.5}
.weather-cloud{width:210px;height:70px;border-radius:80px;background:#fff9;box-shadow:40px 15px 0 0 #fff6}.weather-cloud:before,.weather-cloud:after{content:'';position:absolute;border-radius:50%;background:inherit}.weather-cloud:before{width:90px;height:90px;left:28px;top:-40px}.weather-cloud:after{width:115px;height:115px;left:85px;top:-55px}.weather-cloud-one{right:-25px;top:65px}.weather-cloud-two{right:40px;bottom:0;transform:scale(.7)}
.weather-scene-cloud{background:linear-gradient(120deg,#e8f0f5,#bacbd8)}.weather-scene-cloud .weather-cloud,.weather-scene-rain .weather-cloud,.weather-scene-storm .weather-cloud,.weather-scene-snow .weather-cloud{display:block}
.weather-scene-rain{background:linear-gradient(120deg,#e3eff5,#9bb8cf)}.weather-scene-rain .weather-rain,.weather-scene-storm .weather-rain{display:block;inset:0;background:repeating-linear-gradient(112deg,transparent 0 23px,#fff7 24px 25px,transparent 26px 55px);mask-image:linear-gradient(90deg,transparent,#000);opacity:.65;animation:weather-rainfall 1.8s linear infinite}.weather-scene-storm{background:linear-gradient(115deg,#dae5ee,#7691ab)}.weather-scene-storm .weather-lightning{display:block;width:35px;height:90px;right:75px;top:80px;background:#fff3ad;clip-path:polygon(45% 0,100% 0,60% 38%,90% 38%,0 100%,30% 52%,5% 52%)}
.weather-scene-night{background:linear-gradient(110deg,#163a52,#253a68);--weather-ink:#fff;color:#fff}.weather-scene-night .weather-sun{display:block;width:100px;height:100px;right:26px;top:20px;border-radius:50%;box-shadow:-20px 8px 0 #f3f2ce}.weather-scene-night .weather-heading-source{color:#d8e8ff}
.weather-scene-fog{background:repeating-linear-gradient(0deg,#dbe4e9 0 28px,#edf2f5 29px 42px)}.weather-scene-snow{background:linear-gradient(120deg,#edf7ff,#c5d6e6)}.weather-scene-snow .weather-snow{display:block;inset:0;background:radial-gradient(circle,#fff 0 3px,transparent 4px) 0 0/37px 40px;opacity:.7;mask-image:linear-gradient(90deg,transparent,#000)}
@keyframes weather-rainfall{from{transform:translateY(-15px)}to{transform:translateY(15px)}}
.punch-safety-card{background:linear-gradient(135deg,#fff9db,#fffdf5);border:1px solid #eadca7;border-radius:19px;padding:18px;color:#4d4325}.punch-safety-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#705721}.punch-safety-title>span{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:750;letter-spacing:.07em}.punch-safety-card h3{color:#443e27!important;font-size:19px;margin:12px 0 7px}.punch-safety-card p{color:#5c5337!important;font-size:13px;line-height:1.6;margin:8px 0}.punch-dpi-chips{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}.punch-dpi-chips span{font-size:10px;padding:6px 8px;border-radius:20px;background:#fff;border:1px solid #e8ddb8;color:#5d512f}.punch-safety-card>small{display:block;border-top:1px solid #e9ddb9;padding-top:12px;margin-top:12px;font-size:11px;color:#5d512f}.punch-safety-card summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:12px;font-weight:650}.punch-safety-card details :is(a,button){display:inline-flex;padding:10px 12px;margin:6px 6px 0 0;border-radius:10px;background:#fff;border:1px solid #dfd3a7;font-size:12px;color:#4b552b}
.punch-action-error,.punch-action-status{padding:12px!important;margin:12px 0 0!important;border-radius:12px;font-size:13px!important;line-height:1.5}.punch-console .punch-action-error{background:#ffedf0!important;color:#852737!important}.punch-console .punch-action-status{background:#e6f8ef!important;color:#115a3a!important}.punch-celebration span{line-height:1.5}
@media(max-width:767px){.weather-heading-content{padding:18px}.weather-heading-content .heading{gap:16px}.weather-heading-open{width:100%}.weather-heading-open strong{font-size:14px}.weather-sun{opacity:.8}.weather-cloud-one{opacity:.55}.punch-safety-card{padding:16px}.site-weather-main .weather-heading-content h1{font-size:clamp(22px,6vw,32px);overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.weather-rain{animation:none!important}}

/* A compact mobile directory: four work sections and a separate utility row. */
.site-section-nav{min-width:0;padding:10px;background:#fff;border:1px solid #d8e5e7;border-radius:22px;margin:0 0 20px;box-shadow:0 5px 20px #123c3210}
.site-section-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.site-section-nav .site-section-button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:78px;padding:10px 4px;border:1px solid transparent;border-radius:15px;background:transparent;color:#496573;font-family:inherit;cursor:pointer;transition:background .15s,color .15s;box-sizing:border-box}
.site-section-icon{display:grid;place-items:center;width:32px;height:29px;flex-shrink:0;color:#4b7980}.site-section-icon svg{display:block;width:22px;height:22px}.site-section-label{display:block;max-width:100%;font-size:13px;line-height:1.2;font-weight:650;white-space:nowrap}
.site-section-nav .site-section-button.is-selected{background:linear-gradient(135deg,#e5f6ec,#e7f5fc);border-color:#c1dfd0;color:#115d40}.site-section-button.is-selected .site-section-icon{color:#008940}.site-section-button.is-selected:after{content:'';position:absolute;left:30%;right:30%;bottom:4px;height:3px;border-radius:3px;background:linear-gradient(90deg,#009746,#01a0e2)}
.site-section-secondary{display:flex;justify-content:stretch;gap:8px;margin-top:8px;padding-top:9px;border-top:1px solid #e8efed}.site-section-secondary .site-section-button{flex:1;flex-direction:row;gap:7px;min-height:43px;padding:8px 6px;border-radius:11px;background:#f6f9f8}.site-section-secondary .site-section-icon{width:20px;height:21px}.site-section-secondary .site-section-icon svg{width:18px;height:18px}.site-section-secondary .site-section-label{font-size:12px}.site-section-secondary .site-section-button.is-selected{background:#e4f5ea}.site-section-secondary .site-section-button.is-selected:after{display:none}
.site-section-nav .site-section-button:focus-visible{outline:3px solid #01a0e2;outline-offset:2px}.site-section-nav .site-section-button:hover:not(.is-selected){background:#f0f7f5;color:#174f43}.site-heading-referent{display:block;font-size:12px;line-height:1.4;color:var(--weather-ink);margin-top:10px}
@media(min-width:900px){.site-section-nav{display:flex;align-items:stretch;gap:16px;padding:10px 14px}.site-section-primary{flex:4}.site-section-secondary{flex:3;border-top:0;border-left:1px solid #e8efed;margin:0;padding:0 0 0 14px;align-items:center}.site-section-secondary .site-section-button{min-height:50px}.site-section-nav .site-section-button{min-height:70px}}
@media(max-width:380px){.site-section-nav{padding:8px;border-radius:18px}.site-section-primary{gap:3px}.site-section-label{font-size:12px}.site-section-secondary{gap:5px}.site-section-secondary .site-section-label{font-size:11px}.site-section-secondary .site-section-button{gap:4px;padding:8px 4px}}
@media(prefers-reduced-motion:reduce){.site-section-nav .site-section-button{transition:none}}

.punch-simple-help{padding:13px 16px;border-radius:13px;background:#f0f8f4;color:#285547!important;font-size:13px;line-height:1.5;margin:12px 0}

/* Employee punches are directly readable before the detailed cards. */
.punch-register-summary{margin:20px 0;padding:18px;border:1px solid #c7e3d7;border-radius:14px;background:#f3faf7;color:#163d30}.punch-register-summary>p{margin-bottom:12px}.punch-register-scroll{overflow-x:auto}.punch-register-summary table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.punch-register-summary caption{text-align:left;font-weight:700;padding:8px 0}.punch-register-summary th,.punch-register-summary td{padding:12px;border-bottom:1px solid #d7e7de;white-space:nowrap}.punch-register-summary thead{background:#e2f1e9}.punch-register-summary a{color:#006a34;text-decoration:underline}.punch-register-summary>small{display:block;margin-top:12px}.punch-review-row[id]{scroll-margin-top:90px}

.personal-export-panel{margin:18px 0;padding:20px;border:1px solid #cfe4dd;border-radius:18px;background:linear-gradient(130deg,#f0faf5,#eef8fe)}.personal-export-panel strong{font-size:18px;color:#006b46}.personal-export-panel p{font-size:13px;color:#45635c;margin:6px 0 14px}.personal-file-ready{padding:18px;border:1px solid #b8dbc9;border-radius:16px;background:#f0faf4;margin:14px 0}.personal-file-ready>strong,.personal-file-ready>small{display:block;overflow-wrap:anywhere;margin-bottom:8px}.personal-file-ready>small{color:#526b63}.personal-file-notice{color:#006b46;font-weight:600}

/* Measuring tools stay above Home content and the employee START/STOP card. */
.measurement-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px;scroll-margin-top:90px}.measurement-shortcut{display:flex;align-items:center;gap:12px;min-width:0;min-height:76px;padding:15px 18px;border-radius:16px;text-decoration:none!important;border:1px solid #c2dfd1;background:#eff9f3;color:#006b35;box-shadow:0 3px 12px #163b2d08}.measurement-shortcut>svg{flex-shrink:0;width:25px;height:25px}.measurement-shortcut>svg:last-child{margin-left:auto;width:18px;height:18px}.measurement-shortcut>span{min-width:0}.measurement-shortcut strong{display:block;font-size:19px;line-height:1.25;color:inherit}.measurement-shortcut small{display:block;font-size:12px;line-height:1.4;margin-top:4px;color:#3d6554}.measurement-plan{border-color:#bcddec;background:#eff9fd;color:#08658b}.measurement-plan small{color:#456a7a}.measurement-shortcut:focus-visible{outline:3px solid #01a0e2;outline-offset:3px}.measurement-shortcut:hover{border-color:currentColor}.badge-only>.measurement-tools{margin-top:14px}.main.field-main>.measurement-tools{width:100%}@media(max-width:480px){.measurement-shortcut{padding:13px 11px;gap:8px;min-height:76px}.measurement-shortcut strong{font-size:16px}.measurement-shortcut small{font-size:11px}.measurement-shortcut>svg{width:21px;height:21px}.measurement-shortcut>svg:last-child{display:none}}

/* Real punch time and the same daily break choice for every workspace. */
.punch-real-clock{display:grid;text-align:center;gap:.35rem;padding:1.2rem;border-top:1px solid #d6e6eb;color:#17394f;font-variant-numeric:tabular-nums}.punch-real-clock>span{font-size:.68rem;letter-spacing:.16em;font-weight:800;color:#52717d}.punch-real-clock time{font-size:clamp(2rem,7vw,3.2rem);font-weight:850;letter-spacing:-.04em}.punch-real-clock>strong{color:#00783b;font-size:1.3rem}.punch-real-clock small{color:#456574}.punch-no-break{display:flex;align-items:center;gap:.8rem;padding:1rem;margin:.6rem 0;background:#eef8f0;border:1px solid #b5ddc4;border-radius:18px;color:#13422c;cursor:pointer}.punch-no-break input{width:22px;height:22px;accent-color:#009746;flex-shrink:0}.punch-no-break span{display:grid;gap:.25rem}.punch-no-break small{font-size:.83rem}.punch-edit-form{grid-column:1/-1;width:100%;padding:1rem;background:#f1f8fc;border:1px solid #c5e2ed;border-radius:18px}.punch-edit-form .formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.punch-edit-form input,.punch-edit-form textarea{max-width:100%;min-width:0}.punch-timeline-row>span{min-width:0}.punch-timeline-row .punch-edit-form{margin-top:.7rem}@media(max-width:520px){.punch-edit-form .formgrid{grid-template-columns:1fr}}
.personal-month{margin:1.4rem 0;border:1px solid #cfe2eb;border-radius:24px;overflow:hidden;background:white;box-shadow:0 10px 28px #113c4e0a}.personal-month>header{padding:1.4rem;background:linear-gradient(125deg,#0b2336,#124a5d);color:#fff}.personal-month>header>span{font-size:.65rem;letter-spacing:.18em;color:#9de5f6;font-weight:800}.personal-month h3{font-size:1.7rem;letter-spacing:-.04em;margin:.2rem 0;text-transform:capitalize;color:white}.personal-month header p{font-size:.85rem;color:#d8e8ed}.personal-calendar-weekdays,.personal-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:6px}.personal-calendar-weekdays{background:#e8f3f7;font-size:.7rem;font-weight:800;text-align:center;color:#305266}.personal-calendar-cell{min-width:0;min-height:105px;background:#f4f8fa;border-radius:9px;padding:8px 5px;display:flex;flex-direction:column;gap:4px;color:#17394f;border-top:3px solid #d0e2ea}.personal-calendar-cell>strong{font-size:.82rem}.personal-calendar-cell>span{font-weight:850;font-size:1.3rem;letter-spacing:-.05em}.personal-calendar-cell small{font-size:.61rem;line-height:1.2;overflow-wrap:anywhere}.personal-calendar-cell.worked{background:#e6f6ec;border-color:#009746}.personal-calendar-cell.punched{background:#e7f6fd;border-color:#01a0e2}.personal-calendar-cell.holiday{background:#ffecee;border-color:#e31e25;color:#96252b}.personal-calendar-cell.sick{background:#f2ebfb;border-color:#9463b4}.personal-calendar-cell.cig{background:#fff6da;border-color:#e6b328}.personal-calendar-cell.outside{background:#f1f3f4;color:#9aaeb9;opacity:.6}.personal-calendar-legend{padding:.7rem 1rem;color:#456574;font-size:.72rem}@media(max-width:600px){.personal-calendar-cell{min-height:86px;padding:5px 3px}.personal-calendar-cell>span{font-size:1.02rem}.personal-calendar-cell small{font-size:.55rem}.personal-calendar-grid{gap:3px;padding:5px}.personal-month>header{padding:1rem}}
.personal-tomorrow{flex:1 0 100%;width:100%;text-align:left;padding:1.1rem 1.25rem;margin-top:.6rem;border:1px solid #b4e2ed;border-left:5px solid #01a0e2;border-radius:18px;background:linear-gradient(120deg,#e6f6fd,#edfaf0);color:#12364a}.personal-tomorrow h3{margin:.4rem 0;font-size:1.4rem;line-height:1.3;color:#006f98;overflow-wrap:anywhere}.personal-tomorrow p{margin:.4rem 0 .8rem;color:#31586a}.personal-tomorrow .eyebrow{color:#007844}
.personal-tomorrow{margin:0 0 18px}.personal-tomorrow .eyebrow,.personal-tomorrow h3,.personal-tomorrow p{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.personal-tomorrow svg{flex-shrink:0}.personal-tomorrow small{color:#31586a}
/* POS / PSC: readable site-specific safety before clocking. */
.site-safety h2,.safety-summary h3{display:flex;align-items:center;gap:.5rem}.site-safety,.safety-reminder{color:#17394f}.safety-reminder{border:2px solid #009746;border-radius:22px;background:#f1faf5;padding:1rem;margin:1rem 0;display:grid;gap:.8rem}.safety-reminder>header{display:flex;gap:.8rem;align-items:center}.safety-reminder h3{margin:.25rem 0;font-size:1.2rem}.safety-reminder>small{display:block;color:#456574}.safety-dpi-illustration{margin:0}.safety-dpi-illustration img{width:100%;height:170px;object-fit:cover;border-radius:15px}.safety-dpi-illustration figcaption{font-size:.72rem;padding:.35rem;color:#456574}.safety-documents{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.safety-documents>a{display:flex;gap:.7rem;align-items:center;border:1px solid #9ccadd;border-radius:15px;padding:.9rem;background:#eef8fd;color:#174961;min-width:0;max-width:100%;text-decoration:none}.safety-documents span{min-width:0;display:grid;gap:.2rem}.safety-documents small{overflow-wrap:anywhere}.safety-summary{display:grid;gap:1rem;margin:.8rem 0}.safety-item{padding:1rem;border:1px solid #ccdde4;border-radius:14px;margin:.7rem 0;background:#fff}.safety-item h4{margin:0 0 .5rem;font-weight:800}.safety-item p{white-space:pre-wrap;margin:.35rem 0}.safety-source{display:block;color:#456574;border-top:1px solid #e0e9ee;margin-top:.65rem;padding-top:.5rem}.safety-source>span{display:block;white-space:pre-wrap;margin-top:.25rem}.safety-warning,.safety-missing{padding:.9rem;background:#fff8df;color:#6b4b12;border:1px solid #e8cd77;border-radius:12px;margin:.8rem 0}.safety-approved{background:#e5f5eb;color:#155735;padding:.8rem;border-radius:12px}.safety-dpi-chips{display:flex;gap:.5rem;flex-wrap:wrap}.safety-dpi-chips span{display:flex;align-items:center;gap:.35rem;background:#fff;padding:.6rem;border:1px solid #9acdac;border-radius:11px;font-weight:750}.safety-editor fieldset{border:1px solid #bfd7e0;padding:1rem;border-radius:12px;margin:1rem 0}.safety-editor legend{font-weight:750;padding:0 .3rem}.safety-editor textarea{min-height:65px;width:100%}.safety-review-check{align-items:flex-start;line-height:1.5;margin:1rem 0}.safety-review input[type=checkbox]{width:22px;height:22px;accent-color:#009746;flex-shrink:0}.safety-upload,.safety-review{margin:1rem 0;padding:1rem;border:1px solid #c9dde6;border-radius:15px}.safety-summary ul{list-style:disc;padding-left:1.2rem}@media(max-width:600px){.safety-editor .formgrid{grid-template-columns:1fr}.safety-dpi-illustration img{height:140px}.site-safety .sectiontitle{flex-wrap:wrap}}
.safety-simple-summary{gap:.8rem}.safety-simple-summary .safety-source{font-size:.75rem;margin-top:.7rem}.safety-simple-summary .safety-source summary{font-weight:500;color:#456574}.safety-simple-summary .safety-source p{padding:.5rem 0}.safety-simple-summary .safety-item{margin:.5rem 0;padding:.85rem}.safety-simple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.safety-simple-grid .safety-item{margin:0}.safety-overview{margin:.3rem 0;line-height:1.55}.safety-adjust{margin:1rem 0;padding:.7rem;border:1px solid #d3e3e9;border-radius:12px}.safety-adjust>.actions{margin-top:.8rem}.safety-upload form>.field,.safety-upload form>details,.safety-upload form>button{margin-top:.8rem}.safety-publish{width:100%;margin-top:1rem;min-height:48px}.safety-employee-name{display:block;margin-bottom:.3rem;color:#155735}@media(max-width:600px){.safety-simple-grid{grid-template-columns:1fr}}
.dpi-illustrations{margin:0 0 .75rem;background:#05223d;border-radius:13px;padding:.5rem;color:#fff}.dpi-picture-row{display:flex;gap:.5rem;justify-content:center;align-items:center;min-height:155px;flex-wrap:wrap}.dpi-picture{width:130px;max-width:100%;background-repeat:no-repeat;flex-shrink:0;border-radius:8px}.dpi-illustrations figcaption{font-size:.68rem;padding:.3rem .15rem;line-height:1.35;color:#d6e8f3}.dpi-thumbnails{margin:0;padding:.25rem;border-radius:9px;flex-shrink:0}.dpi-thumbnails .dpi-picture-row{min-height:0;gap:.2rem;flex-wrap:nowrap}.dpi-thumbnails .dpi-picture{width:48px}.safety-dpi-chips>span{align-items:center}.safety-dpi-chips>span>.dpi-thumbnails{display:block}.safety-dpi-chips{align-items:stretch}@media(max-width:600px){.dpi-picture{width:120px}.dpi-thumbnails .dpi-picture{width:42px}}

.attendance-workspace-tabs[data-slot=tabs-list]{flex-wrap:wrap}

/* The mobile sidebar is portalled outside .industrial-sidebar. Keep visual and
   touch boxes identical, including during opening and closing on iPhone. */
@media(max-width:767px){
 [data-sidebar=sidebar][data-mobile=true]{animation:none!important;transition:none!important;transform:none!important;z-index:90!important}
 [data-sidebar=sidebar][data-mobile=true][data-state=closed]{pointer-events:none}
 [data-sidebar=sidebar][data-mobile=true] [data-slot=sidebar-menu-button]{height:auto!important;min-height:52px!important;padding:12px!important;line-height:1.4!important;white-space:normal;touch-action:pan-y;transition:none!important}
 [data-sidebar=sidebar][data-mobile=true] [data-slot=sidebar-menu-button]>span{white-space:normal;overflow-wrap:anywhere}
 [data-sidebar=sidebar][data-mobile=true] [data-slot=sidebar-menu]{gap:5px}
 [data-sidebar=sidebar][data-mobile=true] [data-slot=sidebar-menu-button]::after{pointer-events:none}
 [data-sidebar=sidebar][data-mobile=true] .workspace-menu-group>summary{min-height:48px;touch-action:pan-y}
}
.program-encouragement{padding:16px;border-radius:14px;background:#edf8f1;color:#185b3a;line-height:1.5}

/* The chat occupies only the area above the keyboard, including native overlays. */
@media(max-width:767px){
 html .app-dialog-viewport.app-chat-viewport{overflow:hidden;align-items:stretch!important;padding:max(0px,var(--app-safe-top,env(safe-area-inset-top,0px))) 0 env(safe-area-inset-bottom,0px)!important}
 html .app-dialog-viewport.app-chat-viewport[data-keyboard-open=true]{padding-bottom:0!important}
 .app-chat-viewport .app-dialog-panel.site-chat.chat-simple{flex:1 1 0;height:auto!important;min-height:0!important;max-height:100%!important}
 .chat-simple .chat-bottom{position:relative;z-index:2;flex-shrink:0;padding:6px 8px}
 .chat-simple .chat-compose textarea{color:#183f35;-webkit-text-fill-color:#183f35;caret-color:#007b45}
 .chat-simple .chat-send-status{font-size:11px;line-height:1.3;margin:3px 4px 0;max-height:32px;overflow:auto}
 .chat-simple .chat-send-status:empty{display:none}
}

/* Focused site workspace: one navigation row and compact document management. */
.site-section-nav.site-section-nav-simple{display:block;padding:8px;box-shadow:none;border-radius:16px}
.site-section-nav-simple .site-section-primary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.site-section-nav-simple .site-section-button{min-height:66px;padding:8px 4px;gap:5px}
.site-home-intro{margin:6px 0 16px}.site-home-intro h2{font-size:22px;margin:0 0 5px;color:#183f37}.site-home-intro p{font-size:14px;color:#536d65;margin:0}
.site-home-simple .site-command-actions>button{min-height:118px;padding:18px;box-shadow:none}.site-home-simple .site-command-actions>button strong{font-size:18px}.site-home-simple .site-command-actions>button span{font-size:13px;line-height:1.45}
.site-office-tools>summary,.ddt-summary-details>summary,.site-document-folder>summary,.site-quick-jobs>summary{cursor:pointer;font-weight:700;color:#214f41;min-height:44px;padding-block:10px}
.site-office-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.site-office-links>button{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;text-align:left;padding:12px;border:1px solid #d8e6df;border-radius:10px;background:#f8fbf9;color:#204e40;font:inherit;cursor:pointer}.site-office-links>button svg{flex-shrink:0}
.site-office-links>button:focus-visible,.site-document-switch>button:focus-visible{outline:3px solid #01a0e2;outline-offset:3px}
.site-quick-jobs{margin-bottom:18px}.site-quick-jobs>summary{font-size:14px}
.site-document-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.site-document-switch>button{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 18px;border:1px solid #d3e3dc;border-radius:12px;background:#fff;color:#405e54;font:inherit;font-weight:650;cursor:pointer}.site-document-switch>button[aria-pressed=true]{color:#155e40;background:#eaf7ef;border-color:#94c9a8}.site-document-switch span,.site-document-folder>summary>span{display:inline-grid;place-items:center;min-width:25px;padding:2px 7px;border-radius:8px;background:#e6efea;font-size:12px;color:#3b5d4e}
.ddt-summary-simple{min-width:0;margin-bottom:20px}.ddt-summary-simple>.sectiontitle{gap:16px;align-items:center;margin-bottom:14px}.ddt-summary-simple h2{font-size:22px;margin:0 0 6px}.ddt-summary-simple>.sectiontitle p{margin:0;font-size:14px}.ddt-summary-simple>.sectiontitle>[data-slot=button]{flex-shrink:0;min-height:46px}.ddt-summary-details{margin-block:12px}.ddt-summary-body{padding-top:12px;min-width:0}.ddt-summary-body>.doclink{display:inline-flex;margin-block:18px;min-height:44px;align-items:center}.ddt-accounting-link{margin-top:8px;white-space:normal;min-height:44px;height:auto;text-align:left}
.ddt-archive-compact>summary{cursor:pointer;min-height:48px}.ddt-archive-compact>summary .muted{font-size:13px;margin-top:5px}.ddt-compact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;align-items:center;padding:16px 0;border-top:1px solid #dfebe5}.ddt-compact-info{min-width:0}.ddt-compact-info>strong{font-size:15px;overflow-wrap:anywhere;color:#183f37}.ddt-compact-info>p{font-size:13px;color:#506a62;margin:5px 0 0;overflow-wrap:anywhere}.ddt-compact-actions{display:flex;align-items:center;gap:5px}.ddt-compact-actions>[data-slot=button]{min-height:44px;padding:9px 12px;white-space:nowrap}.ddt-status-note{display:inline-block;font-size:12px;color:#785210;background:#fff5da;border-radius:6px;padding:3px 7px;margin:7px 6px 0 0}.ddt-manage-panel{grid-column:1/-1;background:#f7faf8;border:1px solid #dce9e1;border-radius:12px;padding:16px;min-width:0}.ddt-manage-panel .actions{align-items:flex-start;gap:8px}.ddt-manage-panel [data-slot=button]{white-space:normal;min-height:44px;height:auto;text-align:left}.ddt-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}.ddt-pagination>span{font-size:13px;color:#536e61}.site-document-folder{margin:12px 0}.site-document-folder>summary>span{margin-left:8px}.site-document-folder .listrow{gap:16px}.site-document-folder .listrow>div{min-width:0;overflow-wrap:anywhere}.document-file-actions>summary{cursor:pointer;min-height:44px;padding:12px;font-size:13px}.document-file-actions[open]{width:100%}
@media(max-width:600px){.site-section-nav-simple .site-section-button{min-height:64px}.site-section-nav-simple .site-section-label{font-size:11px;white-space:normal;overflow-wrap:anywhere}.site-section-nav-simple .site-section-icon svg{width:21px;height:21px}.site-home-simple .site-command-actions>button{padding:15px;min-height:124px}.site-home-simple .site-command-actions>button strong{font-size:16px}.site-office-links{grid-template-columns:1fr}.ddt-summary-simple>.sectiontitle{align-items:flex-start;flex-direction:column}.ddt-summary-simple>.sectiontitle>[data-slot=button]{width:100%}.site-document-switch>button{flex:1;justify-content:center;padding:10px}.ddt-compact-card{grid-template-columns:minmax(0,1fr);gap:10px}.ddt-compact-actions{justify-content:flex-start}.ddt-compact-actions>[data-slot=button]{flex:1}.ddt-manage-panel{padding:12px}.ddt-manage-panel>.actions{display:grid;grid-template-columns:minmax(0,1fr)}.ddt-manage-panel>.actions>[data-slot=button]{width:100%}.ddt-pagination>span{width:100%;order:-1;text-align:center}.ddt-pagination>[data-slot=button]{flex:1}.site-document-folder .listrow{align-items:flex-start;flex-direction:column}}

/* Visible setup on every account, including workers using the web app. */
.push-setup-reminder{flex:1 0 100%;width:100%;display:flex;align-items:flex-start;gap:10px;padding:14px;margin:8px 0;border:1px solid #b6d9cc;border-radius:14px;background:#f0f8f4;color:#164a39;text-align:left;white-space:normal}
.push-setup-reminder>svg{flex-shrink:0;margin-top:2px}.push-setup-reminder strong{font-size:14px;color:#164a39}.push-setup-reminder p{margin:6px 0 10px;font-size:13px;line-height:1.5;color:#315449}.push-setup-reminder button{min-height:44px;white-space:normal}
.call-diagnostics>p{margin:12px 0;line-height:1.5;color:#315449}.call-diagnostics-tools{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:12px}.call-diagnostics-tools .field{flex:1;min-width:150px;margin:0}.call-diagnostics-tools button{min-height:44px;white-space:normal}.call-diagnostic-person{border-top:1px solid #d9e6df;padding:12px 0;color:#183f37}.call-diagnostic-person p{margin:5px 0}.call-diagnostic-person small{display:block;margin-top:4px;line-height:1.5;color:#465e54}.chat-simple .call-diagnostics[open]{max-height:55%;flex-shrink:0}

/* Language controls belong with account settings, below the phone chrome. */
[data-slot=sidebar-footer] .language-toolbar{justify-content:flex-start;border:1px solid #cbded4;border-radius:12px;font-size:12px;padding:10px;gap:8px;min-height:0}
[data-slot=sidebar-footer] .language-toolbar label{flex-wrap:wrap}
[data-slot=sidebar-footer] .language-toolbar button{font-size:12px}
.login-card>.language-toolbar{margin-bottom:18px;justify-content:flex-start;border-radius:12px}

/* Industrial's private roof testing workspace. */
.roof-tests{max-width:1120px;margin:0 auto;padding:24px 20px 80px;color:#173c4c}.roof-tests>.doclink{display:inline-flex;margin-bottom:18px;min-height:40px;align-items:center}.roof-test-hero{padding:30px;border-radius:24px;background:linear-gradient(130deg,#092c43,#075e57);color:#fff;margin-bottom:24px;border-bottom:4px solid #009746}.roof-test-brand{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:750;letter-spacing:.07em}.roof-test-brand small{display:block;font-size:9px;letter-spacing:.11em;margin-top:5px;color:#bde5e2}.roof-test-hero h1{font-size:36px;margin:24px 0 10px;color:white}.roof-test-hero p{color:#d5eeeb;font-size:15px;max-width:600px}.roof-test-hero>button{margin-top:18px;background:#fff;color:#095442;border:0;min-height:46px}.roof-tests .panel{padding:24px;margin-bottom:20px;box-shadow:0 5px 24px #113a4506}.roof-tests h2{font-size:23px;margin:0 0 14px}.roof-tests p{font-size:14px;color:#4f6d72}.roof-tests input,.roof-tests textarea,.roof-tests select{font:inherit;font-size:16px;width:100%;min-width:0;border:1px solid #bdcfd1;background:#fff;color:#173c4c;border-radius:10px;padding:10px 12px}.roof-tests input[type=checkbox]{width:21px;height:21px;accent-color:#009746;flex-shrink:0}.roof-tests textarea{resize:vertical}.roof-tests .form{margin-top:20px}.roof-tests button{white-space:normal}.roof-access>summary{display:flex;gap:10px;align-items:center;cursor:pointer;font-weight:750;font-size:18px}.roof-access-person{display:flex;gap:14px;padding:14px 0;align-items:center;border-bottom:1px solid #e1eae8}.roof-access-person small{display:block;color:#597579;font-size:12px;margin-top:3px}.roof-list-tools{display:flex;gap:20px;align-items:end;margin:24px 0}.roof-list-tools>.field{flex:1}.roof-list-tools .checkrow{min-height:44px;font-size:13px;white-space:nowrap}.roof-test-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.roof-test-card{text-align:left;padding:22px;border:1px solid #cedfdf;border-radius:19px;background:#fff;box-shadow:0 5px 24px #173a4508}.roof-test-card>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.roof-test-card h2{font-size:22px}.roof-test-card p{display:flex;align-items:center;gap:7px}.roof-test-card footer{border-top:1px solid #e2eceb;padding-top:14px;margin-top:20px;font-size:11px;display:grid;gap:7px;color:#587278}.roof-outcome{font-size:11px;padding:6px 10px;border-radius:22px;background:#fff0dc;color:#78551c}.roof-outcome.positive{background:#dff5e9;color:#12613b}.roof-empty{text-align:center;padding:40px!important}.roof-empty>svg{margin:0 auto 20px;color:#009746}.roof-editor-actions,.roof-step-actions,.roof-pdf-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.roof-editor-actions button{min-height:44px}.roof-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:22px 0}.roof-steps button{display:flex;align-items:center;gap:9px;text-align:left;padding:12px;border:1px solid #c7dada;border-radius:13px;background:#fff;color:#315b66;font-size:12px;min-height:54px}.roof-steps button>span{display:grid;place-items:center;border-radius:50%;width:24px;height:24px;flex-shrink:0;background:#e5efef;font-weight:750}.roof-steps button[aria-current=step]{background:#e1f6e9;border-color:#009746;color:#075a34}.roof-steps button[aria-current=step]>span{background:#009746;color:white}.roof-editor{padding:0;margin:0;border:0;min-width:0}.roof-plan-upload{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:20px 0}.roof-plan-upload>.field{max-width:140px}.roof-file{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#eaf6f0;border:1px solid #7fbd9c;color:#11643a;border-radius:12px;padding:11px 15px;font-size:13px;font-weight:650;cursor:pointer;min-height:44px;overflow:hidden}.roof-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.roof-plan{position:relative;margin:20px 0;line-height:0;isolation:isolate;outline:1px solid #c8dada;background:#eef3f4}.roof-plan img{width:100%;height:auto;display:block}.roof-plan.placing{cursor:crosshair}.roof-pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:29px;height:29px;border:2px solid #fff;border-radius:50%;background:#e36625;color:#fff;font-weight:800;font-size:12px;line-height:1;box-shadow:0 2px 8px #092b4550;z-index:2}.roof-pin.verified{background:#008b48}.roof-pin.selected{outline:3px solid #01a0e2}.roof-pin-help{padding:12px;border-radius:10px;background:#e4f4fd;color:#15577a!important}.roof-anomaly{border:1px solid #cbdedd;border-radius:15px;margin:14px 0;background:#fcfefe}.roof-anomaly>summary{display:flex;align-items:center;gap:10px;padding:16px;cursor:pointer;list-style:none}.roof-anomaly>summary>span:last-child{margin-inline-start:auto;font-size:11px;color:#547475}.roof-anomaly-number{display:grid;place-items:center;border-radius:50%;width:28px;height:28px;flex-shrink:0;background:#0b6470;color:white;font-size:12px;font-weight:750}.roof-anomaly>.form{padding:0 18px 20px}.roof-photo-box{padding:16px;border:1px solid #d5e4e3;background:#f1f7f6;border-radius:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.roof-photo-box>strong{width:100%;font-size:14px}.roof-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.roof-photos:empty{display:none}.roof-photos figure{margin:0;border:1px solid #cfdfdf;border-radius:10px;overflow:hidden;background:white}.roof-photos img{width:100%;height:145px;object-fit:contain;display:block}.roof-photos figure button{width:100%;font-size:11px}.roof-check{display:grid;grid-template-columns:1fr 180px;gap:12px;padding:20px 0;border-top:1px solid #dae6e4}.roof-check>.field:last-child{grid-column:1/-1}.roof-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.roof-summary>span{display:grid;gap:7px;background:#eaf7f0;border-radius:14px;padding:18px;font-size:12px;color:#386959}.roof-summary strong{font-size:32px;color:#09613d}.roof-final-check{display:flex;gap:12px;background:#f0f6f7;border:1px solid #d4e2e4;border-radius:14px;margin:20px 0;padding:18px}.roof-final-check>svg{flex-shrink:0;color:#11734b}.roof-final-check strong{font-size:14px}.roof-final-check ul{list-style:disc;padding-left:18px;margin:10px 0 0;font-size:13px;line-height:1.8}.roof-step-actions{justify-content:space-between}.roof-pending small{display:block;margin:8px 0;color:#6e5a29}.roof-status{padding:12px 16px;background:#e3f3fb;color:#185571!important;border-radius:10px}.roof-pdf-actions{padding:8px 16px;margin:0;flex-shrink:0}
@media(max-width:767px){.roof-tests{padding:18px 13px 55px}.roof-test-hero{padding:23px 20px;border-radius:19px}.roof-test-hero h1{font-size:29px}.roof-test-brand{font-size:10px}.roof-test-brand small{font-size:8px}.roof-tests .panel{padding:18px}.roof-test-list{grid-template-columns:1fr}.roof-list-tools{align-items:stretch;flex-direction:column;gap:10px}.roof-steps{grid-template-columns:1fr 1fr}.roof-steps button{font-size:11px;padding:10px}.roof-editor-actions>button{flex:1}.roof-editor-actions>button:last-child{flex-basis:100%}.roof-check{grid-template-columns:1fr}.roof-check>.field:last-child{grid-column:auto}.roof-photos img{height:115px}.roof-anomaly>summary{padding:13px;flex-wrap:wrap}.roof-anomaly>summary>strong{font-size:14px}.roof-anomaly>.form{padding:0 13px 16px}.roof-final-check{padding:14px}.roof-test-card h2{font-size:21px}}

/* Sopralluoghi: dettatura e tavole della copertura. */
.visit-dictation h3,.visit-plan h3{display:flex;align-items:center;gap:.65rem}.visit-dictation small,.visit-plan small{display:block;color:#526b62;line-height:1.55;margin:.6rem 0}.visit-dictation textarea{width:100%;min-height:130px}.visit-dictation-result{margin-top:1rem;padding:1rem;background:#eef8f2;border:1px solid #c9dfd1;border-radius:16px}.visit-dictation-result p{white-space:pre-wrap;overflow-wrap:anywhere}.visit-voice-player{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.visit-voice-player audio{max-width:100%;width:300px}.visit-plan-canvas{position:relative;width:100%;margin:1rem 0;background:#fff;border:1px solid #cfddd8;border-radius:12px;overflow:hidden}.visit-plan-canvas img{display:block;width:100%;height:auto;max-height:none}.visit-plan-canvas svg{position:absolute;inset:0;width:100%;height:100%;touch-action:manipulation;cursor:crosshair}.visit-plan-source,.visit-zone-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.65rem 0;border-bottom:1px solid #d9e6df}.visit-plan-source a{overflow-wrap:anywhere;min-width:0;flex:1}.visit-plan .field input[type=number]{max-width:120px}.visit-plan .accessnote{margin-top:.75rem}.visit-plan select{max-width:100%;width:100%}@media(max-width:640px){.visit-dictation .actions,.visit-plan .actions{gap:.6rem}.visit-dictation .actions>button,.visit-plan .actions>button{min-height:46px;white-space:normal;text-align:center}.visit-voice-player{align-items:stretch}.visit-voice-player audio{width:100%}}

/* Photos: bounded previews and an explicit state instead of an empty black viewer. */
.photo-thumbnail{position:relative;display:block;width:160px;height:120px;overflow:hidden;background:#edf3f5;border-radius:12px}
.photo-thumbnail img{width:100%!important;height:100%!important;object-fit:cover}
.photo-thumbnail-status{display:flex;width:100%;height:100%;align-items:center;justify-content:center;padding:12px;text-align:center;color:#335667;font-size:13px}
.quick-photo-saved-item .photo-thumbnail,.equipment-photo-card .photo-thumbnail,.punch-team-photos .photo-thumbnail{width:100%;height:100%}
.equipment-photo-card .photo-thumbnail{height:170px}
.punch-team-photos .photo-thumbnail{height:120px}
.photo-viewer-stage{position:relative;min-height:120px}
.photo-viewer-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center;color:#fff;background:#080d14}
.photo-viewer-status p{max-width:420px;color:#d8e3f0}
.photo-viewer-status button{min-height:44px;padding:10px 22px;border:1px solid #93b0c6;border-radius:10px;background:#19374b;color:#fff}
@media(max-height:600px){.app-dialog-panel.photo-viewer{overflow-y:auto}.photo-viewer-stage{flex:1 0 180px}.photo-viewer-zoom{gap:6px;padding:4px 0}.photo-viewer-zoom button{min-height:36px;padding:5px 8px}.photo-viewer-zoom>span:last-child{display:none}}

.roof-technical,.roof-documents{margin-top:26px;padding-top:22px;border-top:1px solid #d4e2e4}.roof-technical h3,.roof-documents h3{font-size:20px;color:#173c4c;margin:0 0 12px}.roof-small{font-size:12px!important}.roof-document-card{padding:16px;border:1px solid #cbdedd;border-radius:13px;margin:12px 0;background:#f9fcfb;overflow-wrap:anywhere}.roof-document-select{display:flex;gap:12px;align-items:flex-start}.roof-document-card small{display:block;font-size:12px;color:#4f6d72;line-height:1.6;margin:6px 0}.roof-document-card .doclink{display:inline-block;margin:8px 12px 0 0;font-size:13px}.roof-document-note{font-size:12px!important;color:#73521b!important}.roof-document-missing{padding:16px;background:#f0f6f7;border-radius:12px;margin:16px 0;font-size:13px}.roof-document-missing ul{padding-left:18px;list-style:disc;line-height:1.8}
/* Purchases acquired inside the existing economy report. */
.economy-purchase-capture{margin:18px 0;padding:18px;border:1px solid #b5dacc;border-left:4px solid #009746;border-radius:12px;background:#f0f8f4;color:#163b2d}
.economy-purchase-capture h4{display:flex;align-items:center;gap:8px;font-size:1.08rem;font-weight:700;margin:0 0 8px}
.economy-purchase-capture p{margin:8px 0;overflow-wrap:anywhere}
.economy-purchase-document{margin-top:14px;padding:14px;border:1px solid #c7ded6;background:#fff;border-radius:10px;overflow-wrap:anywhere}
@media(max-width:640px){.economy-purchase-capture{padding:12px}.economy-purchase-capture .actions>button{width:100%;white-space:normal;height:auto;min-height:44px}.economy-purchase-document{padding:10px}}

/* Keep the home photo in its own visible layer on Safari/iOS. */
.home-inspiration>img{z-index:0}
.home-inspiration:before{z-index:1;pointer-events:none}
.home-inspiration figcaption{z-index:2}

/* Company identity stays separate from the IS WORK application brand. */
.company-branding-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.company-branding-grid article{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px;border:1px solid #d8e5e3;border-radius:12px;background:#fff}.company-branding h4{font-size:17px;font-weight:700}.company-logo-preview{width:220px;height:110px;object-fit:contain;background:#fff}.company-upload{display:inline-flex;align-items:center;gap:8px;position:relative;padding:10px 16px;background:#006d3e;color:#fff;border-radius:8px;font-weight:600;cursor:pointer}.company-upload input{position:absolute;width:100%;height:100%;inset:0;opacity:0;cursor:pointer}.company-upload:focus-within{outline:3px solid #01a0e2;outline-offset:3px}.company-upload:has(input:disabled){opacity:.6}.company-branding small{display:block;color:#53676b;line-height:1.5}.company-branding details{margin-top:20px}.company-letterhead-band,.company-letterhead-review>img{display:block;width:100%;height:auto;background:#fff;border:1px solid #d8e5e3}.company-letterhead-review{max-width:760px;margin:20px auto;border:1px solid #d8e5e3;padding:16px;border-radius:10px}.company-letterhead-review>div:not(.actions){padding:40px 16px;text-align:center;color:#617276;background:#f5f8f9}.company-letterhead-review .actions{margin-top:16px}.company-sidebar-identity{display:flex;align-items:center;gap:10px;padding:10px 8px;border-top:1px solid #dde7e8;color:#183742;font-size:12px;overflow-wrap:anywhere}.company-sidebar-identity img{width:60px;height:40px;background:white;object-fit:contain;border-radius:4px}.company-sidebar-identity span{min-width:0}@media(max-width:700px){.company-branding-grid{grid-template-columns:1fr}}
/* Connection notices stay clear of the native status bar and bottom navigation. */
.startup-cache-notice{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));z-index:45;display:flex;align-items:center;gap:12px;max-width:560px;margin:auto;padding:12px 14px;border:1px solid #e3cc8c;border-radius:14px;background:#fff4d9;color:#194d37;font-size:13px;line-height:1.4;box-shadow:0 4px 16px #102b3d18}
.startup-cache-notice span{flex:1;min-width:0}.startup-cache-notice button{flex:none;min-height:44px;padding:8px 12px;border:1px solid #194d37;border-radius:9px;background:white;color:#194d37;font-weight:600}.startup-cache-notice button:disabled{opacity:.65}
