@charset "UTF-8";
/* ==========================================================================
   Skiwo UI — Design Tokens (base / default skin)
   The reusable token CONTRACT. Components reference var(--token) only — never a
   hard-coded value. Per-product themes override these var VALUES (one file, no
   forked stylesheet); dark theme overrides under [data-theme="dark"] at bottom.

   Structure + values lifted from the bemywords design handoff
   (the source handoff files have since been removed from docs/). The
   violet --brand is the catalog's PLACEHOLDER default skin; a dedicated neutral
   Skiwo palette swaps in here later without touching any component.
   ========================================================================== */
:root {
  /* ---- Brand (violet — placeholder default skin) ---- */
  --brand: #5B5BD6; /* primary actions, active nav, focus ring, links */
  --brand-hover: #4B4BC4; /* hover/pressed on primary */
  --brand-ink: #4B4BC4; /* brand-colored text on light bg */
  --brand-tint: #EEEDFB; /* active nav bg, icon chips */
  --brand-tint-2: #F4F4FD; /* selected sub-item bg, subtle brand fill */
  --brand-tint-3: #F3EEFC; /* zone bg accents */
  --brand-avatar-bg: #E7E7FA; /* avatar circle bg */
  --brand-border: #D7D6F6; /* brand-tinted hairline (ghost-button outline) */
  --brand-ring: rgba(91,91,214,.12); /* focus ring around active input */
  /* ---- Neutrals / surfaces ---- */
  --bg-app: #F7F8FA; /* app canvas behind cards */
  --surface: #FFFFFF; /* cards, bars, inputs */
  --surface-2: #FAFBFC; /* subtle raised/inset (filter bars, source cells) */
  --surface-3: #FBFBFC; /* read-only cell bg */
  --surface-light-violet: #FAFAFE; /* active editor-row wash (KeyRow) */
  /* ---- Borders / dividers (light -> strong) ---- */
  --hairline: #F1F2F4; /* in-grid row dividers */
  --border-1: #F0F1F4; /* faint section dividers */
  --border-2: #EAECF0; /* default card/bar border */
  --border-3: #E8EAEF; /* card border (slightly stronger) */
  --border-4: #E4E6EB; /* control/input border */
  /* ---- Text ---- */
  --text: #1B1D27; /* headings, primary values */
  --text-2: #2A2D38; /* strong body */
  --text-3: #3A3D49; /* read-only/source text */
  --text-mid: #4A4E5A; /* secondary labels, ghost-button text */
  --text-muted: #5A5E6B; /* muted body */
  --text-faint: #8A8F9C; /* meta, placeholders */
  --text-faint2: #9499A6; /* keys, captions, disabled */
  --on-brand: #FFFFFF; /* fg on a solid brand/coloured fill (primary btn, done marker) — stays white in dark too */
  --icon-faint: #A9AEBA; /* default stroke-icon color in lists */
  /* ---- Semantic (status) — each has ink + bar + tint(bg) ---- */
  --ok: #1F8A5B;
  --ok-bar: #27a36b;
  --ok-tint: #E6F4EC; /* Approved / live / 100% */
  --info: #3A6EA5;
  --info-bar: #4581c2;
  --info-tint: #E8F0F8; /* AI draft / in-progress / mid */
  --warn: #9a6a17;
  --warn-bar: #cf982f;
  --warn-tint: #FBF1DF; /* Needs review / low coverage */
  --warn-strong:#c79a3a; /* amber editor border for review state */
  --danger: #C2410C;
  --danger-ink:#C06868;
  --danger-tint: #FBE9E2; /* Empty / Untranslated */
  --danger-cell:#FDF6F6; /* untranslated grid-cell bg */
  --destruct: #D14343; /* destructive actions (delete, remove) */
  /* ---- Mode badges ---- */
  --mode-script-ink: #5B5BD6;
  --mode-script-bg: #EEEDFB;
  --mode-standard-ink:#5A5E6B;
  --mode-standard-bg:#EEF0F3;
  /* ---- Typography (per-product token, not a fork) ---- */
  --font-ui: "Schibsted Grotesk", system-ui, -apple-system, sans-serif;
  --font-prose: "Hanken Grotesk", system-ui, sans-serif; /* auth rail, marketing prose */
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace; /* keys, IDs, code, numeric */
  --fs-display:36px;
  --fw-display:700; /* hero numbers — pricing amount, big stat */
  --fs-page: 22px;
  --fw-page: 700; /* page H1 */
  --fs-h2: 18px;
  --fw-h2: 700; /* card/section headings */
  --fs-title: 15px;
  --fw-title:600; /* card titles, nav items */
  --fs-body: 13.5px; /* default body / inputs */
  --fs-body-sm:13px;
  --fs-sm: 12.5px; /* secondary controls */
  --fs-meta: 12px; /* meta text */
  --fs-cap: 11px; /* captions, key mono */
  --fs-tiny: 10.5px;
  --fw-tiny: 600; /* status pills, tiny caps labels */
  --lh-tight: 1.4;
  --lh-body: 1.5;
  /* ---- Spacing scale (4px base) ---- */
  --s-1: 4px;
  --s-2: 6px;
  --s-3: 8px;
  --s-4: 10px;
  --s-5: 12px;
  --s-6: 14px;
  --s-7: 16px;
  --s-8: 18px;
  --s-9: 20px;
  --s-10: 24px;
  /* ---- Radii ---- */
  --r-control: 8px; /* buttons, inputs, chips */
  --r-control-sm: 7px; /* small inline buttons */
  --r-card: 13px; /* cards */
  --r-card-lg: 16px; /* large panels */
  --r-pill: 999px;
  /* ---- Shadows ---- */
  --sh-card: 0 1px 2px rgba(16,18,30,.04); /* resting card */
  --sh-raise: 0 6px 20px rgba(16,18,30,.09); /* hover card */
  --sh-float: 0 14px 44px rgba(20,22,40,.12); /* modals, menus, popovers */
  --sh-btn: 0 1px 2px rgba(91,91,214,.40); /* primary button */
  --sh-focus: 0 0 0 3px var(--brand-ring); /* focused control ring */
  /* ---- Layout constants ---- */
  --header-h: 60px;
  --sidebar-w: 244px;
  --sidebar-w-collapsed: 64px;
  --content-max: 1320px;
  --tap-min: 44px; /* minimum mobile hit target */
  --grid-row-h: 32px; /* dense table row height */
  /* ---- Gantt (UI::Gantt) structural constants — geometry only, no colour ---- */
  --gantt-label-w: 200px; /* width of the lane / header label column */
  --gantt-col-w: 34px; /* min width of one time-axis (day) column */
  --gantt-row-h: 30px; /* height of one bar track row */
  /* ---- Kanban (UI::Kanban) structural constants — geometry only, no colour ---- */
  --kanban-col-w: 288px; /* fixed width of one board column */
  --kanban-track-min: 64px; /* min height of a column's card track so an empty
   column still presents a droppable area */
  /* ---- Density — app-chrome spacing that scales comfortable (default) →
     compact. Set [data-density] on the AppShell root; the chrome reads THESE
     (never the raw scale) so a product flips density globally with no
     per-component overrides. Comfortable values equal the current look, so
     existing consumers see no change. Compact lives in the block at file end. */
  --dz-rail-pad: var(--s-5); /* UI::Sidebar outer padding */
  --dz-nav-pad-block: var(--s-2); /* UI::NavItem row padding (block axis) */
  --dz-nav-pad-inline: var(--s-5); /* UI::NavItem row padding (inline axis) */
  --dz-pagehead-gap: var(--s-9); /* UI::PageHeader space below the title row */
  --nt-detractor-ink: #7B3F28;
  --nt-detractor-bg: #FBF1EE;
  --nt-detractor-border: #ECD3CA;
  --nt-passive-ink: #4A5568;
  --nt-passive-bg: #F7FAFC;
  --nt-passive-border: #E2E8F0;
  --nt-promoter-ink: #276749;
  --nt-promoter-bg: #EDF6F0;
  --nt-promoter-border: #CFE6D9;
  --auth-rail-bg: #1B1D27;
  --auth-rail-ink: #FFFFFF;
  --auth-rail-ink-dim: rgba(255, 255, 255, 0.72);
  --auth-rail-accent: #FFFFFF;
  --auth-rail-glow: var(--brand);
  --auth-rail-card-bg: rgba(255, 255, 255, 0.06);
  --auth-rail-card-border: rgba(255, 255, 255, 0.12);
}

/* Dark theme: override token VALUES only — every component references vars, so
   this single block re-themes the whole UI. */
[data-theme=dark] {
  --bg-app: #15161C;
  --surface: #1B1D27;
  --surface-2:#20222D;
  --surface-3:#20222D;
  --surface-light-violet:#201F33;
  --border-2: #2A2C38;
  --border-3: #2A2C38;
  --border-4: #313445;
  --text: #ECEDF2;
  --text-2: #D7D9E2;
  --text-3: #C2C5D1;
  --text-mid: #A3A7B5;
  --text-muted:#9499A6;
  --text-faint:#7C8090;
  --brand-tint:#262648;
  --brand-tint-2:#20203B;
  --brand-border:#33335A;
}

/* Density — compact preference. Set [data-density="compact"] on the AppShell
   root (UI::AppShell density: :compact, or the ui-density controller at runtime);
   --header-h + the chrome tokens tighten and the whole shell follows. Comfortable
   is the :root default. NOTE: --tap-min (NavItem touch target) intentionally does
   NOT shrink — compact is a desktop spacing preference, not a hit-target override
   (WCAG 2.5.8 target size stays satisfied). */
[data-density=compact] {
  --header-h: 50px;
  --dz-rail-pad: var(--s-3);
  --dz-nav-pad-block: var(--s-1);
  --dz-nav-pad-inline: var(--s-4);
  --dz-pagehead-gap: var(--s-5);
}

.theme-soft-reply {
  --brand: #356A8E;
  --brand-hover: #2C5C7A;
  --brand-ink: #356A8E;
  --brand-tint: #EEF4F8;
  --brand-tint-2: #F4F8FB;
  --brand-tint-3: #F7F9FB;
  --brand-avatar-bg: #DCE7EF;
  --brand-border: #D8E5EE;
  --brand-ring: rgba(53, 106, 142, 0.30);
  --bg-app: #F4F6F8;
  --surface: #FFFFFF;
  --surface-2: #FAFBFC;
  --surface-3: #F7F9FB;
  --hairline: #EDF1F4;
  --border-1: #EDF1F4;
  --border-2: #E4EAEE;
  --border-3: #E4EAEE;
  --border-4: #DCE3E8;
  --text: #16212A;
  --text-2: #2A353E;
  --text-3: #3A444C;
  --text-mid: #56636D;
  --text-muted: #6B7680;
  --text-faint: #7A858E;
  --text-faint2: #9AA4AC;
  --on-brand: #FFFFFF;
  --icon-faint: #A9B2BA;
  --ok: #2E7D54;
  --ok-bar: #3F9D6C;
  --ok-tint: #EDF6F0;
  --info: #356A8E;
  --info-bar:#4581c2;
  --info-tint:#EEF4F8;
  --warn: #9a6a17;
  --warn-bar:#cf982f;
  --warn-tint:#FBF1DF;
  --danger: #B5482A;
  --danger-ink:#B5482A;
  --danger-tint:#FBE9E2;
  --destruct: #C0492C;
  --nt-detractor-ink: #A8512F;
  --nt-detractor-bg: #FBF1EE;
  --nt-detractor-border: #ECD3CA;
  --nt-passive-ink: #5E6A73;
  --nt-passive-bg: #F6F8FA;
  --nt-passive-border: #E0E6EA;
  --nt-promoter-ink: #2E7D54;
  --nt-promoter-bg: #EDF6F0;
  --nt-promoter-border: #CFE6D9;
  --sh-card: 0 1px 2px rgba(16, 28, 40, 0.05);
  --sh-raise: 0 6px 20px rgba(20, 40, 60, 0.10);
  --sh-float: 0 24px 50px -28px rgba(25, 45, 65, 0.28);
  --sh-btn: 0 1px 2px rgba(53, 106, 142, 0.40);
  --sh-focus: 0 0 0 3px var(--brand-ring);
  --selection: #CFE0EC;
  --auth-bg-from: #D4E5EF;
  --auth-bg-to: #B8D2DF;
  --auth-header-bg: #1A2E3B;
  --auth-rail-bg: #15212B;
  --auth-rail-ink: #FFFFFF;
  --auth-rail-ink-dim: #B9C7D2;
  --auth-rail-accent: #356A8E;
  --auth-rail-glow: rgba(53, 106, 142, 0.45);
  --auth-rail-card-bg: rgba(255, 255, 255, 0.05);
  --auth-rail-card-border: rgba(255, 255, 255, 0.10);
}

.theme-kontorbytte {
  --brand: #2b5d6a;
  --brand-hover: #1d4049;
  --brand-tint: #edf4f5;
  --brand-border: #b8d4d9;
  --brand-ring: rgba(43, 93, 106, 0.15);
  --on-brand: #FFFFFF;
  --bg-app: #f7fafa;
  --surface: #FFFFFF;
  --surface-2: #f4f9fa;
  --surface-3: #edf4f5;
  --hairline: #e5ecee;
  --border-1: #e5ecee;
  --border-2: #d1d9da;
  --border-3: #d1d9da;
  --border-4: #9fb3b6;
  --text: #1e293b;
  --text-2: #2d3d4a;
  --text-mid: #4b5563;
  --text-muted: #4b5563;
  --text-faint: #6b7a80;
  --sh-focus: 0 0 0 3px var(--brand-ring);
  --auth-bg-from: #e6efef;
  --auth-bg-to: #c8dede;
  --auth-header-bg: #2b5d6a;
}

.skiwo-ui .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skiwo-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  font-family: var(--font-ui);
  font-size: var(--fs-body-sm);
  font-weight: 600;
  line-height: 1;
  border: 1px solid transparent;
  border-radius: var(--r-control);
  padding-block: 9px;
  padding-inline: 14px;
  cursor: pointer;
  user-select: none;
  text-decoration: none;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}
.skiwo-btn:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-btn:disabled, .skiwo-btn[aria-disabled=true] {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}
.skiwo-btn--sm {
  font-size: var(--fs-meta);
  padding-block: 6px;
  padding-inline: 10px;
}
.skiwo-btn--icon {
  padding: 0;
  inline-size: 32px;
  block-size: 32px;
  gap: 0;
}
.skiwo-btn--primary {
  background: var(--brand);
  color: var(--on-brand);
  box-shadow: var(--sh-btn);
}
.skiwo-btn--primary:hover:not(:disabled) {
  background: var(--brand-hover);
}
.skiwo-btn--primary:active:not(:disabled) {
  background: var(--brand-hover);
}
.skiwo-btn--secondary {
  background: var(--surface);
  border-color: var(--border-4);
  color: var(--text-2);
}
.skiwo-btn--secondary:hover:not(:disabled) {
  background: var(--surface-2);
}
.skiwo-btn--ghost {
  background: transparent;
  color: var(--text-mid);
}
.skiwo-btn--ghost:hover:not(:disabled) {
  background: var(--surface-2);
}
.skiwo-btn--destructive {
  background: transparent;
  border-color: var(--destruct);
  color: var(--destruct);
}
.skiwo-btn--destructive:hover:not(:disabled) {
  background: var(--danger-tint);
}
.skiwo-btn--brand-ghost {
  background: transparent;
  border-color: var(--brand-border);
  color: var(--brand-ink);
}
.skiwo-btn--brand-ghost:hover:not(:disabled) {
  background: var(--brand-tint);
}
.skiwo-btn.is-loading {
  cursor: progress;
}
.skiwo-btn__spinner {
  inline-size: 14px;
  block-size: 14px;
  border-radius: var(--r-pill);
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  animation: skiwo-btn-spin 0.6s linear infinite;
}
.skiwo-btn__icon {
  font-size: 1em;
  line-height: 1;
}

@keyframes skiwo-btn-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-btn {
    transition: none;
  }
  .skiwo-btn__spinner {
    animation-duration: 1.4s;
  }
}
.skiwo-dot {
  display: inline-block;
  inline-size: 7px;
  block-size: 7px;
  border-radius: var(--r-pill);
  background: var(--dot-color, var(--text-mid));
  flex: none;
  vertical-align: middle;
}

.skiwo-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--font-ui);
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: 1;
  color: var(--badge-ink, var(--text-mid));
  background: var(--badge-tint, var(--surface-2));
  border-radius: var(--r-pill);
  padding-block: 3px;
  padding-inline: 8px;
  white-space: nowrap;
}
.skiwo-badge__icon {
  font-size: 12px;
  line-height: 1;
}
.skiwo-badge__label {
  display: inline-block;
}

.skiwo-mode-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: 1.4;
  color: var(--mode-ink);
  background: var(--mode-bg);
  padding: 2px 7px;
  border-radius: var(--r-control-sm);
  white-space: nowrap;
}

.skiwo-project-card {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  padding: var(--s-6);
  box-shadow: var(--sh-card);
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.skiwo-project-card:hover {
  box-shadow: var(--sh-raise);
  border-color: var(--brand-border);
}
.skiwo-project-card__head {
  display: flex;
  align-items: center;
  gap: var(--s-3);
}
.skiwo-project-card__name {
  font-weight: var(--fw-title);
  font-size: 15.5px;
  color: var(--text);
  text-decoration: none;
}
.skiwo-project-card__name:hover {
  color: var(--brand-ink);
}
.skiwo-project-card__spacer {
  flex: 1;
}
.skiwo-project-card__menu {
  flex: 0 0 auto;
}
.skiwo-project-card__meta {
  font-size: var(--fs-sm);
  color: var(--text-faint);
  margin: var(--s-1) 0 var(--s-4);
}
.skiwo-project-card__langs {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.skiwo-project-card__lang-head {
  display: flex;
  justify-content: space-between;
  font-size: var(--fs-meta);
  color: var(--text-muted);
  margin-block-end: 5px;
}
.skiwo-project-card__lang-pct {
  font-family: var(--font-mono);
}
.skiwo-project-card__lang-pct--ok {
  color: var(--ok);
}
.skiwo-project-card__lang-pct--info {
  color: var(--info);
}
.skiwo-project-card__lang-pct--warn {
  color: var(--warn);
}
.skiwo-project-card__notice {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  margin-block-start: var(--s-5);
  padding: 9px 11px;
  border-radius: var(--r-control);
  font-size: var(--fs-meta);
}
.skiwo-project-card__notice--warn {
  background: var(--warn-tint);
  color: var(--warn);
}
.skiwo-project-card__notice--info {
  background: var(--info-tint);
  color: var(--info);
}
.skiwo-project-card__notice--danger {
  background: var(--danger-tint);
  color: var(--danger);
}
.skiwo-project-card__foot {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin-block-start: var(--s-5);
  padding-block-start: 11px;
  border-block-start: 1px solid var(--border-1);
}
.skiwo-project-card__open {
  font-size: var(--fs-body-sm);
  font-weight: var(--fw-title);
  color: var(--brand-ink);
  text-decoration: none;
}
.skiwo-project-card__note {
  font-size: var(--fs-meta);
  color: var(--text-faint2);
}

.skiwo-plan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  padding: var(--s-7);
  box-shadow: var(--sh-card);
}
.skiwo-plan-card--current, .skiwo-plan-card--popular {
  border: 2px solid var(--brand);
  padding-block-start: var(--s-10);
  box-shadow: 0 10px 28px rgba(91, 91, 214, 0.18);
}
.skiwo-plan-card--current .skiwo-plan-card__name {
  color: var(--brand-ink);
}
.skiwo-plan-card__ribbon {
  position: absolute;
  inset-block-start: -11px;
  inset-inline-start: var(--s-7);
  background: var(--brand);
  color: #fff;
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  letter-spacing: 0.02em;
  padding: 3px 10px;
  border-radius: var(--r-pill);
}
.skiwo-plan-card__name {
  font-weight: var(--fw-title);
  font-size: 14px;
  color: var(--text-mid);
}
.skiwo-plan-card__price {
  display: flex;
  align-items: baseline;
  gap: 3px;
  margin: 9px 0 2px;
}
.skiwo-plan-card__amount {
  font-weight: 700;
  font-size: 24px;
  letter-spacing: -0.02em;
  color: var(--text);
}
.skiwo-plan-card__period {
  font-size: var(--fs-sm);
  color: var(--text-faint2);
}
.skiwo-plan-card__note {
  font-size: 11.5px;
  color: var(--text-faint2);
  margin-block-end: var(--s-6);
}
.skiwo-plan-card__features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  font-size: var(--fs-meta);
  color: var(--text-muted);
}
.skiwo-plan-card__feature {
  display: flex;
  align-items: flex-start;
  gap: 7px;
}
.skiwo-plan-card__check {
  flex: 0 0 14px;
  margin-block-start: 1px;
  color: var(--icon-faint);
}
.skiwo-plan-card--current .skiwo-plan-card__check {
  color: var(--brand);
}
.skiwo-plan-card__cta {
  margin-block-start: var(--s-7);
}
.skiwo-plan-card__cta .skiwo-btn, .skiwo-plan-card__cta form, .skiwo-plan-card__cta form .skiwo-btn {
  width: 100%;
}

:root {
  --jbutton-color: #298BA8;
  --jactive-color: #007aff;
  --jsafe-area-top: env(safe-area-inset-top);
  --jsafe-area-bottom: env(safe-area-inset-bottom);
}

[data-visible=false], .row[data-visible=false] {
  display: none;
}

div[data-before]:before {
  content: attr(data-before);
}

.unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jreadonly {
  pointer-events: none;
}

.jdragging {
  opacity: 0.2;
  filter: alpha(opacity=20);
}

.jupload.input {
  position: relative;
  box-sizing: border-box;
  background-size: initial;
  height: 33px;
  min-height: initial;
  padding: 6px;
  padding-right: 30px;
}

.jupload.input:before {
  content: "save";
  font-size: 18px;
  font-family: "Material Icons";
  color: #000;
  position: absolute;
  right: 5px;
}

.jupload:empty:before {
  z-index: 0;
}

.jupload img {
  width: 100%;
}

.jupload.input img {
  width: initial;
  max-width: 100%;
  height: 100%;
}

.jupload[data-multiple] {
  padding: 10px;
}

.jupload[data-multiple] img {
  height: 70px;
  width: 100px;
  object-fit: cover;
  margin-right: 5px;
  margin-bottom: 5px;
}

.jupload {
  position: relative;
  border: 1px dotted #eee;
  cursor: pointer;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  min-height: 180px;
}

.jupload:not(.input):empty:before {
  content: "\e2c3";
  font-family: "Material Icons";
  font-size: 90px;
  color: #eee;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
}

.jupload-item {
  padding-right: 22px;
  border-radius: 1px;
  display: inline-block;
  position: relative;
}

.jphoto {
  position: relative;
  border: 1px dotted #eee;
  cursor: pointer;
  box-sizing: border-box;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.jphoto:empty:before {
  content: "\e2c3";
  font-family: "Material Icons";
  font-size: 90px;
  color: #eee;
  width: 100%;
  height: 100%;
  text-align: center;
}

.jremove {
  opacity: 0.2;
  filter: alpha(opacity=20);
}

.round img {
  border-radius: 1000px;
}

.jtooltip {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 5;
  font-family: initial;
  font-size: 12px;
  color: #000;
  background-color: #fff;
  border: 1px solid black;
  padding: 8px;
  margin: 10px;
  display: block;
  animation: jfadeIn 0.5s;
  pointer-events: none;
}

.jtooltip:empty {
  display: none;
}

@keyframes jfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.jpanel {
  position: absolute;
  box-sizing: border-box;
  z-index: 10;
}

.jpanel:focus {
  outline: 2px solid black;
  outline-offset: -1px;
}

.jpanel-action {
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: white;
  border: 1px solid black;
  box-sizing: border-box;
  pointer-events: auto;
  z-index: 1000;
}

.jpanel-action[data-position=n-resize] {
  top: -4px;
  left: calc(50% - 4px);
}

.jpanel-action[data-position=ne-resize] {
  top: -4px;
  left: calc(100% - 4px);
}

.jpanel-action[data-position=e-resize] {
  top: calc(50% - 4px);
  left: calc(100% - 4px);
}

.jpanel-action[data-position=se-resize] {
  top: calc(100% - 4px);
  left: calc(100% - 4px);
}

.jpanel-action[data-position=s-resize] {
  top: calc(100% - 4px);
  left: calc(50% - 4px);
}

.jpanel-action[data-position=sw-resize] {
  top: calc(100% - 4px);
  left: -4px;
}

.jpanel-action[data-position=w-resize] {
  top: calc(50% - 4px);
  left: -4px;
}

.jpanel-action[data-position=nw-resize] {
  top: -4px;
  left: -4px;
}

.jpanel-action[data-position=nw-resize] {
  top: -4px;
  left: -4px;
}

.jpanel-action[data-action=rotate] {
  top: -50px;
  left: calc(50% - 12px);
  width: 24px;
  height: 24px;
  border: 0;
  cursor: move;
  background-color: transparent;
}

.jpanel-action[data-action=rotate]:before {
  content: "refresh";
  font-family: "Material Icons";
  font-size: 24px;
}

.jpanel-action[data-action=rotate]:after {
  position: absolute;
  content: "";
  bottom: -22px;
  left: 50%;
  width: 1px;
  height: 28px;
  background-color: black;
}

/** Loading */
.jloading {
  position: fixed;
  z-index: 10001;
  width: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
}

.jloading::after {
  content: "";
  display: block;
  margin: 0 auto;
  margin-top: 50vh;
  width: 40px;
  height: 40px;
  border-style: solid;
  border-color: white;
  border-top-color: transparent;
  border-width: 4px;
  border-radius: 50%;
  -webkit-animation: jspin 0.8s linear infinite;
  animation: jspin 0.8s linear infinite;
}

.jloading.jspin {
  background-color: transparent;
}

.jloading.jspin::after {
  margin: 0 auto;
  margin-top: 80px;
  border-color: #aaa;
  border-top-color: transparent;
}

/** Animations **/
.jfade-in {
  animation: jfade-in 2s forwards;
}

.jfade-out {
  animation: jfade-out 1s forwards;
}

.jslide-left-in {
  position: relative;
  animation: jslide-left-in 0.4s forwards;
}

.jslide-left-out {
  position: relative;
  animation: jslide-left-out 0.4s forwards;
}

.jslide-right-in {
  position: relative;
  animation: jslide-right-in 0.4s forwards;
}

.jslide-right-out {
  position: relative;
  animation: jslide-right-out 0.4s forwards;
}

.jslide-top-in {
  position: relative;
  animation: jslide-top-in 0.4s forwards;
}

.jslide-top-out {
  position: relative;
  animation: jslide-top-out 0.2s forwards;
}

.jslide-bottom-in {
  position: relative;
  animation: jslide-bottom-in 0.4s forwards;
}

.jslide-bottom-out {
  position: relative;
  animation: jslide-bottom-out 0.1s forwards;
}

.jslide-left-in > div {
  -webkit-transform: translateZ(0px);
  -webkit-transform: translate3d(0, 0, 0);
}

.jslide-left-out > div {
  -webkit-transform: translateZ(0px);
  -webkit-transform: translate3d(0, 0, 0);
}

.jslide-right-in > div {
  -webkit-transform: translateZ(0px);
  -webkit-transform: translate3d(0, 0, 0);
}

.jslide-right-out > div {
  -webkit-transform: translateZ(0px);
  -webkit-transform: translate3d(0, 0, 0);
}

.jspin {
  animation: jspin 2s infinite linear;
}

/** Fadein and Fadeout **/
@keyframes jfade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 100;
  }
}
@-webkit-keyframes jfade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 100;
  }
}
@keyframes jfade-out {
  0% {
    opacity: 100;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes jfade-out {
  0% {
    opacity: 100;
  }
  100% {
    opacity: 0;
  }
}
/** Keyframes Left to Right **/
@keyframes jslide-left-in {
  0% {
    left: -100%;
  }
  100% {
    left: 0%;
  }
}
@-webkit-keyframes jslide-left-in {
  0% {
    left: -100%;
  }
  100% {
    left: 0%;
  }
}
@keyframes jslide-left-out {
  0% {
    left: 0%;
  }
  100% {
    left: -100%;
  }
}
@-webkit-keyframes jslide-left-out {
  0% {
    left: 0%;
  }
  100% {
    left: -100%;
  }
}
/** Keyframes Right to Left **/
@keyframes jslide-right-in {
  0% {
    left: 100%;
  }
  100% {
    left: 0%;
  }
}
@-webkit-keyframes jslide-right-in {
  0% {
    left: 100%;
  }
  100% {
    left: 0%;
  }
}
@keyframes jslide-right-out {
  0% {
    left: 0%;
  }
  100% {
    left: 100%;
  }
}
@-webkit-keyframes jslide-right-out {
  0% {
    left: 0%;
  }
  100% {
    left: 100%;
  }
}
/** Keyframes Top to Bottom **/
@keyframes jslide-top-in {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}
@-webkit-keyframes jslide-top-in {
  0% {
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0%);
  }
}
@keyframes jslide-top-out {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(-100%);
  }
}
@-webkit-keyframes jslide-top-out {
  0% {
    -webkit-transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(-100%);
  }
}
/** Keyframes Bottom to Top **/
@keyframes jslide-bottom-in {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0%);
  }
}
@-webkit-keyframes jslide-bottom-in {
  0% {
    transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0%);
  }
}
@keyframes jslide-bottom-out {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(100%);
  }
}
@-webkit-keyframes jslide-bottom-out {
  0% {
    -webkit-transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(100%);
  }
}
@-webkit-keyframes jspin {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
  }
}
@keyframes jspin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
.jcalendar {
  position: absolute;
  z-index: 9000;
  display: none;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  min-width: 280px;
}

.jcalendar.jcalendar-focus {
  display: block;
}

.jcalendar .jcalendar-backdrop {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 9000;
  min-width: 100%;
  min-height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  border: 0px;
  padding: 0px;
  display: none;
}

.jcalendar .jcalendar-container {
  position: relative;
  box-sizing: border-box;
}

.jcalendar .jcalendar-content {
  position: absolute;
  z-index: 9001;
  -webkit-box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.39);
  -moz-box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.39);
  box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.39);
  background-color: #fff;
}

.jcalendar-header {
  text-align: center;
}

.jcalendar-header span {
  margin-right: 4px;
  font-size: 1.1em;
  font-weight: bold;
}

.jcalendar-prev {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z%27 fill=%27%23000%27 /%3E%3Cpath fill=%27none%27 d=%27M0 0h24v24H0V0z%27/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

.jcalendar-next {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z%27 fill=%27%23000%27 /%3E%3Cpath fill=%27none%27 d=%27M0 0h24v24H0V0z%27/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

.jcalendar-weekday {
  font-weight: 600;
  background-color: #fcfcfc;
  padding: 14px;
}

.jcalendar-table {
  padding: 10px;
}

.jcalendar-table > table {
  width: 100%;
  background-color: #fff;
}

.jcalendar-table > table > thead {
  cursor: pointer;
}

.jcalendar-table thead td {
  padding: 10px;
  height: 40px;
}

.jcalendar-table > table > tbody > tr {
  height: 34px;
}

.jcalendar-table > table > tbody td {
  box-sizing: border-box;
  cursor: pointer;
  padding: 9px;
  font-size: 0.9em;
}

.jcalendar-table tfoot td {
  padding: 10px;
}

.jcalendar-months td, .jcalendar-years td {
  height: 24px;
}

.jcalendar-input {
  padding-right: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 24 24%27 fill=%27gray%27%3E%3Cpath d=%27M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z%27/%3E%3Cpath fill=%27none%27 d=%27M0 0h24v24H0z%27/%3E%3C/svg%3E");
  background-position: top 50% right 5px;
  background-repeat: no-repeat;
  box-sizing: border-box;
}

.jcalendar-done {
  -webkit-box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.39);
  -moz-box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.39);
  box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.39);
  background-color: #fff;
}

.jcalendar-update {
  border: 1px solid #ccc;
  background-color: #fff;
  border-radius: 4px;
  padding: 5px;
  width: 100%;
}

.jcalendar-container select {
  width: 55px;
  display: inline-block;
  border: 0px;
  padding: 4px;
  text-align: center;
  font-size: 1.1em;
  user-select: none;
  margin-right: 10px;
}

.jcalendar-container select:first-child {
  margin-right: 2px;
}

.jcalendar-selected {
  background-color: #eee;
}

.jcalendar-reset, .jcalendar-confirm {
  text-transform: uppercase;
  cursor: pointer;
  color: var(--jactive-color);
}

.jcalendar-controls {
  padding: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
}

.jcalendar-controls div {
  font-weight: bold;
}

.jcalendar-fullsize {
  position: fixed;
  width: 100%;
  top: 0px;
  left: 0px;
}

.jcalendar-fullsize .jcalendar-content {
  position: fixed;
  width: 100%;
  left: 0px;
  bottom: 0px;
}

.jcalendar-focus.jcalendar-fullsize .jcalendar-backdrop {
  display: block;
}

.jcalendar-sunday {
  color: red;
}

.jcalendar-disabled {
  color: #ccc;
}

.jcalendar-time {
  display: flex;
}

.jcalendar_warning {
  color: red;
}

.jcalendar-hide-controls .jcalendar-controls {
  display: none;
}

.jcolor {
  display: none;
  outline: none;
  position: absolute;
}

.jcolor-input {
  padding-right: 24px !important;
  background: url("data:image/svg+xml,%0A%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27black%27 width=%2718px%27 height=%2718px%27%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3Cpath d=%27M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9c.83 0 1.5-.67 1.5-1.5 0-.39-.15-.74-.39-1.01-.23-.26-.38-.61-.38-.99 0-.83.67-1.5 1.5-1.5H16c2.76 0 5-2.24 5-5 0-4.42-4.03-8-9-8zm-5.5 9c-.83 0-1.5-.67-1.5-1.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12zm3-4C8.67 8 8 7.33 8 6.5S8.67 5 9.5 5s1.5.67 1.5 1.5S10.33 8 9.5 8zm5 0c-.83 0-1.5-.67-1.5-1.5S13.67 5 14.5 5s1.5.67 1.5 1.5S15.33 8 14.5 8zm3 4c-.83 0-1.5-.67-1.5-1.5S16.67 9 17.5 9s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z%27/%3E%3C/svg%3E") top 50% right 4px no-repeat, content-box;
  box-sizing: border-box;
}

.jcolor-content {
  position: absolute;
  z-index: 9000;
  user-select: none;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  letter-spacing: 0.2px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
  background-color: #fff;
  box-sizing: border-box;
  min-width: 260px;
}

.jmodal .jcolor-content {
  position: fixed;
}

.jcolor-controls {
  display: flex;
  padding: 10px;
  border-bottom: 1px solid #eee;
  margin-bottom: 5px;
}

.jcolor-controls div {
  flex: 1;
  font-size: 1em;
  color: var(--jactive-color);
  text-transform: uppercase;
  font-weight: bold;
  box-sizing: border-box;
}

.jcolor-content table {
  border-collapse: collapse;
  box-sizing: border-box;
}

.jcolor-focus {
  display: block;
}

.jcolor table {
  width: 100%;
  height: 100%;
  min-height: 160px;
}

.jcolor td {
  padding: 7px;
}

.jcolor-selected {
  background-repeat: no-repeat;
  background-size: 16px;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3Cpath d=%27M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z%27 fill=%27white%27/%3E%3C/svg%3E");
}

.jcolor-fullscreen {
  position: fixed;
  left: 0px;
  bottom: 0px;
  width: 100%;
  max-height: 290px;
  border-radius: 0px;
  box-sizing: border-box;
}

.jcolor-fullscreen .jcolor-controls {
  padding: 15px;
  -webkit-box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.39);
  -moz-box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.39);
  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.39);
}

.jcolor-reset {
  text-align: left;
}

.jcolor-close {
  text-align: right;
}

.jcolor-backdrop {
  position: fixed;
  top: 0px;
  left: 0px;
  min-width: 100%;
  min-height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  border: 0px;
  padding: 0px;
  z-index: 8000;
  display: none;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently
   supported by Chrome and Opera */
}

.jcolor-content .jtabs-content {
  padding: 7px;
}

.jcolor-grid tr:first-child > td:first-child {
  border-top-left-radius: 3px;
}

.jcolor-grid tr:first-child > td:last-child {
  border-top-right-radius: 3px;
}

.jcolor-grid tr:last-child > td:first-child {
  border-bottom-left-radius: 3px;
}

.jcolor-grid tr:last-child > td:last-child {
  border-bottom-right-radius: 3px;
}

.jcolor-hsl {
  box-sizing: border-box;
}

.jcolor-hsl > div {
  height: 100%;
  position: relative;
}

.jcolor-hsl canvas {
  display: block;
  border-radius: 4px;
  -webkit-user-drag: none;
}

.jcolor-point {
  height: 5px;
  width: 5px;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

.jcolor-sliders {
  padding: 10px 20px 10px 10px;
}

.jcolor-sliders input {
  -webkit-appearance: none;
  height: 12px;
  width: 80%;
  background: #d3d3d3;
  opacity: 1;
  border-radius: 30px;
  outline: none;
}

.jcolor-sliders-input-subcontainer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.jcolor-sliders-input-container {
  margin-top: 4px;
  line-height: 0.8em;
  text-align: left;
}

.jcolor-sliders-input-container > label {
  font-size: 10px;
  text-transform: uppercase;
  color: #bbbbbd;
}

.jcolor-sliders-input-subcontainer > input {
  border: 0px;
  padding: 1px;
}

.jcolor-sliders-input-container input::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 12px;
  width: 12px;
  border-radius: 50%;
  background: #000;
  border: 2px solid #fff;
  cursor: pointer;
}

.jcolor-sliders-input-container input::-moz-range-thumb {
  -webkit-appearance: none;
  height: 12px;
  width: 12px;
  border-radius: 50%;
  background: #000;
  border: 2px solid #fff;
  cursor: pointer;
}

.jcolor-sliders-final-color {
  padding: 6px;
  user-select: all;
  margin-top: 10px;
  text-align: center;
}

.jcolor-sliders-final-color > div:nth-child(2) {
  width: 71px;
  text-transform: uppercase;
}

.jcolor .jtabs .jtabs-headers-container .jtabs-controls {
  display: none !important;
}

.jcolor .jtabs .jtabs-headers-container {
  display: flex !important;
  justify-content: center;
  padding: 4px;
}

.jcolor .jtabs-headers > div:not(.jtabs-border) {
  padding: 2px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  font-size: 0.8em;
}

.jcontextmenu {
  position: fixed;
  z-index: 10000;
  background: #fff;
  color: #555;
  font-size: 11px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-box-shadow: 2px 2px 2px 0px rgb(143, 144, 145);
  -moz-box-shadow: 2px 2px 2px 0px rgb(143, 144, 145);
  box-shadow: 2px 2px 2px 0px rgb(143, 144, 145);
  border: 1px solid #C6C6C6;
  padding: 0px;
  padding-top: 4px;
  padding-bottom: 4px;
  margin: 0px;
  outline: none;
  display: none;
}

.jcontextmenu.jcontextmenu-focus {
  display: inline-block;
}

.jcontextmenu > div {
  box-sizing: border-box;
  display: flex;
  padding: 8px 8px 8px 32px;
  width: 250px;
  position: relative;
  cursor: default;
  font-size: 11px;
  font-family: sans-serif;
  text-align: left;
  -webkit-box-align: center;
  align-items: center;
}

.jcontextmenu > div::before {
  content: attr(data-icon);
  font-family: "Material Icons" !important;
  font-size: 15px;
  position: absolute;
  left: 9px;
  line-height: 24px;
}

.jcontextmenu.symbols > div::before {
  font-family: "Material Symbols Outlined" !important;
}

.jcontextmenu > div.header {
  display: none;
}

.jcontextmenu > div a {
  color: #555;
  text-decoration: none;
  flex: 1;
  cursor: pointer;
}

.jcontextmenu > div span {
  margin-right: 10px;
  font-size: 0.9em;
}

.jcontextmenu .jcontextmenu-disabled a {
  color: #ccc;
}

.jcontextmenu .jcontextmenu-disabled::before {
  color: #ccc;
}

.jcontextmenu > div:hover {
  background: #ebebeb;
}

.jcontextmenu hr {
  border: 1px solid #e9e9e9;
  border-bottom: 0;
  margin-top: 5px;
  margin-bottom: 5px;
}

.jcontextmenu > hr:hover {
  background: transparent;
}

.jcontextmenu .jcontextmenu {
  top: 4px;
  left: 99%;
  opacity: 0;
  position: absolute;
}

.jcontextmenu > div:hover > .jcontextmenu {
  display: block;
  opacity: 1;
  -webkit-transform: translate(0, 0) scale(1);
  transform: translate(0, 0) scale(1);
  pointer-events: auto;
}

@media only screen and (max-width: 420px) {
  .jcontextmenu {
    top: initial !important;
    left: 0px !important;
    bottom: 0px !important;
    width: 100vw;
    height: 260px;
    overflow: scroll;
    animation: jslide-bottom-in 0.4s forwards;
    padding-top: 0px;
  }
  .jcontextmenu div {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #ccc;
    padding: 15px;
  }
  .jcontextmenu > div.header {
    background-color: lightgray;
    padding: 5px;
    top: 0px;
    position: sticky;
    z-index: 2;
  }
  .jcontextmenu > div.header > a.title {
    text-align: left;
  }
  .jcontextmenu > div.header > a.close {
    text-align: right;
  }
  .jcontextmenu a {
    font-size: 1.4em;
    text-transform: uppercase;
  }
  .jcontextmenu span {
    display: none;
  }
  .jcontextmenu span {
    display: none;
  }
  .jcontextmenu hr {
    display: none;
  }
}
.jdropdown {
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  box-sizing: border-box;
  background: #fff;
  -webkit-tap-highlight-color: transparent;
  display: inline-block;
}

.jdropdown-backdrop {
  position: fixed;
  top: 0px;
  left: 0px;
  min-width: 100%;
  min-height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  border: 0px;
  padding: 0px;
  z-index: 8000;
  display: none;
}

.jdropdown[disabled] {
  opacity: 0.5;
  pointer-events: none;
}

.jdropdown-focus {
  position: relative;
}

.jdropdown-focus .jdropdown-container {
  transform: translate3d(0, 0, 0);
}

.jdropdown-default.jdropdown-focus .jdropdown-header {
  outline: auto 5px -webkit-focus-ring-color;
}

.jdropdown-default.jdropdown-focus .jdropdown-header.jdropdown-add {
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27gray%27 width=%2724px%27 height=%2724px%27%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3Cpath d=%27M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z%27/%3E%3C/svg%3E");
}

.jdropdown-container-header {
  padding: 0px;
  margin: 0px;
  position: relative;
  box-sizing: border-box;
}

.jdropdown-header {
  width: 100%;
  appearance: none;
  background-repeat: no-repeat;
  background-position: top 50% right 5px;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cpath fill=%27none%27 d=%27M0 0h24v24H0V0z%27/%3E%3Cpath d=%27M7 10l5 5 5-5H7z%27 fill=%27gray%27/%3E%3C/svg%3E");
  text-overflow: ellipsis;
  cursor: pointer;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 30px !important;
}

.jdropdown-insert-button {
  font-size: 1.4em;
  text-transform: uppercase;
  position: absolute;
  right: 30px;
  top: 4px;
  display: none;
}

.jdropdown-container {
  min-width: inherit;
  transform: translate3d(-10000px, 0, 0);
  position: absolute;
  z-index: 9001;
}

.jdropdown-close {
  display: none;
  font-size: 1em;
  color: var(--jactive-color);
  text-transform: uppercase;
  text-align: right;
  padding: 12px;
  font-weight: bold;
}

.jdropdown-content {
  min-width: inherit;
  margin: 0px;
  box-sizing: border-box;
}

.jdropdown-item {
  white-space: nowrap;
  text-align: left;
  text-overflow: ellipsis;
  overflow-x: hidden;
  color: #000;
  display: flex;
  align-items: center;
}

.jdropdown-description {
  text-overflow: ellipsis;
  overflow: hidden;
  line-height: 1.5em;
}

.jdropdown-image {
  margin-right: 10px;
  width: 32px;
  height: 32px;
  border-radius: 20px;
}

.jdropdown-image-small {
  width: 24px;
  height: 24px;
}

.jdropdown-icon {
  margin-right: 10px;
  font-size: 30px;
  margin-left: -5px;
}

.jdropdown-icon-small {
  font-size: 24px;
  margin-left: 0px;
}

.jdropdown-title {
  font-size: 0.7em;
  text-overflow: ellipsis;
  overflow-x: hidden;
  display: block;
}

/** Default visual **/
.jdropdown-default .jdropdown-header {
  border: 1px solid #ccc;
  padding: 5px;
  padding-left: 10px;
  padding-right: 16px;
}

.jdropdown-default .jdropdown-container {
  background-color: #fff;
}

.jdropdown-default.jdropdown-focus.jdropdown-insert .jdropdown-header {
  padding-right: 50px;
}

.jdropdown-default.jdropdown-focus.jdropdown-insert .jdropdown-insert-button {
  display: block;
}

.jdropdown-default .jdropdown-content {
  min-width: inherit;
  border: 1px solid #8fb1e3;
  margin: 0px;
  background-color: #fff;
  box-sizing: border-box;
  min-height: 10px;
  max-height: 215px;
  overflow-y: auto;
}

.jdropdown-default .jdropdown-item {
  padding: 4px;
  padding-left: 8px;
  padding-right: 40px;
}

.jdropdown-default .jdropdown-item:hover {
  background-color: #1f93ff;
  color: #fff;
}

.jdropdown-default .jdropdown-cursor {
  background-color: #eee;
}

.jdropdown-default .jdropdown-selected {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPjxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiIGZpbGw9IndoaXRlIiAvPjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-position: top 50% right 5px;
  background-color: #1f93ff;
  color: #fff;
}

.jdropdown-default .jdropdown-group {
  margin-top: 5px;
}

.jdropdown-default .jdropdown-group .jdropdown-item {
  padding-left: 16px;
}

.jdropdown-default .jdropdown-group-name {
  padding-left: 8px;
  font-weight: bold;
  text-align: left;
}

.jdropdown-default .jdropdown-reset_ {
  content: "x";
  position: absolute;
  top: 0;
  right: 0;
  margin: 5px;
  margin-right: 10px;
  font-size: 12px;
  width: 12px;
  cursor: pointer;
  text-shadow: 0px 0px 5px #fff;
  display: none;
  line-height: 1.8em;
}

.jdropdown-default.jdropdown-focus .jdropdown-reset_ {
  display: block;
}

/** Default render for mobile **/
.jdropdown-picker.jdropdown-focus .jdropdown-backdrop {
  display: block;
}

.jdropdown-picker .jdropdown-header {
  outline: none;
}

.jdropdown-picker .jdropdown-container {
  position: fixed;
  bottom: 0px;
  left: 0px;
  border-bottom: 1px solid #e6e6e8;
  width: 100%;
  background-color: #fff;
  box-sizing: border-box;
}

.jdropdown-picker .jdropdown-close {
  -webkit-box-shadow: 0px -1px 5px 0px rgba(0, 0, 0, 0.39);
  -moz-box-shadow: 0px -1px 5px 0px rgba(0, 0, 0, 0.39);
  box-shadow: 0px -1px 5px 0px rgba(0, 0, 0, 0.39);
  background-color: #fff;
  display: block;
}

.jdropdown-picker .jdropdown-content {
  overflow-y: scroll;
  height: 280px;
  background-color: #fafafa;
  border-top: 1px solid #e6e6e8;
}

.jdropdown-picker .jdropdown-group-name {
  font-size: 1em;
  text-transform: uppercase;
  padding-top: 10px;
  padding-bottom: 10px;
  display: block;
  border-bottom: 1px solid #e6e6e8;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
  font-weight: bold;
}

.jdropdown-picker .jdropdown-item {
  font-size: 1em;
  text-transform: uppercase;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e6e6e8;
  padding-left: 20px;
  padding-right: 20px;
}

.jdropdown-picker .jdropdown-selected {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPjxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiIGZpbGw9IndoaXRlIiAvPjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-position: top 50% right 15px;
  background-color: #1f93ff;
  color: #fff;
}

.jdropdown-picker .jdropdown-cursor {
  background-color: #1f93ff;
  color: #fff;
}

/** Default render for mobile searchbar **/
.jdropdown-searchbar.jdropdown-focus {
  position: fixed;
  top: 0px !important;
  left: 0px !important;
  width: 100% !important;
  height: 100% !important;
  background-color: #fafafa;
  padding: 0px;
  z-index: 9001;
  overflow-y: scroll;
  will-change: scroll-position;
  -webkit-overflow-scrolling: touch;
}

.jdropdown-searchbar.jdropdown-focus .jdropdown-container-header {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 9002;
  padding: 6px;
  background-color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  width: 100%;
  height: 40px;
}

.jdropdown-searchbar.jdropdown-focus .jdropdown-header {
  border: 0px !important;
  background-position-x: 0% !important;
  background-position-y: 40% !important;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHoiIGZpbGw9IiNlNmU2ZTgiLz48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PC9zdmc+);
  padding-left: 30px !important;
  padding-right: 60px !important;
}

.jdropdown-searchbar.jdropdown-focus .jdropdown-close {
  display: block;
}

.jdropdown-searchbar .jdropdown-header {
  outline: none;
}

.jdropdown-searchbar .jdropdown-container {
  margin-top: 40px;
  width: 100%;
}

.jdropdown-searchbar .jdropdown-close {
  position: fixed;
  top: 0px;
  right: 0px;
}

.jdropdown-searchbar .jdropdown-content {
  margin-top: 10px;
}

.jdropdown-searchbar .jdropdown-group {
  margin-top: 10px;
  margin-bottom: 15px;
  background-color: #fff;
}

.jdropdown-searchbar .jdropdown-group-name {
  border-top: 1px solid #e6e6e8;
  border-bottom: 1px solid #e6e6e8;
  padding: 10px;
  padding-left: 12px;
  font-weight: bold;
}

.jdropdown-searchbar .jdropdown-group-arrow {
  float: right;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
}

.jdropdown-searchbar .jdropdown-group-arrow-down {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNy40MSA4LjU5TDEyIDEzLjE3bDQuNTktNC41OEwxOCAxMGwtNiA2LTYtNiAxLjQxLTEuNDF6Ii8+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyNHYyNEgwVjB6Ii8+PC9zdmc+);
}

.jdropdown-searchbar .jdropdown-group-arrow-up {
  background-image: url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTcuNDEgMTUuNDFMMTIgMTAuODNsNC41OSA0LjU4TDE4IDE0bC02LTYtNiA2eiIvPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz48L3N2Zz4=);
}

.jdropdown-searchbar .jdropdown-item {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e6e6e8;
  padding-left: 15px;
  padding-right: 40px;
  background-color: #fff;
  font-size: 0.9em;
}

.jdropdown-searchbar .jdropdown-description {
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: calc(100% - 20px);
}

.jdropdown-searchbar .jdropdown-content > .jdropdown-item:first-child {
  border-top: 1px solid #e6e6e8;
}

.jdropdown-searchbar .jdropdown-selected {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTkgMTYuMTdMNC44MyAxMmwtMS40MiAxLjQxTDkgMTkgMjEgN2wtMS40MS0xLjQxeiIgZmlsbD0iIzAwN2FmZiIvPjwvc3ZnPg==);
  background-repeat: no-repeat;
  background-position: top 50% right 15px;
}

/** List render **/
.jdropdown-list .jdropdown-container {
  display: block;
}

.jdropdown-list .jdropdown-header {
  display: none;
}

.jdropdown-list .jdropdown-group {
  background-color: #fff;
}

.jdropdown-list .jdropdown-group-name {
  border-bottom: 1px solid #e6e6e8;
  padding-top: 10px;
  padding-bottom: 10px;
  font-weight: bold;
}

.jdropdown-list .jdropdown-item {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e6e6e8;
  padding-left: 10px;
  padding-right: 40px;
  background-color: #fff;
}

.jdropdown-list .jdropdown-selected {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTkgMTYuMTdMNC44MyAxMmwtMS40MiAxLjQxTDkgMTkgMjEgN2wtMS40MS0xLjQxeiIgZmlsbD0iIzAwN2FmZiIvPjwvc3ZnPg==);
  background-repeat: no-repeat;
  background-position: top 50% right 10px;
}

@media only screen and (max-width: 800px) {
  .jdropdown-list {
    width: 100% !important;
    border: 0px;
    padding: 0px;
  }
  .jdropdown-list .jdropdown-container {
    min-width: 100%;
  }
  .jdropdown-searchbar.jdropdown-focus .jdropdown-description {
    text-transform: uppercase;
  }
}
.app .jdropdown-item {
  text-transform: uppercase;
}

.jdropdown-create-container {
  margin: 10px;
  border: 1px solid #ccc;
  border-radius: 2px;
  padding: 6px;
}

.jdropdown-color {
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 12px;
  width: 12px;
  height: 12px;
  margin-right: 6px;
}

.jdropdown-item[data-disabled] {
  opacity: 0.5;
  pointer-events: none;
}

.jeditor-container {
  border: 1px solid #ccc;
  box-sizing: border-box;
}

.jeditor-container.with-margin {
  background-color: #f2f2f2;
  max-width: 1200px;
}

.jeditor-dragging {
  border: 1px dashed #000;
}

.jeditor {
  outline: none;
  word-break: break-word;
}

.jeditor-container.with-margin .jeditor {
  background-color: #fff;
  margin: 80px;
  min-height: 800px;
  padding: 80px;
  max-width: 800px;
}

.jeditor[data-placeholder]:empty:before {
  content: attr(data-placeholder);
  color: lightgray;
}

/** Snippet **/
.jsnippet {
  margin-top: 15px;
  cursor: pointer;
  border: 1px solid #ccc;
  position: relative;
}

.jsnippet:focus {
  outline: none;
}

.jsnippet img {
  width: 100%;
}

.jsnippet .jsnippet-title {
  padding: 15px;
  font-size: 1.4em;
}

.jsnippet .jsnippet-description {
  padding-left: 15px;
  padding-right: 15px;
  font-size: 1em;
}

.jsnippet .jsnippet-host {
  padding: 15px;
  text-transform: uppercase;
  font-size: 0.8em;
  color: #777;
  text-align: right;
}

.jsnippet .jsnippet-url {
  display: none;
}

.jeditor .jsnippet:after {
  content: "close";
  font-family: "Material icons";
  font-size: 24px;
  width: 24px;
  height: 24px;
  line-height: 24px;
  cursor: pointer;
  text-shadow: 0px 0px 2px #fff;
  position: absolute;
  top: 12px;
  right: 12px;
}

.jsnippet * {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
}

.jeditor img {
  border: 2px solid transparent;
  box-sizing: border-box;
}

.jeditor img.resizing {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
}

.jeditor img:focus {
  border: 2px solid #0096FD;
  outline: #0096FD;
}

.jeditor .pdf {
  background-image: url("data:image/svg+xml,%3Csvg version=%271.1%27 id=%27Layer_1%27 xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 x=%270px%27 y=%270px%27 viewBox=%270 0 512 512%27 style=%27enable-background:new 0 0 512 512;%27 xml:space=%27preserve%27%3E%3Cpath style=%27fill:%23C30B15;%27 d=%27M511.344,274.266C511.77,268.231,512,262.143,512,256C512,114.615,397.385,0,256,0S0,114.615,0,256 c0,117.769,79.53,216.949,187.809,246.801L511.344,274.266z%27/%3E%3Cpath style=%27fill:%2385080E;%27 d=%27M511.344,274.266L314.991,77.913L119.096,434.087l68.714,68.714C209.522,508.787,232.385,512,256,512 C391.243,512,501.976,407.125,511.344,274.266z%27/%3E%3Cpolygon style=%27fill:%23FFFFFF;%27 points=%27278.328,333.913 255.711,77.913 119.096,77.913 119.096,311.652 %27/%3E%3Cpolygon style=%27fill:%23E8E6E6;%27 points=%27392.904,311.652 392.904,155.826 337.252,133.565 314.991,77.913 255.711,77.913 256.067,333.913 %27/%3E%3Cpolygon style=%27fill:%23FFFFFF;%27 points=%27314.991,155.826 314.991,77.913 392.904,155.826 %27/%3E%3Crect x=%27119.096%27 y=%27311.652%27 style=%27fill:%23FC0F1A;%27 width=%27273.809%27 height=%27122.435%27/%3E%3Cg%3E%3Cpath style=%27fill:%23FFFFFF;%27 d=%27M204.871,346.387c13.547,0,21.341,6.659,21.341,18.465c0,12.412-7.795,19.601-21.341,19.601h-9.611 v14.909h-13.471v-52.975L204.871,346.387L204.871,346.387z M195.26,373.858h8.93c5.904,0,9.308-2.952,9.308-8.552 c0-5.525-3.406-8.324-9.308-8.324h-8.93V373.858z%27/%3E%3Cpath style=%27fill:%23FFFFFF;%27 d=%27M257.928,346.387c16.649,0,28.152,10.746,28.152,26.487c0,15.666-11.655,26.488-28.683,26.488 h-22.25v-52.975H257.928z M248.619,388.615h9.611c8.249,0,14.151-6.357,14.151-15.665c0-9.384-6.205-15.817-14.757-15.817h-9.006 V388.615z%27/%3E%3Cpath style=%27fill:%23FFFFFF;%27 d=%27M308.563,356.982v12.26h23.763v10.596h-23.763v19.525h-13.471v-52.975h39.277v10.595h-25.806 V356.982z%27/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: cover;
  width: 60px;
  height: 60px;
}

.jeditor-toolbar {
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  margin: 10px;
}

.toolbar-on-top .jeditor-toolbar {
  width: initial;
  margin: 0px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
  display: block;
}

.toolbar-on-top .jeditor {
  padding: 15px;
}

.toolbar-on-top .jtoolbar .material-icons {
  font-size: 24px;
  transform: initial;
  margin: 4px;
}

.toolbar-on-top .jtoolbar .jpicker-header {
  font-size: 1em;
  margin-top: 4px;
  margin-bottom: 4px;
}

.jeditor table {
  border-collapse: collapse;
}

.jeditor table td {
  border: 1px solid #bbb;
  height: 2em;
}

.jeditor table td:focus {
  border: 1px solid blue;
}

.jeditor .line-break {
  border-top: 1px dashed #ccc;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.jeditor .line-break:before {
  content: "New page";
  background-color: #fff;
  color: #ccc;
  margin: -1em;
  padding: 6px;
  position: absolute;
}

.jfloating {
  position: fixed;
  bottom: 0px;
  right: 0px;
  margin-right: 5px;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  border: 1px solid #ccc;
  background-color: #fff;
  box-sizing: border-box;
  padding-top: 50px !important;
  z-index: 9002;
  border-radius: 8px;
}

.jfloating.jfloating-big {
  width: 510px !important;
  height: 472px !important;
}

.jfloating.jfloating-small {
  width: 300px !important;
  height: 320px !important;
}

.jfloating.jfloating-large {
  width: 600px !important;
  height: 600px !important;
}

.jfloating:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  content: attr(title);
  padding: 15px;
  box-sizing: border-box;
  font-size: 1.2em;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  background-color: #fff;
  border-radius: 8px 8px 0px 0px;
  background-color: #404040;
  font-size: 0.93rem;
  font-weight: 600;
  color: white;
  letter-spacing: 0.5px;
}

.jfloating:after {
  content: "";
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cpath fill=%27%23FFF%27 d=%27M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z%27/%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3C/svg%3E");
  position: absolute;
  top: 0;
  right: 0;
  margin: 14px;
  font-size: 24px;
  width: 24px;
  height: 24px;
  cursor: pointer;
  text-shadow: 0px 0px 5px #fff;
}

.jfloating_content {
  padding: 20px;
  overflow-y: auto;
  max-height: 100%;
  box-sizing: border-box;
  height: -webkit-fill-available;
}

.jfloating.jfloating-minimized {
  height: 50px !important;
}

.jfloating.jfloating-minimized .jfloating_content {
  display: none;
}

.jmodal {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 60%;
  height: 60%;
  -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
  border: 1px solid #ccc;
  background-color: #fff;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  z-index: 9002;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
}

.jmodal_title {
  padding: 20px;
  height: 70px;
  box-sizing: border-box;
  font-size: 1.4em;
  background-color: #fff;
  border-radius: 8px 8px 0px 0px;
  pointer-events: none;
  display: flex;
  -webkit-align-items: center;
  -webkit-box-align: center;
  align-items: center;
  border-bottom: 1px solid #eee;
}

.jmodal_title > div {
  font-size: 1.4em;
}

.jmodal_title[data-icon]:before {
  content: attr(data-icon);
  font-family: "Material Icons" !important;
  width: 24px;
  height: 24px;
  font-size: 24px;
  margin-right: 10px;
  line-height: 24px;
}

.jmodal_content {
  padding: 20px;
  overflow-y: auto;
  height: 100%;
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: #333 transparent;
}

.jmodal_title:empty {
  display: none;
}

.jmodal_title:empty + .jmodal_content {
  height: 100%;
}

.jmodal_content::-webkit-scrollbar {
  height: 12px;
}

.jmodal_content::-webkit-scrollbar {
  width: 12px;
}

.jmodal_content::-webkit-scrollbar-track {
  border: 1px solid #fff;
  background: #eee;
}

.jmodal_content::-webkit-scrollbar-thumb {
  border: 1px solid #fff;
  background: #888;
}

.jmodal:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z%27/%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3C/svg%3E");
  position: absolute;
  top: 0;
  right: 0;
  margin: 25px;
  font-size: 24px;
  width: 24px;
  height: 24px;
  cursor: pointer;
  text-shadow: 0px 0px 5px #fff;
}

.jmodal_fullscreen {
  width: 100% !important;
  height: 100% !important;
  top: 0px;
  left: 0px;
  transform: none;
  border: 0px;
  border-radius: 0px;
}

.jmodal_backdrop {
  position: fixed;
  top: 0px;
  left: 0px;
  min-width: 100%;
  min-height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  border: 0px;
  padding: 0px;
  z-index: 8000;
  display: none;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently
   supported by Chrome and Opera */
}

.jmodal_content .jcalendar .jcalendar-content,
.jmodal_content .jdropdown-container {
  position: fixed;
}

.jnotification {
  position: fixed;
  z-index: 10000;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  bottom: 0px;
}

.jnotification-container {
  -webkit-box-shadow: 0px 2px 15px -5px rgba(0, 0, 0, 0.7);
  box-shadow: 0px 2px 15px -5px rgba(0, 0, 0, 0.7);
  padding: 12px;
  border-radius: 8px;
  background-color: #000;
  background: rgb(92, 92, 92);
  background: linear-gradient(0deg, rgb(92, 92, 92) 0%, rgb(77, 77, 77) 100%);
  color: #fff;
  width: 320px;
  margin: 30px;
  padding: 20px;
}

.jnotification-close {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2720%27 height=%2720%27 viewBox=%270 0 24 24%27 fill=%27white%27%3E%3Cpath d=%27M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z%27/%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3C/svg%3E");
  font-size: 20px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}

.jnotification-title {
  font-weight: bold;
}

.jnotification-header {
  display: flex;
  padding-bottom: 5px;
}

.jnotification-header:empty {
  display: none;
}

.jnotification-image {
  margin-right: 5px;
}

.jnotification-image:empty {
  display: none;
}

.jnotification-image img {
  width: 24px;
}

.jnotification-name {
  text-transform: uppercase;
  font-size: 0.9em;
  flex: 1;
  letter-spacing: 0.1em;
}

.jnotification-error .jnotification-container {
  background: rgb(182, 38, 6);
  background: linear-gradient(0deg, rgb(170, 41, 13) 0%, rgb(149, 11, 11) 100%);
}

@media (max-width: 800px) {
  .jnotification {
    top: calc(0px + var(--jsafe-area-top));
    width: 100%;
  }
  .jnotification-container {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #eee;
    color: #444;
    margin: 0px;
    width: initial;
  }
  .jnotification-error .jnotification-container {
    background: rgba(255, 255, 255, 0.95);
    color: #790909;
  }
  .jnotification-close {
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2720%27 height=%2720%27 viewBox=%270 0 24 24%27 fill=%27black%27%3E%3Cpath d=%27M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z%27/%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3C/svg%3E");
  }
}
.jnotification-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.jpicker {
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  outline: none;
  position: relative;
  min-height: 26px;
}

.jpicker-header {
  background-repeat: no-repeat;
  background-position: top 50% right 5px;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cpath fill=%27none%27 d=%27M0 0h24v24H0V0z%27/%3E%3Cpath d=%27M7 10l5 5 5-5H7z%27 fill=%27gray%27/%3E%3C/svg%3E");
  text-overflow: ellipsis;
  cursor: pointer;
  box-sizing: border-box;
  text-align: left;
  outline: none;
  line-height: 24px;
  padding: 2px 35px 2px 12px;
  border-radius: 4px;
}

.jpicker-header:hover {
  background-color: #f2f2f2;
}

.jpicker-content {
  position: absolute;
  top: 0;
  display: none;
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  background-color: #fff;
  padding: 4px;
  z-index: 50;
  text-align: left;
  max-height: 250px;
  scrollbar-width: thin;
  scrollbar-color: #333 transparent;
}

.jpicker-content::-webkit-scrollbar {
  width: 8px;
}

.jpicker-content::-webkit-scrollbar-track {
  background: #eee;
}

.jpicker-content::-webkit-scrollbar-thumb {
  background: #888;
}

.jpicker-content > div {
  padding: 6px;
  padding-left: 15px;
  padding-right: 15px;
}

.jpicker-focus > .jpicker-content {
  display: block;
}

.jpicker-content > div:hover {
  background-color: #efefef;
}

.jpicker-content > div:empty {
  opacity: 0;
}

.jpicker-header > i, .jpicker-header > div {
  display: block;
}

.jpicker-focus > .jpicker-content.jpicker-columns {
  display: flex !important;
  justify-content: center;
  flex-wrap: wrap;
}

.jpicker-focus .jpicker-content.jpicker-grid {
  display: inline-grid;
}

.jprogressbar {
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  box-sizing: border-box;
  background: #fff;
  -webkit-tap-highlight-color: transparent;
  display: inline-block;
  box-sizing: border-box;
  cursor: pointer;
  border: 1px solid #ccc;
  position: relative;
}

.jprogressbar::before {
  content: attr(data-value);
  position: absolute;
  margin: 5px;
  margin-left: 10px;
}

.jprogressbar-header::placeholder {
  color: #000;
}

.jprogressbar::focus {
  outline: auto 5px -webkit-focus-ring-color;
}

.jprogressbar > div {
  background-color: #eee;
  background-color: red;
  box-sizing: border-box;
  height: 31px;
}

.jrating {
  display: flex;
}

.jrating > div {
  width: 24px;
  height: 24px;
  line-height: 24px;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z%27 fill=%27gray%27/%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3C/svg%3E");
}

.jrating .jrating-over {
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27black%27%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3Cpath d=%27M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z%27/%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3C/svg%3E");
  opacity: 0.7;
}

.jrating .jrating-selected {
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27red%27%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3Cpath d=%27M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z%27/%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3C/svg%3E");
}

.jsearch {
  position: relative;
  display: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jsearch_container {
  position: absolute;
  box-shadow: 0 1px 2px 0 rgba(60, 64, 67, 0.302), 0 2px 6px 2px rgba(60, 64, 67, 0.149);
  border: none;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  width: 280px;
  padding: 8px 0;
  z-index: 1;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  -webkit-transition: opacity 0.218s;
  transition: opacity 0.218s;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  cursor: pointer;
  margin: 0;
  min-width: 300px;
  outline: none;
  width: auto;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jsearch_container:empty:after {
  content: attr(data-placeholder);
}

.jsearch_container > div {
  color: #333;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  padding: 5px 10px;
  user-select: none;
  -webkit-align-items: center;
  align-items: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jsearch_container > div:hover {
  background-color: #e8eaed;
}

.jsearch_container > div > img {
  width: 32px;
  height: 32px;
  user-select: none;
  border-radius: 16px;
  margin-right: 2px;
}

.jsearch_container > div > div {
  overflow: hidden;
  text-overflow: ellipsis;
  margin-left: 2px;
  max-width: 300px;
  white-space: nowrap;
  user-select: none;
}

.jsearch_container .selected {
  background-color: #e8eaed;
}

.jslider {
  outline: none;
}

.jslider-focus {
  width: 100% !important;
  height: 100% !important;
}

.jslider-focus img {
  display: none;
}

.jslider img {
  width: 100px;
}

.jslider-left::before {
  position: fixed;
  left: 15px;
  top: 50%;
  content: "arrow_back_ios";
  color: #fff;
  width: 30px;
  height: 30px;
  font-family: "Material Icons";
  font-size: 30px;
  /* before it was 0px 0px 0px #000 */
  text-shadow: 0px 0px 6px rgb(56, 56, 56);
  text-align: center;
  cursor: pointer;
}

.jslider-right::after {
  position: fixed;
  right: 15px;
  top: 50%;
  content: "arrow_forward_ios";
  color: #fff;
  width: 30px;
  height: 30px;
  font-family: "Material Icons";
  font-size: 30px;
  /* before it was 0px 0px 0px #000 */
  text-shadow: 0px 0px 6px rgb(56, 56, 56);
  text-align: center;
  cursor: pointer;
}

.jslider-close {
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27white%27%3E%3Cpath d=%27M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z%27/%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3C/svg%3E");
  position: fixed;
  top: 15px;
  right: 15px;
  cursor: pointer;
  z-index: 3000;
  display: block !important;
}

.jslider-counter {
  height: 24px;
  background-color: transparent;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 15px;
  cursor: pointer;
  z-index: 3000;
  display: flex;
  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-align-items: center;
  -webkit-flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.jslider-caption {
  position: fixed;
  max-width: 90vw;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  top: 15px;
  left: 15px;
  z-index: 3000;
  color: #FFF;
  font-size: 1rem;
  display: block !important;
}

.jslider-counter div {
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
  margin: 0px 5px;
  display: block !important;
}

.jslider-counter .jslider-counter-focus {
  background-color: cornflowerblue;
  pointer-events: none;
}

.jslider-focus {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  min-height: 100%;
  max-height: 100%;
  z-index: 2000;
  margin: 0px;
  box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-transition-duration: 0.05s;
  transition-duration: 0.05s;
  display: flex;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
  align-items: center;
}

.jslider-focus img {
  width: 50vw;
  height: auto;
  box-sizing: border-box;
  margin: 0 auto;
  vertical-align: middle;
  display: none;
}

.jslider-focus img.jslider-vertical {
  width: auto;
  /* before it was 50vh */
  height: 80vh;
}

@media only screen and (max-width: 576px) {
  .jslider-focus img.jslider-vertical {
    width: 99vw !important;
    height: auto !important;
  }
  .jslider-focus img {
    width: 100vw !important;
    height: auto !important;
  }
}
.jslider-grid {
  display: -ms-grid;
  display: grid;
  grid-gap: 1px;
  position: relative;
}

.jslider-grid[data-number="2"] {
  -ms-grid-columns: 1fr 50%;
  grid-template-columns: 1fr 50%;
}

.jslider-grid[data-number="3"] {
  -ms-grid-columns: 1fr 33%;
  grid-template-columns: 1fr 33%;
}

.jslider-grid[data-number="4"] {
  -ms-grid-columns: 1fr 25%;
  grid-template-columns: 1fr 25%;
}

.jslider-grid img {
  display: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jslider-grid[data-total]:after {
  content: attr(data-total) "+";
  font-size: 1.5em;
  position: absolute;
  color: #fff;
  right: 15px;
  bottom: 6px;
}

.jslider-grid img:first-child {
  -ms-grid-column: 1;
  -ms-grid-row: 1;
  grid-column: 1;
  grid-row: 1;
  display: block;
}

.jslider-grid[data-number="2"] img:nth-child(2) {
  -ms-grid-column: 2;
  -ms-grid-row: 1;
  grid-column: 2;
  grid-row: 1;
  display: block;
}

.jslider-grid[data-number="3"] img:first-child {
  -ms-grid-column: 1/2;
  -ms-grid-row: 1/4;
  grid-column: 1/2;
  grid-row: 1/4;
}

.jslider-grid[data-number="3"] img:nth-child(2) {
  -ms-grid-column: 2;
  -ms-grid-row: 1;
  grid-column: 2;
  grid-row: 1;
  display: block;
}

.jslider-grid[data-number="3"] img:nth-child(3) {
  -ms-grid-column: 2;
  -ms-grid-row: 2;
  grid-column: 2;
  grid-row: 2;
  display: block;
}

.jslider-grid[data-number="4"] img:first-child {
  -ms-grid-column: 1/2;
  -ms-grid-row: 1/4;
  grid-column: 1/2;
  grid-row: 1/4;
}

.jslider-grid[data-number="4"] img:nth-child(2) {
  -ms-grid-column: 2;
  -ms-grid-row: 1;
  grid-column: 2;
  grid-row: 1;
  display: block;
}

.jslider-grid[data-number="4"] img:nth-child(3) {
  -ms-grid-column: 2;
  -ms-grid-row: 2;
  grid-column: 2;
  grid-row: 2;
  display: block;
}

.jslider-grid[data-number="4"] img:nth-child(4) {
  -ms-grid-column: 2;
  -ms-grid-row: 3;
  grid-column: 2;
  grid-row: 3;
  display: block;
}

.jtabs {
  max-width: 100vw;
  position: relative;
}

.jtabs .jtabs-headers-container {
  display: flex;
  align-items: center;
}

.jtabs .jtabs-headers {
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
}

.jtabs .jtabs-headers > div:not(.jtabs-border) {
  padding: 8px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: 1px;
  margin-right: 1px;
  background-color: #f1f1f1;
  cursor: pointer;
  white-space: nowrap;
  text-align: center;
}

.jtabs .jtabs-headers > div.jtabs-selected {
  background-color: #e8e8e8;
  color: #000;
}

.jtabs .jtabs-headers > div > div {
  color: #555;
  width: 100%;
  overflow: hidden;
}

.jtabs .jtabs-headers i {
  display: block;
  margin: auto;
}

.jtabs .jtabs-content {
  box-sizing: border-box;
}

.jtabs .jtabs-content > div {
  display: none;
  box-sizing: border-box;
}

.jtabs .jtabs-content > div.jtabs-selected {
  display: block;
}

.jtabs .jtabs-border {
  position: absolute;
  height: 2px;
  background-color: #888;
  transform-origin: left;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition-property: color, left, transform;
  display: none;
  pointer-events: none;
}

.jtabs-animation .jtabs-border {
  display: initial;
}

.jtabs .jtabs-controls {
  margin: 3px;
  margin-left: 10px;
  display: flex;
  min-width: 82px;
}

.jtabs .jtabs-controls > div {
  cursor: pointer;
  background-position: center;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
  line-height: 24px;
}

.jtabs .jtabs-prev {
  margin-left: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27gray%27 width=%2718px%27 height=%2718px%27%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3Cpath d=%27M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z%27/%3E%3C/svg%3E");
}

.jtabs .jtabs-prev.disabled {
  margin-left: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27lightgray%27 width=%2718px%27 height=%2718px%27%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3Cpath d=%27M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z%27/%3E%3C/svg%3E");
}

.jtabs .jtabs-next {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27gray%27 width=%2718px%27 height=%2718px%27%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3Cpath d=%27M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z%27/%3E%3C/svg%3E");
}

.jtabs .jtabs-next.disabled {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27lightgray%27 width=%2718px%27 height=%2718px%27%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3Cpath d=%27M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z%27/%3E%3C/svg%3E");
}

.jtabs .jtabs-add {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 height=%2724%27 viewBox=%270 0 24 24%27 width=%2724%27%3E%3Cpath d=%27M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z%27 fill=%27%23bbbbbb%27/%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3C/svg%3E");
}

/** Modern skin **/
.jtabs.jtabs-modern .jtabs-headers > div:not(.jtabs-border) {
  padding: 4px;
  padding-left: 10px;
  padding-right: 10px;
  background-color: #fff;
}

.jtabs.jtabs-modern .jtabs-headers > .jtabs-selected {
  color: #000;
}

.jtabs.jtabs-modern .jtabs-headers > .jtabs-selected .material-icons {
  color: #000;
}

.jtabs.jtabs-modern .jtabs-headers {
  background: #EEEEEF !important;
  padding: 2px;
  border-radius: 4px;
}

.jtabs.jtabs-modern .jtabs-headers .jtabs-border {
  border-color: #EEEEEF !important;
}

.jtabs.jtabs-modern .jtabs-border {
  background-color: rgba(194, 197, 188, 0.884);
}

.jtags {
  display: flex;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: flex-start;
  -webkit-justify-content: space-between;
  justify-content: flex-start;
  padding: 1px;
  border: 1px solid #ccc;
  position: relative;
}

.jtags.jtags-empty:not(.jtags-focus)::before {
  position: absolute;
  margin: 3px;
  color: #ccc;
  content: attr(data-placeholder);
  top: 0;
  margin-left: 6px;
}

.jtags > div {
  padding: 6px 22px 6px 10px;
  font-size: 0.9em;
  position: relative;
  border-radius: 1px;
  margin: 2px;
  display: block;
  outline: none;
}

.jtags > div:empty:before {
  content: " ";
  white-space: pre;
}

.jtags > div::after {
  content: "x";
  position: absolute;
  top: 7px;
  right: 4px;
  width: 12px;
  height: 12px;
  cursor: pointer;
  font-size: 0.9em;
  line-height: 1em;
  display: none;
}

.jtags_label {
  background-color: #e4e4e4 !important;
}

.jtags_label::after {
  display: inline-block !important;
}

.jtags_error::after {
  color: #fff !important;
}

.jtags_error {
  background-color: #d93025 !important;
  color: #fff;
}

.jtoolbar-container {
  border-radius: 2px;
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  display: inline-flex !important;
}

.jtoolbar {
  cursor: pointer;
  white-space: nowrap;
  display: flex;
  padding: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 13px;
}

.jtoolbar-disabled {
  pointer-events: none;
  opacity: 0.4;
}

.jtoolbar-mobile {
  display: flex;
  position: fixed;
  bottom: 0;
  margin: 0;
  left: 0;
  width: 100%;
  background: #f7f7f8;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 0px;
}

.jtoolbar > div {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  vertical-align: middle;
  justify-content: space-evenly;
}

.jtoolbar-mobile > div {
  display: flex;
  width: 100%;
}

.jtoolbar .jtoolbar-item {
  text-align: center;
  margin: auto;
  padding: 2px;
  padding-left: 4px;
  padding-right: 4px;
}

.jtoolbar-mobile .jtoolbar-item {
  position: relative;
  flex: 1;
}

.jtoolbar .jtoolbar-divisor {
  width: 2px;
  height: 18px;
  padding: 0px;
  margin-left: 4px;
  margin-right: 4px;
  background-color: #ddd;
}

.jtoolbar .jtoolbar-label {
  padding-left: 8px;
  padding-right: 8px;
}

.jtoolbar-mobile a {
  text-decoration: none;
  display: inline-block;
}

.jtoolbar-mobile i {
  display: inline-flex !important;
  color: #929292;
}

.jtoolbar-mobile span {
  font-size: 0.7em;
  display: block;
  color: #929292;
}

.jtoolbar-mobile .jtoolbar-selected a, .jtoolbar-mobile .jtoolbar-selected i, .jtoolbar-mobile .jtoolbar-selected span {
  color: var(--jactive-color) !important;
  background-color: transparent;
}

.jtoolbar-item {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jtoolbar-item i {
  display: block;
  color: #333;
}

.jtoolbar-item:hover {
  background-color: #f2f2f2;
}

.jtoolbar .jpicker {
  padding-left: 0px;
  padding-right: 0px;
}

.jtoolbar .jpicker-header {
  height: 24px;
  line-height: 24px;
  padding: 0px;
  padding-right: 20px;
  padding-left: 8px;
  background-position: top 50% right 0px;
  display: flex;
  align-items: center;
  font-size: 0.9em;
}

.jtoolbar .jpicker-content > div {
  padding: 6px;
}

.jtoolbar-active {
  background-color: #eee;
}

.jtoolbar .fa {
  width: 18px;
  height: 18px;
  display: block;
  line-height: 18px;
  font-size: 14px;
}

.jtoolbar .material-icons {
  font-size: 18px;
  width: 24px;
  height: 24px;
  display: block;
  line-height: 24px;
  transform: rotate(0.03deg);
  text-align: center;
}

.jtoolbar .jtoolbar-arrow {
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27black%27 width=%2718px%27 height=%2718px%27%3E%3Cpath d=%27M0 0h24v24H0z%27 fill=%27none%27/%3E%3Cpath d=%27M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z%27/%3E%3C/svg%3E");
  width: 24px;
  height: 16px;
  margin-left: 4px;
  border-left: 1px solid #f2f2f2;
}

.jtoolbar-floating {
  position: absolute;
  display: none;
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  background-color: #fff;
  padding: 4px;
  z-index: 50;
  text-align: left;
  margin-right: 20px;
}

.jtoolbar-floating .jtoolbar-divisor {
  display: none;
}

.jtoolbar-arrow-selected .jtoolbar-floating {
  display: flex;
  flex-wrap: wrap;
}

:root {
  --jexcel-border-color:#000;
}

.jexcel_container {
  display: inline-block;
  padding-right: 2px;
  box-sizing: border-box;
  overscroll-behavior: contain;
  outline: none;
}

.jexcel_container.fullscreen {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 21;
}

.jexcel_container.fullscreen .jexcel_content {
  overflow: auto;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
}

.jexcel_container.with-toolbar .jexcel > thead > tr > td {
  top: 0;
}

.jexcel_container.fullscreen.with-toolbar {
  height: calc(100% - 46px);
}

.jexcel_content {
  display: inline-block;
  box-sizing: border-box;
  padding-right: 3px;
  padding-bottom: 3px;
  position: relative;
  scrollbar-width: thin;
  scrollbar-color: #666 transparent;
}

@supports (-moz-appearance: none) {
  .jexcel_content {
    padding-right: 10px;
  }
}
.jexcel_content::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.jexcel_content::-webkit-scrollbar-track {
  background: #eee;
}

.jexcel_content::-webkit-scrollbar-thumb {
  background: #666;
}

.jexcel {
  border-collapse: separate;
  table-layout: fixed;
  white-space: nowrap;
  empty-cells: show;
  border: 0px;
  background-color: #fff;
  width: 0;
  border-top: 1px solid transparent;
  border-left: 1px solid transparent;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.jexcel > thead > tr > td {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  background-color: #f3f3f3;
  padding: 2px;
  cursor: pointer;
  box-sizing: border-box;
  overflow: hidden;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
}

.jexcel_container.with-toolbar .jexcel > thead > tr > td {
  top: 42px;
}

.jexcel > thead > tr > td.dragging {
  background-color: #fff;
  opacity: 0.5;
}

.jexcel > thead > tr > td.selected {
  background-color: #dcdcdc;
}

.jexcel > thead > tr > td.arrow-up {
  background-repeat: no-repeat;
  background-position: center right 5px;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath d='M7 14l5-5 5 5H7z' fill='gray'/%3E%3C/svg%3E");
  text-decoration: underline;
}

.jexcel > thead > tr > td.arrow-down {
  background-repeat: no-repeat;
  background-position: center right 5px;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath d='M7 10l5 5 5-5H7z' fill='gray'/%3E%3C/svg%3E");
  text-decoration: underline;
}

.jexcel > tbody > tr > td:first-child {
  position: relative;
  background-color: #f3f3f3;
  text-align: center;
}

.jexcel > tbody.resizable > tr > td:first-child::before {
  content: " ";
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0px;
  left: 0px;
  cursor: row-resize;
}

.jexcel > tbody.draggable > tr > td:first-child::after {
  content: " ";
  width: 3px;
  height: 100%;
  position: absolute;
  top: 0px;
  right: 0px;
  cursor: move;
}

.jexcel > tbody > tr.dragging > td {
  background-color: #eee;
  opacity: 0.5;
}

.jexcel > tbody > tr > td {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  padding: 4px;
  white-space: nowrap;
  box-sizing: border-box;
  line-height: 1em;
}

.jexcel_overflow > tbody > tr > td {
  overflow: hidden;
}

.jexcel > tbody > tr > td:last-child {
  overflow: hidden;
}

.jexcel > tbody > tr > td > img {
  display: inline-block;
  max-width: 100px;
}

.jexcel > tbody > tr > td.readonly {
  color: rgba(0, 0, 0, 0.3);
}

.jexcel > tbody > tr.selected > td:first-child {
  background-color: #dcdcdc;
}

.jexcel > tbody > tr > td > select,
.jexcel > tbody > tr > td > input,
.jexcel > tbody > tr > td > textarea {
  border: 0px;
  border-radius: 0px;
  outline: 0px;
  width: 100%;
  margin: 0px;
  padding: 0px;
  padding-right: 2px;
  background-color: transparent;
  box-sizing: border-box;
}

.jexcel > tbody > tr > td > textarea {
  resize: none;
  padding-top: 6px !important;
}

.jexcel > tbody > tr > td > input[type=checkbox] {
  width: 12px;
  margin-top: 2px;
}

.jexcel > tbody > tr > td > input[type=radio] {
  width: 12px;
  margin-top: 2px;
}

.jexcel > tbody > tr > td > select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-repeat: no-repeat;
  background-position-x: 100%;
  background-position-y: 40%;
  background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSdibGFjaycgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyB3aWR0aD0nMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTTcgMTBsNSA1IDUtNXonLz48cGF0aCBkPSdNMCAwaDI0djI0SDB6JyBmaWxsPSdub25lJy8+PC9zdmc+);
}

.jexcel > tbody > tr > td.jexcel_dropdown {
  background-repeat: no-repeat;
  background-position: top 50% right 5px;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath d='M7 10l5 5 5-5H7z' fill='lightgray'/%3E%3C/svg%3E");
  text-overflow: ellipsis;
  overflow-x: hidden;
}

.jexcel > tbody > tr > td.jexcel_dropdown.jexcel_comments {
  background: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath d='M7 10l5 5 5-5H7z' fill='lightgray'/%3E%3C/svg%3E") top 50% right 5px no-repeat, url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFuGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTAxLTMxVDE4OjU1OjA4WiIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0wMS0zMVQxODo1NTowOFoiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTAxLTMxVDE4OjU1OjA4WiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphMTlhZDJmOC1kMDI2LTI1NDItODhjOS1iZTRkYjkyMmQ0MmQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkOGI5NDUyMS00ZjEwLWQ5NDktYjUwNC0wZmU1N2I3Nzk1MDEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplMzdjYmE1ZS1hYTMwLWNkNDUtYTAyNS1lOWYxZjk2MzUzOGUiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplMzdjYmE1ZS1hYTMwLWNkNDUtYTAyNS1lOWYxZjk2MzUzOGUiIHN0RXZ0OndoZW49IjIwMTktMDEtMzFUMTg6NTU6MDhaIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmExOWFkMmY4LWQwMjYtMjU0Mi04OGM5LWJlNGRiOTIyZDQyZCIgc3RFdnQ6d2hlbj0iMjAxOS0wMS0zMVQxODo1NTowOFoiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4En6MDAAAAX0lEQVQYlX3KOw6AIBBAwS32RpJADXfx0pTET+ERZJ8F8RODFtONsG0QAoh0CSDM82dqodaBdQXnfoLZQM7gPai+wjNNE8R4pTuAYNZSKZASqL7CMy0LxNgJp30fKYUDi3+vIqb/+rUAAAAASUVORK5CYII=") top right no-repeat;
}

.jexcel > tbody > tr > td > .color {
  width: 90%;
  height: 10px;
  margin: auto;
}

.jexcel > tbody > tr > td > a {
  text-decoration: underline;
}

.jexcel > tbody > tr > td.highlight > a {
  color: blue;
  cursor: pointer;
}

.jexcel > tfoot > tr > td {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  background-color: #f3f3f3;
  padding: 2px;
  cursor: pointer;
  box-sizing: border-box;
  overflow: hidden;
}

.jexcel .highlight {
  background-color: rgba(0, 0, 0, 0.05);
}

.jexcel .highlight-top {
  border-top: 1px solid #000; /* var(--jexcel-border-color);*/
  box-shadow: 0px -1px #ccc;
}

.jexcel .highlight-left {
  border-left: 1px solid #000; /* var(--jexcel-border-color);*/
  box-shadow: -1px 0px #ccc;
}

.jexcel .highlight-right {
  border-right: 1px solid #000; /* var(--jexcel-border-color);*/
}

.jexcel .highlight-bottom {
  border-bottom: 1px solid #000; /* var(--jexcel-border-color);*/
}

.jexcel .highlight-top.highlight-left {
  box-shadow: -1px -1px #ccc;
  -webkit-box-shadow: -1px -1px #ccc;
  -moz-box-shadow: -1px -1px #ccc;
}

.jexcel .highlight-selected {
  background-color: rgba(0, 0, 0, 0);
}

.jexcel .selection {
  background-color: rgba(0, 0, 0, 0.05);
}

.jexcel .selection-left {
  border-left: 1px dotted #000;
}

.jexcel .selection-right {
  border-right: 1px dotted #000;
}

.jexcel .selection-top {
  border-top: 1px dotted #000;
}

.jexcel .selection-bottom {
  border-bottom: 1px dotted #000;
}

.jexcel_corner {
  position: absolute;
  background-color: rgb(0, 0, 0);
  height: 1px;
  width: 1px;
  border: 1px solid rgb(255, 255, 255);
  top: -2000px;
  left: -2000px;
  cursor: crosshair;
  box-sizing: initial;
  z-index: 20;
  padding: 2px;
}

.jexcel .editor {
  outline: 0px solid transparent;
  overflow: visible;
  white-space: nowrap;
  text-align: left;
  padding: 0px;
  box-sizing: border-box;
  overflow: visible !important;
}

.jexcel .editor > input {
  padding-left: 4px;
}

.jexcel .editor .jupload {
  position: fixed;
  top: 100%;
  z-index: 40;
  user-select: none;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  letter-spacing: 0.2px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
  padding: 10px;
  background-color: #fff;
  width: 300px;
  min-height: 225px;
  margin-top: 2px;
}

.jexcel .editor .jupload img {
  width: 100%;
  height: auto;
}

.jexcel .editor .jexcel_richtext {
  position: fixed;
  top: 100%;
  z-index: 40;
  user-select: none;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  letter-spacing: 0.2px;
  -webkit-box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
  padding: 10px;
  background-color: #fff;
  min-width: 280px;
  max-width: 310px;
  margin-top: 2px;
  text-align: left;
}

.jexcel .editor .jclose:after {
  position: absolute;
  top: 0;
  right: 0;
  margin: 10px;
  content: "close";
  font-family: "Material icons";
  font-size: 24px;
  width: 24px;
  height: 24px;
  line-height: 24px;
  cursor: pointer;
  text-shadow: 0px 0px 5px #fff;
}

.jexcel, .jexcel td, .jexcel_corner {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}

.jexcel_textarea {
  position: absolute;
  top: -999px;
  left: -999px;
  width: 1px;
  height: 1px;
}

.jexcel .dragline {
  position: absolute;
}

.jexcel .dragline div {
  position: relative;
  top: -6px;
  height: 5px;
  width: 22px;
}

.jexcel .dragline div:hover {
  cursor: move;
}

.jexcel .onDrag {
  background-color: rgba(0, 0, 0, 0.6);
}

.jexcel .error {
  border: 1px solid red;
}

.jexcel thead td.resizing {
  border-right-style: dotted !important;
  border-right-color: red !important;
}

.jexcel tbody tr.resizing > td {
  border-bottom-style: dotted !important;
  border-bottom-color: red !important;
}

.jexcel tbody td.resizing {
  border-right-style: dotted !important;
  border-right-color: red !important;
}

.jexcel .jdropdown-header {
  border: 0px !important;
  outline: none !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0px !important;
  padding-left: 8px !important;
}

.jexcel .jdropdown-container {
  margin-top: 1px;
}

.jexcel .jdropdown-container-header {
  padding: 0px;
  margin: 0px;
  height: inherit;
}

.jexcel .jdropdown-picker {
  border: 0px !important;
  padding: 0px !important;
  width: inherit;
  height: inherit;
}

.jexcel .jexcel_comments {
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFuGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTAxLTMxVDE4OjU1OjA4WiIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0wMS0zMVQxODo1NTowOFoiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTAxLTMxVDE4OjU1OjA4WiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphMTlhZDJmOC1kMDI2LTI1NDItODhjOS1iZTRkYjkyMmQ0MmQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkOGI5NDUyMS00ZjEwLWQ5NDktYjUwNC0wZmU1N2I3Nzk1MDEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplMzdjYmE1ZS1hYTMwLWNkNDUtYTAyNS1lOWYxZjk2MzUzOGUiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplMzdjYmE1ZS1hYTMwLWNkNDUtYTAyNS1lOWYxZjk2MzUzOGUiIHN0RXZ0OndoZW49IjIwMTktMDEtMzFUMTg6NTU6MDhaIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmExOWFkMmY4LWQwMjYtMjU0Mi04OGM5LWJlNGRiOTIyZDQyZCIgc3RFdnQ6d2hlbj0iMjAxOS0wMS0zMVQxODo1NTowOFoiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4En6MDAAAAX0lEQVQYlX3KOw6AIBBAwS32RpJADXfx0pTET+ERZJ8F8RODFtONsG0QAoh0CSDM82dqodaBdQXnfoLZQM7gPai+wjNNE8R4pTuAYNZSKZASqL7CMy0LxNgJp30fKYUDi3+vIqb/+rUAAAAASUVORK5CYII=");
  background-repeat: no-repeat;
  background-position: top right;
}

.jexcel .sp-replacer {
  margin: 2px;
  border: 0px;
}

.jexcel > thead > tr.jexcel_filter > td > input {
  border: 0px;
  width: 100%;
  outline: none;
}

.jexcel_about {
  float: right;
  font-size: 0.7em;
  padding: 2px;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: none;
}

.jexcel_about a {
  color: #ccc;
  text-decoration: none;
}

.jexcel_about img {
  display: none;
}

.jexcel_filter {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}

.jexcel_filter > div {
  padding: 8px;
  align-items: center;
}

.jexcel_pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.jexcel_pagination > div {
  display: flex;
  padding: 10px;
}

.jexcel_pagination > div:last-child {
  padding-right: 10px;
  padding-top: 10px;
}

.jexcel_pagination > div > div {
  text-align: center;
  width: 36px;
  height: 36px;
  line-height: 34px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  margin-left: 2px;
  cursor: pointer;
}

.jexcel_page {
  font-size: 0.8em;
}

.jexcel_page_selected {
  font-weight: bold;
  background-color: #f3f3f3;
}

.jexcel_toolbar {
  display: flex;
  background-color: #f3f3f3;
  border: 1px solid #ccc;
  padding: 4px;
  margin: 0px 2px 4px 1px;
  position: sticky;
  top: 0px;
  z-index: 21;
}

.jexcel_toolbar:empty {
  display: none;
}

.jexcel_toolbar i.jexcel_toolbar_item {
  width: 24px;
  height: 24px;
  padding: 4px;
  cursor: pointer;
  display: inline-block;
}

.jexcel_toolbar i.jexcel_toolbar_item:hover {
  background-color: #ddd;
}

.jexcel_toolbar select.jexcel_toolbar_item {
  margin-left: 2px;
  margin-right: 2px;
  display: inline-block;
  border: 0px;
  background-color: transparent;
  padding-right: 10px;
}

.jexcel .dragging-left {
  background-repeat: no-repeat;
  background-position: top 50% left 0px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M14 7l-5 5 5 5V7z'/%3E%3Cpath fill='none' d='M24 0v24H0V0h24z'/%3E%3C/svg%3E");
}

.jexcel .dragging-right {
  background-repeat: no-repeat;
  background-position: top 50% right 0px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M10 17l5-5-5-5v10z'/%3E%3Cpath fill='none' d='M0 24V0h24v24H0z'/%3E%3C/svg%3E");
}

.jexcel_tabs .jexcel_tab {
  display: none;
}

.jexcel_tabs .jexcel_tab_link {
  display: inline-block;
  padding: 10px;
  padding-left: 20px;
  padding-right: 20px;
  margin-right: 5px;
  margin-bottom: 5px;
  background-color: #f3f3f3;
  cursor: pointer;
}

.jexcel_tabs .jexcel_tab_link.selected {
  background-color: #ddd;
}

.jexcel_hidden_index > tbody > tr > td:first-child,
.jexcel_hidden_index > thead > tr > td:first-child,
.jexcel_hidden_index > tfoot > tr > td:first-child,
.jexcel_hidden_index > colgroup > col:first-child {
  display: none;
}

.jexcel .jrating {
  display: inline-flex;
}

.jexcel .jrating > div {
  zoom: 0.55;
}

.jexcel .copying-top {
  border-top: 1px dashed #000;
}

.jexcel .copying-left {
  border-left: 1px dashed #000;
}

.jexcel .copying-right {
  border-right: 1px dashed #000;
}

.jexcel .copying-bottom {
  border-bottom: 1px dashed #000;
}

.jexcel .jexcel_column_filter {
  background-repeat: no-repeat;
  background-position: top 50% right 5px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='gray' width='18px' height='18px'%3E%3Cpath d='M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");
  text-overflow: ellipsis;
  overflow: hidden;
  padding: 0px;
  padding-left: 6px;
  padding-right: 20px;
}

.jexcel thead .jexcel_freezed, .jexcel tfoot .jexcel_freezed {
  left: 0px;
  z-index: 3 !important;
  box-shadow: 2px 0px 2px 0.2px #ccc !important;
  -webkit-box-shadow: 2px 0px 2px 0.2px #ccc !important;
  -moz-box-shadow: 2px 0px 2px 0.2px #ccc !important;
}

.jexcel tbody .jexcel_freezed {
  position: relative;
  background-color: #fff;
  box-shadow: 1px 1px 1px 1px #ccc !important;
  -webkit-box-shadow: 2px 4px 4px 0.1px #ccc !important;
  -moz-box-shadow: 2px 4px 4px 0.1px #ccc !important;
}

.red {
  color: red;
}

.jexcel > tbody > tr > td.readonly > input[type=checkbox],
.jexcel > tbody > tr > td.readonly > input[type=radio] {
  pointer-events: none;
  opacity: 0.5;
}

.skiwo-spreadsheet {
  width: 100%;
}
.skiwo-spreadsheet .skiwo-spreadsheet__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2, 0.5rem);
  margin-block-end: var(--space-3, 0.75rem);
}
.skiwo-spreadsheet .skiwo-spreadsheet__grid {
  width: 100%;
  overflow: auto;
}
.skiwo-spreadsheet .skiwo-spreadsheet__grid .jexcel_container,
.skiwo-spreadsheet .skiwo-spreadsheet__grid .jexcel {
  font-family: var(--font-ui, inherit);
}
.skiwo-spreadsheet .skiwo-spreadsheet__help {
  margin-block-start: var(--space-3, 0.75rem);
  font-size: 0.8125rem;
  color: var(--color-text-muted, #6b7280);
}
.skiwo-spreadsheet.skiwo-spreadsheet--live {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.skiwo-spreadsheet.skiwo-spreadsheet--live .skiwo-spreadsheet__grid {
  flex: 1 1 auto;
  min-height: 0;
}

.skiwo-field {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  font-family: var(--font-ui);
}
.skiwo-field__label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-2);
}
.skiwo-field__req {
  color: var(--destruct);
}
.skiwo-field__hint {
  margin: 0;
  font-size: var(--fs-meta);
  color: var(--text-faint);
}
.skiwo-field__error {
  margin: 0;
  font-size: var(--fs-meta);
  color: var(--destruct);
}

.skiwo-input {
  box-sizing: border-box;
  font-family: inherit;
  font-size: var(--fs-body);
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--border-4);
  border-radius: var(--r-control);
  padding-block: 9px;
  padding-inline: 11px;
  inline-size: 100%;
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.skiwo-input::placeholder {
  color: var(--text-faint2);
}
.skiwo-input:focus-visible, .skiwo-input:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: var(--sh-focus);
}
.skiwo-input:disabled {
  background: var(--surface-2);
  color: var(--text-faint2);
  cursor: not-allowed;
}
.skiwo-input--textarea {
  min-block-size: 84px;
  resize: vertical;
}

.skiwo-field.is-invalid .skiwo-input {
  border-color: var(--destruct);
}
.skiwo-field.is-invalid .skiwo-input:focus-visible, .skiwo-field.is-invalid .skiwo-input:focus {
  box-shadow: 0 0 0 3px rgba(209, 67, 67, 0.14);
}

.skiwo-select-wrap {
  position: relative;
  display: block;
}

.skiwo-select {
  appearance: none;
  -webkit-appearance: none;
  padding-inline-end: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23A9AEBA' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 11px center;
}

[dir=rtl] .skiwo-select {
  background-position: left 11px center;
}

.skiwo-stack {
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
}

.skiwo-form {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
}

.skiwo-form__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-3);
  margin-block-start: var(--s-2);
}

.skiwo-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--s-4);
}
.skiwo-filter-bar .skiwo-field {
  min-inline-size: 11rem;
}

.skiwo-progress {
  inline-size: 100%;
  block-size: 7px;
  background: var(--border-1, #F0F1F4);
  border-radius: var(--r-pill);
  overflow: hidden;
}
.skiwo-progress__bar {
  block-size: 100%;
  inline-size: var(--progress-pct, 0%);
  background: var(--progress-fill, var(--brand));
  border-radius: var(--r-pill);
  transition: inline-size 0.3s ease;
}

.skiwo-progress-group {
  display: flex;
  align-items: center;
  gap: var(--s-3);
}
.skiwo-progress-group .skiwo-progress {
  flex: 1;
}
.skiwo-progress-group .skiwo-progress__value {
  font-family: var(--font-mono);
  font-size: var(--fs-meta);
  color: var(--text-mid);
  min-inline-size: 3ch;
  text-align: end;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-progress__bar {
    transition: none;
  }
}
.skiwo-icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--r-control);
  cursor: pointer;
  user-select: none;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}
.skiwo-icon-btn::before {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  min-inline-size: var(--tap-min);
  min-block-size: var(--tap-min);
  inline-size: 100%;
  block-size: 100%;
}
.skiwo-icon-btn:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-icon-btn:disabled, .skiwo-icon-btn[aria-disabled=true] {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}
.skiwo-icon-btn--md {
  inline-size: 32px;
  block-size: 32px;
}
.skiwo-icon-btn--sm {
  inline-size: 27px;
  block-size: 27px;
}
.skiwo-icon-btn--primary {
  background: var(--brand);
  color: var(--on-brand);
  box-shadow: var(--sh-btn);
}
.skiwo-icon-btn--primary:hover:not(:disabled) {
  background: var(--brand-hover);
}
.skiwo-icon-btn--primary:active:not(:disabled) {
  background: var(--brand-hover);
}
.skiwo-icon-btn--secondary {
  background: var(--surface);
  border-color: var(--border-4);
  color: var(--text-2);
}
.skiwo-icon-btn--secondary:hover:not(:disabled) {
  background: var(--surface-2);
}
.skiwo-icon-btn--ghost {
  background: transparent;
  color: var(--text-mid);
}
.skiwo-icon-btn--ghost:hover:not(:disabled) {
  background: var(--surface-2);
}
.skiwo-icon-btn--destructive {
  background: transparent;
  border-color: var(--destruct);
  color: var(--destruct);
}
.skiwo-icon-btn--destructive:hover:not(:disabled) {
  background: var(--danger-tint);
}
.skiwo-icon-btn__icon {
  font-size: 1em;
  line-height: 1;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-icon-btn {
    transition: none;
  }
}
.skiwo-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  font-family: var(--font-ui);
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: 1;
  color: var(--tag-ink, var(--text-mid));
  background: var(--tag-tint, var(--surface-2));
  border: 1px solid var(--border-2);
  border-radius: var(--r-pill);
  padding-block: 3px;
  padding-inline: 8px;
  white-space: nowrap;
}
.skiwo-tag__icon {
  font-size: 12px;
  line-height: 1;
}
.skiwo-tag__label {
  display: inline-block;
}
.skiwo-tag:has(.skiwo-btn) {
  padding-inline-end: 2px;
}
.skiwo-tag .skiwo-btn--icon {
  block-size: 16px;
  inline-size: 16px;
  min-block-size: unset;
  min-inline-size: unset;
  padding: 0;
  color: inherit;
  opacity: 0.7;
  border-radius: var(--r-pill);
}
.skiwo-tag .skiwo-btn--icon:hover {
  opacity: 1;
  background: transparent;
}
.skiwo-tag .skiwo-btn--icon:focus-visible {
  box-shadow: var(--sh-focus);
}
.skiwo-tag .skiwo-btn--icon .skiwo-icon {
  width: 10px;
  height: 10px;
}

.skiwo-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--font-ui);
  font-size: var(--fs-meta);
  font-weight: 600;
  line-height: 1;
  color: var(--text-mid);
  background: var(--surface-2);
  border: 1px solid var(--border-4);
  border-radius: var(--r-pill);
  padding-block: 6px;
  padding-inline: 12px;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}
.skiwo-chip::before {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  min-block-size: var(--tap-min);
  inline-size: 100%;
  block-size: 100%;
}
.skiwo-chip:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-chip:hover:not(:disabled) {
  background: var(--surface);
  border-color: var(--border-3);
}
.skiwo-chip:disabled, .skiwo-chip[aria-disabled=true] {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}
.skiwo-chip.is-selected {
  color: var(--brand-ink);
  background: var(--brand-tint);
  border-color: transparent;
}
.skiwo-chip.is-selected:hover:not(:disabled) {
  background: var(--brand-tint-2);
}
.skiwo-chip__icon {
  font-size: 1em;
  line-height: 1;
}
.skiwo-chip__label {
  display: inline-block;
}
.skiwo-chip__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 16px;
  padding-inline: 4px;
  font-size: var(--fs-cap);
  font-weight: 700;
  line-height: 1;
  border-radius: var(--r-pill);
  background: var(--surface);
  color: var(--text-mid);
}
.skiwo-chip.is-selected .skiwo-chip__count {
  background: var(--surface);
  color: var(--brand-ink);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-chip {
    transition: none;
  }
}
.skiwo-separator {
  border: 0;
  background: var(--border-2);
  flex-shrink: 0;
}
.skiwo-separator--horizontal {
  display: block;
  inline-size: 100%;
  block-size: 1px;
  margin-block: var(--s-3);
  margin-inline: 0;
}
.skiwo-separator--vertical {
  display: inline-block;
  inline-size: 1px;
  block-size: 100%;
  align-self: stretch;
  margin-inline: var(--s-3);
  margin-block: 0;
}

.skiwo-tabs__list {
  display: flex;
  align-items: stretch;
  gap: var(--s-1);
  margin: 0;
  padding: 0;
  list-style: none;
}
.skiwo-tabs__item {
  display: flex;
}
.skiwo-tabs__tab {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  min-block-size: var(--tap-min);
  font-family: var(--font-ui);
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text-mid);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.12s ease, background-color 0.12s ease, border-color 0.12s ease;
}
.skiwo-tabs__tab:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-tabs__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 18px;
  padding-inline: var(--s-2);
  font-family: var(--font-mono);
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: 1.6;
  color: var(--text-mid);
  background: var(--surface-2);
  border-radius: var(--r-pill);
}
.skiwo-tabs--underline {
  border-block-end: 1px solid var(--border-2);
}
.skiwo-tabs--underline .skiwo-tabs__list {
  gap: var(--s-7);
  margin-block-end: -1px;
}
.skiwo-tabs--underline .skiwo-tabs__tab {
  padding-block: var(--s-3);
  border-block-end: 2px solid transparent;
}
.skiwo-tabs--underline .skiwo-tabs__tab:hover {
  color: var(--text-2);
}
.skiwo-tabs--underline .skiwo-tabs__tab.is-current {
  color: var(--brand-ink);
  border-block-end-color: var(--brand);
}
.skiwo-tabs--pill .skiwo-tabs__tab {
  padding-block: var(--s-2);
  padding-inline: var(--s-5);
  border-radius: var(--r-pill);
}
.skiwo-tabs--pill .skiwo-tabs__tab:hover {
  background: var(--surface-2);
}
.skiwo-tabs--pill .skiwo-tabs__tab.is-current {
  color: var(--brand-ink);
  background: var(--brand-tint);
}
.skiwo-tabs--pill .skiwo-tabs__tab.is-current .skiwo-tabs__count {
  color: var(--brand-ink);
  background: var(--surface);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-tabs__tab {
    transition: none;
  }
}
.skiwo-segmented {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: var(--s-1);
  border: 1px solid var(--border-4);
  border-radius: var(--r-control);
  background: var(--surface-2);
}
.skiwo-segmented__option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  min-block-size: var(--tap-min);
  padding-block: var(--s-2);
  padding-inline: var(--s-5);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-mid);
  border-radius: var(--r-control-sm);
  cursor: pointer;
  user-select: none;
  text-decoration: none;
  transition: color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}
.skiwo-segmented__option:hover {
  color: var(--text-2);
}
.skiwo-segmented__icon {
  font-size: var(--fs-title);
  line-height: 1;
  color: inherit;
}
.skiwo-segmented__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 18px;
  padding-inline: var(--s-2);
  font-family: var(--font-mono);
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: 1.6;
  color: var(--text-mid);
  background: var(--surface);
  border-radius: var(--r-pill);
}
.skiwo-segmented__input:checked + .skiwo-segmented__option {
  color: var(--brand-ink);
  background: var(--surface);
  box-shadow: var(--sh-card);
}
.skiwo-segmented__input:checked + .skiwo-segmented__option .skiwo-segmented__count {
  color: var(--brand-ink);
  background: var(--brand-tint);
}
.skiwo-segmented__option[aria-current=page] {
  color: var(--brand-ink);
  background: var(--surface);
  box-shadow: var(--sh-card);
}
.skiwo-segmented__option[aria-current=page] .skiwo-segmented__count {
  color: var(--brand-ink);
  background: var(--brand-tint);
}
.skiwo-segmented__input:focus-visible + .skiwo-segmented__option {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-segmented__option:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-segmented__option {
    transition: none;
  }
}
.skiwo-pagination__list {
  display: flex;
  align-items: center;
  gap: var(--s-1);
  margin: 0;
  padding: 0;
  list-style: none;
}
.skiwo-pagination__item {
  display: flex;
}
.skiwo-pagination .skiwo-pagination__step, .skiwo-pagination .skiwo-pagination__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: var(--tap-min);
  min-block-size: var(--tap-min);
  padding-inline: var(--s-3);
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  color: var(--text-mid);
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: var(--r-control-sm);
  cursor: pointer;
  transition: color 0.12s ease, background-color 0.12s ease, border-color 0.12s ease;
}
.skiwo-pagination .skiwo-pagination__step:hover, .skiwo-pagination .skiwo-pagination__page:hover {
  background: var(--surface-2);
}
.skiwo-pagination .skiwo-pagination__step:focus-visible, .skiwo-pagination .skiwo-pagination__page:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-pagination__page.is-current {
  color: var(--brand-ink);
  background: var(--brand-tint);
  cursor: default;
}
.skiwo-pagination__step.is-disabled {
  color: var(--text-faint2);
  cursor: not-allowed;
}
.skiwo-pagination__step.is-disabled:hover {
  background: transparent;
}
.skiwo-pagination__chevron {
  font-family: var(--font-ui);
  font-size: var(--fs-h2);
  line-height: 1;
}
.skiwo-pagination__gap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: var(--s-9);
  min-block-size: var(--tap-min);
  font-family: var(--font-mono);
  color: var(--text-faint2);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-pagination__page,
  .skiwo-pagination__step {
    transition: none;
  }
}
.skiwo-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  overflow: hidden;
  font-family: var(--font-ui);
  font-weight: 600;
  line-height: 1;
  color: var(--brand-ink);
  background: var(--avatar-bg, var(--brand-avatar-bg));
  user-select: none;
  object-fit: cover;
}
.skiwo-avatar--circle {
  border-radius: var(--r-pill);
}
.skiwo-avatar--square {
  border-radius: var(--r-control-sm);
}
.skiwo-avatar--sm {
  inline-size: 24px;
  block-size: 24px;
  font-size: var(--fs-cap);
}
.skiwo-avatar--md {
  inline-size: 32px;
  block-size: 32px;
  font-size: var(--fs-meta);
}
.skiwo-avatar--lg {
  inline-size: 44px;
  block-size: 44px;
  font-size: var(--fs-title);
}
.skiwo-avatar__initials {
  display: inline-block;
}

.skiwo-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  text-decoration: none;
  color: var(--text);
}
.skiwo-brand__mark {
  flex: 0 0 30px;
  inline-size: 30px;
  block-size: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-control);
  background: var(--brand);
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
}
.skiwo-brand__name {
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.skiwo-spinner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}
.skiwo-spinner__ring {
  display: block;
  border-radius: var(--r-pill);
  border: 2px solid var(--border-4);
  border-inline-start-color: var(--brand);
  animation: skiwo-spinner-spin 0.6s linear infinite;
}
.skiwo-spinner--sm .skiwo-spinner__ring {
  inline-size: 14px;
  block-size: 14px;
  border-width: 2px;
}
.skiwo-spinner--md .skiwo-spinner__ring {
  inline-size: 20px;
  block-size: 20px;
  border-width: 2px;
}
.skiwo-spinner--lg .skiwo-spinner__ring {
  inline-size: 32px;
  block-size: 32px;
  border-width: 3px;
}

@keyframes skiwo-spinner-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-spinner__ring {
    animation-duration: 1.4s;
  }
}
.skiwo-skeleton {
  display: block;
  background: var(--surface-2);
  background-image: linear-gradient(90deg, var(--surface-2) 0%, var(--border-1) 50%, var(--surface-2) 100%);
  background-size: 200% 100%;
  animation: skiwo-skeleton-shimmer 1.4s ease-in-out infinite;
}
.skiwo-skeleton--text {
  block-size: var(--fs-body);
  inline-size: 100%;
  border-radius: var(--r-control-sm);
}
.skiwo-skeleton--block {
  block-size: 120px;
  inline-size: 100%;
  border-radius: var(--r-card);
}
.skiwo-skeleton--circle {
  inline-size: 40px;
  block-size: 40px;
  border-radius: var(--r-pill);
}

.skiwo-skeleton-lines {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}
.skiwo-skeleton-lines .skiwo-skeleton:last-child {
  inline-size: 60%;
}

@keyframes skiwo-skeleton-shimmer {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-skeleton {
    animation: none;
    background-image: none;
    background: var(--surface-2);
  }
}
.skiwo-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-block: var(--s-10);
  padding-inline: var(--s-7);
  font-family: var(--font-ui);
}
.skiwo-empty__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 48px;
  block-size: 48px;
  margin-block-end: var(--s-5);
  border-radius: var(--r-card);
  background: var(--brand-tint);
  color: var(--brand-ink);
}
.skiwo-empty__glyph {
  font-size: 20px;
  line-height: 1;
}
.skiwo-empty__title {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text);
}
.skiwo-empty__description {
  margin-block: var(--s-2) 0;
  max-inline-size: 42ch;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text-mid);
}
.skiwo-empty__action {
  margin-block-start: var(--s-7);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-3);
}

.skiwo-banner {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  font-family: var(--font-ui);
  font-size: var(--fs-body-sm);
  line-height: var(--lh-body);
  color: var(--banner-ink, var(--info));
  background: var(--banner-tint, var(--info-tint));
  border: 1px solid transparent;
  border-radius: var(--r-card);
  padding-block: var(--s-5);
  padding-inline: var(--s-7);
}
.skiwo-banner__icon {
  flex: none;
  font-size: 16px;
  line-height: var(--lh-body);
}
.skiwo-banner__body {
  flex: 1 1 auto;
  min-inline-size: 0;
}
.skiwo-banner__title {
  margin: 0;
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
}
.skiwo-banner__title + .skiwo-banner__message {
  margin-block-start: var(--s-1);
}
.skiwo-banner__message {
  margin: 0;
  color: var(--text-2);
}
.skiwo-banner__dismiss {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 24px;
  block-size: 24px;
  margin-inline-start: auto;
  padding: 0;
  color: var(--banner-ink, var(--text-mid));
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--r-control-sm);
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.12s ease;
}
.skiwo-banner__dismiss:hover {
  opacity: 1;
}
.skiwo-banner__dismiss:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-banner__dismiss-glyph {
  font-size: 18px;
  line-height: 1;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-banner__dismiss {
    transition: none;
  }
}
.skiwo-toast {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  inline-size: min(420px, 100%);
  font-family: var(--font-ui);
  font-size: var(--fs-body-sm);
  line-height: var(--lh-body);
  color: var(--text-2);
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-inline-start: 3px solid var(--toast-ink, var(--info));
  border-radius: var(--r-card);
  box-shadow: var(--sh-float);
  padding-block: var(--s-5);
  padding-inline: var(--s-7);
}
.skiwo-toast__icon {
  flex: none;
  font-size: 16px;
  line-height: var(--lh-body);
  color: var(--toast-ink, var(--info));
}
.skiwo-toast__body {
  flex: 1 1 auto;
  min-inline-size: 0;
}
.skiwo-toast__title {
  margin: 0;
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text);
}
.skiwo-toast__title + .skiwo-toast__message {
  margin-block-start: var(--s-1);
}
.skiwo-toast__message {
  margin: 0;
  color: var(--text-mid);
}
.skiwo-toast__dismiss {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 24px;
  block-size: 24px;
  margin-inline-start: auto;
  padding: 0;
  color: var(--text-mid);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--r-control-sm);
  cursor: pointer;
  transition: background-color 0.12s ease;
}
.skiwo-toast__dismiss:hover {
  background: var(--surface-2);
}
.skiwo-toast__dismiss:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-toast__dismiss-glyph {
  font-size: 18px;
  line-height: 1;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-toast__dismiss {
    transition: none;
  }
}
.skiwo-tooltip {
  position: relative;
  display: inline-flex;
}
.skiwo-tooltip__trigger {
  display: inline-flex;
}
.skiwo-tooltip__tip {
  position: absolute;
  inset-inline-start: 50%;
  z-index: 20;
  inline-size: max-content;
  max-inline-size: 240px;
  font-family: var(--font-ui);
  font-size: var(--fs-meta);
  font-weight: 600;
  line-height: var(--lh-tight);
  color: var(--surface);
  background: var(--text);
  border-radius: var(--r-control-sm);
  box-shadow: var(--sh-float);
  padding-block: var(--s-2);
  padding-inline: var(--s-3);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%);
  transition: opacity 0.12s ease, visibility 0.12s ease;
  pointer-events: none;
}
.skiwo-tooltip--top .skiwo-tooltip__tip {
  inset-block-end: calc(100% + var(--s-2));
}
.skiwo-tooltip--bottom .skiwo-tooltip__tip {
  inset-block-start: calc(100% + var(--s-2));
}
.skiwo-tooltip:hover .skiwo-tooltip__tip, .skiwo-tooltip:focus-within .skiwo-tooltip__tip {
  opacity: 1;
  visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-tooltip__tip {
    transition: none;
  }
}
.skiwo-breadcrumbs {
  font-family: var(--font-ui);
  font-size: var(--fs-meta);
  line-height: var(--lh-tight);
}
.skiwo-breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-1);
  margin: 0;
  padding: 0;
  list-style: none;
}
.skiwo-breadcrumbs__item {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
}
.skiwo-breadcrumbs__item + .skiwo-breadcrumbs__item::before {
  content: "/";
  color: var(--text-faint);
  speak: never;
}
.skiwo-breadcrumbs__link {
  color: var(--text-mid);
  text-decoration: none;
  border-radius: var(--r-control-sm);
  transition: color 0.12s ease;
}
.skiwo-breadcrumbs__link:hover {
  color: var(--brand-ink);
  text-decoration: underline;
}
.skiwo-breadcrumbs__link:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-breadcrumbs__current {
  color: var(--text);
  font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-breadcrumbs__link {
    transition: none;
  }
}
.skiwo-dropdown {
  position: relative;
  display: inline-block;
}
.skiwo-dropdown__trigger {
  gap: var(--s-2);
}
.skiwo-dropdown__caret {
  font-size: 10px;
}
.skiwo-dropdown__menu {
  position: absolute;
  inset-block-start: calc(100% + var(--s-2));
  inset-inline-start: 0;
  min-inline-size: 200px;
  padding-block: var(--s-2);
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  box-shadow: var(--sh-float);
  z-index: 50;
}
.skiwo-dropdown__menu--end {
  inset-inline-start: auto;
  inset-inline-end: 0;
}
.skiwo-dropdown__menu[hidden] {
  display: none;
}
.skiwo-dropdown__item {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding-block: var(--s-3);
  padding-inline: var(--s-5);
  font-size: var(--fs-body-sm);
  color: var(--text-2);
  text-decoration: none;
  cursor: pointer;
}
.skiwo-dropdown__item:hover {
  background: var(--surface-2);
}
.skiwo-dropdown__item:focus-visible {
  outline: none;
  background: var(--surface-2);
  box-shadow: inset var(--sh-focus);
}
.skiwo-dropdown__item.is-danger {
  color: var(--destruct);
}
.skiwo-dropdown__item[aria-disabled=true] {
  color: var(--text-faint2);
  pointer-events: none;
}
.skiwo-dropdown__item-icon {
  inline-size: 16px;
  text-align: center;
  color: var(--icon-faint);
}

.skiwo-modal-root {
  display: inline-block;
}

.skiwo-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--s-7);
}
.skiwo-modal[hidden] {
  display: none;
}
.skiwo-modal__scrim {
  position: absolute;
  inset: 0;
  background: rgba(20, 22, 40, 0.42);
}
.skiwo-modal__dialog {
  position: relative;
  inline-size: 100%;
  max-inline-size: 520px;
  max-block-size: calc(100vh - 2 * var(--s-10));
  overflow: auto;
  background: var(--surface);
  border-radius: var(--r-card-lg);
  box-shadow: var(--sh-float);
  animation: skiwo-modal-in 0.16s ease;
}
.skiwo-modal__dialog--sm {
  max-inline-size: 400px;
}
.skiwo-modal__dialog--lg {
  max-inline-size: 720px;
}
.skiwo-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
  padding: var(--s-7);
  border-block-end: 1px solid var(--border-2);
}
.skiwo-modal__title {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text);
}
.skiwo-modal__close {
  border: 0;
  background: transparent;
  color: var(--text-mid);
  cursor: pointer;
  inline-size: 32px;
  block-size: 32px;
  border-radius: var(--r-control);
}
.skiwo-modal__close:hover {
  background: var(--surface-2);
}
.skiwo-modal__close:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-modal__body {
  padding: var(--s-7);
}

@keyframes skiwo-modal-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-modal__dialog {
    animation: none;
  }
}
.skiwo-drawer-root {
  display: inline-block;
}

.skiwo-drawer {
  position: fixed;
  inset: 0;
  z-index: 1000;
}
.skiwo-drawer[hidden] {
  display: none;
}
.skiwo-drawer__scrim {
  position: absolute;
  inset: 0;
  background: rgba(20, 22, 40, 0.42);
}
.skiwo-drawer__panel {
  position: absolute;
  inset-block: 0;
  inline-size: min(420px, 92vw);
  display: flex;
  flex-direction: column;
  background: var(--surface);
  box-shadow: var(--sh-float);
  animation: skiwo-drawer-in-end 0.18s ease;
}
.skiwo-drawer__panel--end {
  inset-inline-end: 0;
}
.skiwo-drawer__panel--start {
  inset-inline-start: 0;
  animation-name: skiwo-drawer-in-start;
}
.skiwo-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
  padding: var(--s-7);
  border-block-end: 1px solid var(--border-2);
}
.skiwo-drawer__title {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text);
}
.skiwo-drawer__close {
  border: 0;
  background: transparent;
  color: var(--text-mid);
  cursor: pointer;
  inline-size: 32px;
  block-size: 32px;
  border-radius: var(--r-control);
}
.skiwo-drawer__close:hover {
  background: var(--surface-2);
}
.skiwo-drawer__close:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-drawer__body {
  padding: var(--s-7);
  overflow: auto;
  flex: 1;
}

@keyframes skiwo-drawer-in-end {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes skiwo-drawer-in-start {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-drawer__panel {
    animation: none;
  }
}
.skiwo-search-dropdown {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  font-family: var(--font-ui);
}
.skiwo-search-dropdown__label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-2);
}
.skiwo-search-dropdown__listbox {
  position: absolute;
  inset-block-start: calc(100% + var(--s-2));
  inset-inline: 0;
  margin: 0;
  padding-block: var(--s-2);
  padding-inline: 0;
  list-style: none;
  max-block-size: 280px;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  box-shadow: var(--sh-float);
  z-index: 50;
}
.skiwo-search-dropdown__listbox[hidden] {
  display: none;
}
.skiwo-search-dropdown__option {
  display: flex;
  align-items: center;
  padding-block: var(--s-3);
  padding-inline: var(--s-5);
  font-size: var(--fs-body-sm);
  color: var(--text-2);
  cursor: pointer;
  transition: background-color 0.12s ease;
}
.skiwo-search-dropdown__option:hover {
  background: var(--surface-2);
}
.skiwo-search-dropdown__option.is-active {
  background: var(--brand-tint);
  box-shadow: inset var(--sh-focus);
}
.skiwo-search-dropdown__option[aria-selected=true] {
  font-weight: 600;
  color: var(--brand-ink);
}
.skiwo-search-dropdown__option[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-search-dropdown__option {
    transition: none;
  }
}
.skiwo-datepicker {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  font-family: var(--font-ui);
}
.skiwo-datepicker__label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-2);
}
.skiwo-datepicker__field {
  position: relative;
  display: flex;
  align-items: center;
}
.skiwo-datepicker__input {
  cursor: pointer;
  padding-inline-end: 40px;
}
.skiwo-datepicker__toggle {
  position: absolute;
  inset-inline-end: var(--s-2);
  inset-block-start: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 28px;
  block-size: 28px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--r-control-sm);
  color: var(--icon-faint);
  cursor: pointer;
}
.skiwo-datepicker__toggle:hover {
  color: var(--text-mid);
  background: var(--surface-2);
}
.skiwo-datepicker__toggle:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-datepicker__popover {
  position: absolute;
  inset-block-start: calc(100% + var(--s-2));
  inset-inline-start: 0;
  z-index: 50;
  inline-size: 288px;
  padding: var(--s-5);
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  box-shadow: var(--sh-float);
}
.skiwo-datepicker__popover[hidden] {
  display: none;
}
.skiwo-datepicker__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-block-end: var(--s-4);
}
.skiwo-datepicker__month {
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text);
}
.skiwo-datepicker__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 28px;
  block-size: 28px;
  padding: 0;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--r-control-sm);
  color: var(--text-mid);
  cursor: pointer;
}
.skiwo-datepicker__nav:hover {
  background: var(--surface-2);
}
.skiwo-datepicker__nav:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-datepicker__grid {
  inline-size: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.skiwo-datepicker__grid th {
  padding-block: var(--s-2);
  font-size: var(--fs-cap);
  font-weight: 600;
  color: var(--text-faint);
  text-align: center;
}
.skiwo-datepicker__grid td {
  padding: 2px;
  text-align: center;
}
.skiwo-datepicker__day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 34px;
  block-size: 34px;
  padding: 0;
  margin: 0 auto;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--r-control-sm);
  font-family: inherit;
  font-size: var(--fs-body-sm);
  color: var(--text-2);
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease;
}
.skiwo-datepicker__day:hover {
  background: var(--brand-tint-2);
}
.skiwo-datepicker__day:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-datepicker__day.is-today {
  font-weight: 700;
  color: var(--brand-ink);
  border-color: var(--brand-tint);
}
.skiwo-datepicker__day.is-selected {
  background: var(--brand);
  color: var(--on-brand);
  font-weight: 600;
}
.skiwo-datepicker__day.is-selected:hover {
  background: var(--brand-hover);
}
.skiwo-datepicker__day--muted {
  color: var(--text-faint2);
  cursor: default;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-datepicker__day {
    transition: none;
  }
}
.skiwo-toaster__region {
  position: fixed;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  inline-size: min(420px, 100% - var(--s-9));
  pointer-events: none;
}
.skiwo-toaster--top-end .skiwo-toaster__region {
  inset-block-start: var(--s-9);
  inset-inline-end: var(--s-9);
}
.skiwo-toaster--bottom-end .skiwo-toaster__region {
  inset-block-end: var(--s-9);
  inset-inline-end: var(--s-9);
  flex-direction: column-reverse;
}
.skiwo-toaster--top-start .skiwo-toaster__region {
  inset-block-start: var(--s-9);
  inset-inline-start: var(--s-9);
}
.skiwo-toaster--bottom-start .skiwo-toaster__region {
  inset-block-end: var(--s-9);
  inset-inline-start: var(--s-9);
  flex-direction: column-reverse;
}
.skiwo-toaster .skiwo-toast {
  pointer-events: auto;
  inline-size: 100%;
}
.skiwo-toaster .skiwo-toast--ok {
  --toast-ink: var(--ok);
  --toast-tint: var(--ok-tint);
}
.skiwo-toaster .skiwo-toast--info {
  --toast-ink: var(--info);
  --toast-tint: var(--info-tint);
}
.skiwo-toaster .skiwo-toast--warn {
  --toast-ink: var(--warn);
  --toast-tint: var(--warn-tint);
}
.skiwo-toaster .skiwo-toast--danger {
  --toast-ink: var(--danger);
  --toast-tint: var(--danger-tint);
}
.skiwo-toaster .skiwo-toast {
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 0.16s ease, transform 0.16s ease;
}
.skiwo-toaster .skiwo-toast.is-shown {
  opacity: 1;
  transform: translateY(0);
}
.skiwo-toaster .skiwo-toast.is-leaving {
  opacity: 0;
  transform: translateY(-6px);
}
.skiwo-toaster--bottom-end .skiwo-toast, .skiwo-toaster--bottom-start .skiwo-toast {
  transform: translateY(6px);
}
.skiwo-toaster--bottom-end .skiwo-toast.is-shown, .skiwo-toaster--bottom-start .skiwo-toast.is-shown {
  transform: translateY(0);
}
.skiwo-toaster--bottom-end .skiwo-toast.is-leaving, .skiwo-toaster--bottom-start .skiwo-toast.is-leaving {
  transform: translateY(6px);
}
.skiwo-toaster .skiwo-toast__dismiss:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-toaster .skiwo-toast {
    transition: none;
    transform: none;
  }
  .skiwo-toaster .skiwo-toast.is-leaving {
    transform: none;
  }
}
.skiwo-table {
  inline-size: 100%;
  border-collapse: collapse;
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  color: var(--text);
  background: var(--surface);
}
.skiwo-table__head {
  position: sticky;
  inset-block-start: 0;
  z-index: 1;
}
.skiwo-table__th {
  position: sticky;
  inset-block-start: 0;
  text-align: start;
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-faint);
  background: var(--surface-2);
  border-block-end: 1px solid var(--border-2);
  padding-block: var(--s-3);
  padding-inline: var(--s-5);
  white-space: nowrap;
}
.skiwo-table__th--end {
  text-align: end;
}
.skiwo-table__row {
  transition: background-color 0.12s ease;
}
.skiwo-table__row + .skiwo-table__row .skiwo-table__cell {
  border-block-start: 1px solid var(--hairline);
}
.skiwo-table__row:hover {
  background: var(--surface-2);
}
.skiwo-table__row--empty:hover {
  background: transparent;
}
.skiwo-table__cell {
  text-align: start;
  padding-block: var(--s-4);
  padding-inline: var(--s-5);
  color: var(--text-2);
  vertical-align: middle;
}
.skiwo-table__cell--end {
  text-align: end;
  font-family: var(--font-mono);
  font-size: var(--fs-body-sm);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.skiwo-table__empty {
  text-align: center;
  color: var(--text-faint);
  font-size: var(--fs-meta);
  padding-block: var(--s-10);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-table__row {
    transition: none;
  }
}
.skiwo-radio-group {
  border: 0;
  margin: 0;
  padding: 0;
  min-inline-size: 0;
  font-family: var(--font-ui);
}
.skiwo-radio-group__legend {
  padding: 0;
  margin-block-end: var(--s-3);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-2);
}
.skiwo-radio-group__req {
  color: var(--destruct);
}
.skiwo-radio-group__options {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}
.skiwo-radio-group__error {
  margin: 0;
  margin-block-start: var(--s-3);
  font-size: var(--fs-meta);
  color: var(--destruct);
}

.skiwo-radio {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
}
.skiwo-radio__input {
  flex: none;
  inline-size: 16px;
  block-size: 16px;
  margin: 0;
  margin-block-start: 2px;
  accent-color: var(--brand);
  cursor: pointer;
}
.skiwo-radio__input:focus-visible {
  outline: none;
  border-radius: var(--r-pill);
  box-shadow: var(--sh-focus);
}
.skiwo-radio__text {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-radio__label {
  font-size: var(--fs-body);
  color: var(--text);
  cursor: pointer;
}
.skiwo-radio__hint {
  margin: 0;
  font-size: var(--fs-meta);
  color: var(--text-faint);
}

.skiwo-radio-group.is-invalid .skiwo-radio__input {
  accent-color: var(--destruct);
}

.skiwo-file {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  font-family: var(--font-ui);
}
.skiwo-file__label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-2);
}
.skiwo-file__zone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  min-block-size: 120px;
  padding-block: var(--s-9);
  padding-inline: var(--s-7);
  text-align: center;
  background: var(--surface-2);
  border: 1px dashed var(--border-4);
  border-radius: var(--r-card);
  color: var(--text-mid);
  cursor: pointer;
  transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}
.skiwo-file__zone:hover {
  border-color: var(--brand);
  background: var(--brand-tint-2);
}
.skiwo-file__zone:focus-within {
  outline: none;
  border-color: var(--brand);
  box-shadow: var(--sh-focus);
}
.skiwo-file__icon {
  font-size: 22px;
  line-height: 1;
  color: var(--icon-faint);
}
.skiwo-file__prompt {
  font-size: var(--fs-body);
  color: var(--text-mid);
}
.skiwo-file__input {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}
.skiwo-file__hint {
  margin: 0;
  font-size: var(--fs-meta);
  color: var(--text-faint);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-file__zone {
    transition: none;
  }
}
.skiwo-card {
  display: block;
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  box-shadow: var(--sh-card);
  font-family: var(--font-ui);
  color: var(--text-2);
  overflow: hidden;
  transition: box-shadow 0.12s ease, border-color 0.12s ease;
}
.skiwo-card:hover {
  box-shadow: var(--sh-raise);
}
.skiwo-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-4);
  padding-block: var(--s-5);
  padding-inline: var(--s-7);
  border-block-end: 1px solid var(--border-2);
}
.skiwo-card__title {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text);
  line-height: var(--lh-tight);
}
.skiwo-card__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  flex: none;
}
.skiwo-card__footer {
  padding-block: var(--s-4);
  padding-inline: var(--s-7);
  border-block-start: 1px solid var(--border-2);
  font-size: var(--fs-meta);
  color: var(--text-muted);
}
.skiwo-card--padded .skiwo-card__body {
  padding-block: var(--s-7);
  padding-inline: var(--s-7);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-card {
    transition: none;
  }
}
.skiwo-detail-item {
  display: flex;
  align-items: baseline;
  gap: var(--s-5);
  padding-block: var(--s-2);
  font-family: var(--font-ui);
}
.skiwo-detail-item + .skiwo-detail-item {
  border-block-start: 1px solid var(--hairline);
}
.skiwo-detail-item__label {
  flex: none;
  inline-size: 40%;
  max-inline-size: 220px;
  margin: 0;
  font-size: var(--fs-meta);
  font-weight: 600;
  color: var(--text-faint);
}
.skiwo-detail-item__value {
  margin: 0;
  flex: 1 1 auto;
  min-inline-size: 0;
  font-size: var(--fs-body);
  color: var(--text-2);
  word-break: break-word;
}

.skiwo-stepper {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--font-ui);
}
.skiwo-stepper__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 1 0;
  gap: var(--s-2);
  text-align: center;
  position: relative;
  min-inline-size: 0;
}
.skiwo-stepper__step + .skiwo-stepper__step .skiwo-stepper__marker::before {
  content: "";
  position: absolute;
  inset-block-start: 14px;
  inset-inline-end: calc(50% + 14px);
  inline-size: calc(100% - 28px);
  block-size: 2px;
  background: var(--border-4);
}
.skiwo-stepper__marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 28px;
  block-size: 28px;
  border-radius: var(--r-pill);
  border: 2px solid var(--border-4);
  background: var(--surface);
  color: var(--text-faint);
  font-size: var(--fs-meta);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  font-family: var(--font-mono);
  flex: none;
  position: relative;
}
.skiwo-stepper__check {
  font-size: 12px;
  line-height: 1;
}
.skiwo-stepper__label {
  font-size: var(--fs-meta);
  color: var(--text-muted);
  line-height: var(--lh-tight);
  word-break: break-word;
}
.skiwo-stepper__step--done .skiwo-stepper__marker {
  border-color: var(--ok);
  background: var(--ok);
  color: var(--on-brand);
}
.skiwo-stepper__step--done + .skiwo-stepper__step .skiwo-stepper__marker::before {
  background: var(--ok);
}
.skiwo-stepper__step--current .skiwo-stepper__marker {
  border-color: var(--brand);
  background: var(--brand-tint);
  color: var(--brand-ink);
}
.skiwo-stepper__step--current .skiwo-stepper__label {
  color: var(--text);
  font-weight: 600;
}
.skiwo-stepper__step--todo .skiwo-stepper__marker {
  border-color: var(--border-4);
  background: var(--surface);
  color: var(--text-faint);
}

.skiwo-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-inline-size: 18px;
  block-size: 18px;
  padding-inline: 5px;
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: 1;
  color: var(--count-ink, var(--brand-ink));
  background: var(--count-tint, var(--brand-tint));
  white-space: nowrap;
  vertical-align: middle;
}
.skiwo-count-badge--dot {
  min-inline-size: 0;
  inline-size: 8px;
  block-size: 8px;
  padding: 0;
  background: var(--count-ink, var(--brand-ink));
}

.skiwo-avatar-group {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.skiwo-avatar-group__item {
  display: inline-flex;
  position: relative;
}
.skiwo-avatar-group__item .skiwo-avatar {
  box-shadow: 0 0 0 2px var(--surface);
}
.skiwo-avatar-group__item + .skiwo-avatar-group__item {
  margin-inline-start: -8px;
}
.skiwo-avatar-group--sm .skiwo-avatar-group__item + .skiwo-avatar-group__item {
  margin-inline-start: -6px;
}
.skiwo-avatar-group--lg .skiwo-avatar-group__item + .skiwo-avatar-group__item {
  margin-inline-start: -12px;
}
.skiwo-avatar-group__overflow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  inline-size: 32px;
  block-size: 32px;
  border-radius: var(--r-pill);
  background: var(--surface-2);
  color: var(--text-muted);
  font-family: var(--font-ui);
  font-size: var(--fs-meta);
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 0 0 2px var(--surface);
  user-select: none;
}
.skiwo-avatar-group__overflow--sm {
  inline-size: 24px;
  block-size: 24px;
  font-size: var(--fs-cap);
}
.skiwo-avatar-group__overflow--lg {
  inline-size: 44px;
  block-size: 44px;
  font-size: var(--fs-title);
}

.skiwo-checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  font-family: var(--font-ui);
}
.skiwo-checkbox__input {
  flex: none;
  inline-size: 16px;
  block-size: 16px;
  margin: 0;
  margin-block-start: 2px;
  accent-color: var(--brand);
  cursor: pointer;
}
.skiwo-checkbox__input:focus-visible {
  outline: none;
  border-radius: var(--r-control-sm);
  box-shadow: var(--sh-focus);
}
.skiwo-checkbox__input:disabled {
  cursor: not-allowed;
}
.skiwo-checkbox__text {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-checkbox__label {
  font-size: var(--fs-body);
  color: var(--text);
  cursor: pointer;
}
.skiwo-checkbox__req {
  color: var(--destruct);
}
.skiwo-checkbox__hint {
  margin: 0;
  font-size: var(--fs-meta);
  color: var(--text-faint);
}
.skiwo-checkbox__error {
  margin: 0;
  font-size: var(--fs-meta);
  color: var(--destruct);
}

.skiwo-checkbox:has(.skiwo-checkbox__input:disabled) .skiwo-checkbox__label {
  color: var(--text-faint2);
}
.skiwo-checkbox:has(.skiwo-checkbox__input:disabled) .skiwo-checkbox__label {
  cursor: not-allowed;
}

.skiwo-checkbox.is-invalid .skiwo-checkbox__input {
  accent-color: var(--destruct);
}

.skiwo-switch {
  display: flex;
  align-items: center;
  font-family: var(--font-ui);
}
.skiwo-switch__input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skiwo-switch__label {
  display: inline-flex;
  align-items: center;
  gap: var(--s-3);
  cursor: pointer;
}
.skiwo-switch__track {
  flex: none;
  position: relative;
  display: inline-block;
  inline-size: 36px;
  block-size: 20px;
  border-radius: var(--r-pill);
  background: var(--border-4);
  transition: background-color 0.15s ease;
}
.skiwo-switch__thumb {
  position: absolute;
  inset-block-start: 2px;
  inset-inline-start: 2px;
  inline-size: 16px;
  block-size: 16px;
  border-radius: var(--r-pill);
  background: var(--surface);
  box-shadow: var(--sh-card);
  transition: transform 0.15s ease;
}
.skiwo-switch__text {
  font-size: var(--fs-body);
  color: var(--text);
}
.skiwo-switch__input:checked ~ .skiwo-switch__label .skiwo-switch__track {
  background: var(--brand);
}
.skiwo-switch__input:checked ~ .skiwo-switch__label .skiwo-switch__thumb {
  transform: translateX(16px);
}
.skiwo-switch__input:focus-visible ~ .skiwo-switch__label .skiwo-switch__track {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-switch__input:disabled ~ .skiwo-switch__label {
  cursor: not-allowed;
}
.skiwo-switch__input:disabled ~ .skiwo-switch__label .skiwo-switch__track {
  opacity: 0.55;
}
.skiwo-switch__input:disabled ~ .skiwo-switch__label .skiwo-switch__text {
  color: var(--text-faint2);
}

[dir=rtl] .skiwo-switch__input:checked ~ .skiwo-switch__label .skiwo-switch__thumb {
  transform: translateX(-16px);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-switch__track,
  .skiwo-switch__thumb {
    transition: none;
  }
}
.skiwo-slider {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  font-family: var(--font-ui);
}
.skiwo-slider__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-3);
}
.skiwo-slider__label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-2);
}
.skiwo-slider__output {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text);
  font-variant-numeric: tabular-nums;
}
.skiwo-slider__input {
  inline-size: 100%;
  accent-color: var(--brand);
  cursor: pointer;
}
.skiwo-slider__input:focus-visible {
  outline: none;
  border-radius: var(--r-pill);
  box-shadow: var(--sh-focus);
}
.skiwo-slider__input:disabled {
  cursor: not-allowed;
  accent-color: var(--text-faint2);
}

.skiwo-fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-inline-size: 0;
  font-family: var(--font-ui);
}
.skiwo-fieldset__legend {
  padding: 0;
  margin-block-end: var(--s-3);
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text);
}
.skiwo-fieldset__description {
  margin: 0;
  margin-block-end: var(--s-5);
  font-size: var(--fs-meta);
  color: var(--text-faint);
}
.skiwo-fieldset__fields {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
}

.skiwo-accordion {
  display: block;
  inline-size: 100%;
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  background: var(--surface);
  overflow: hidden;
}
.skiwo-accordion__item + .skiwo-accordion__item {
  border-block-start: 1px solid var(--hairline);
}
.skiwo-accordion__heading {
  margin: 0;
  font: inherit;
}
.skiwo-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
  inline-size: 100%;
  min-block-size: var(--tap-min);
  padding-block: var(--s-5);
  padding-inline: var(--s-7);
  background: transparent;
  border: 0;
  text-align: start;
  font-family: var(--font-ui);
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text);
  cursor: pointer;
}
.skiwo-accordion__trigger:hover {
  background: var(--surface-2);
}
.skiwo-accordion__trigger:focus-visible {
  outline: none;
  box-shadow: inset var(--sh-focus);
}
.skiwo-accordion__title {
  flex: 1 1 auto;
}
.skiwo-accordion__icon {
  flex: 0 0 auto;
  font-size: 12px;
  color: var(--icon-faint);
  transition: transform 0.18s ease;
}
.skiwo-accordion__trigger[aria-expanded=true] .skiwo-accordion__icon {
  transform: rotate(180deg);
}
.skiwo-accordion__panel[hidden] {
  display: none;
}
.skiwo-accordion__body {
  padding-block-end: var(--s-7);
  padding-inline: var(--s-7);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text-2);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-accordion__icon {
    transition: none;
  }
}
.skiwo-data-table__th--sortable {
  padding: 0;
}
.skiwo-data-table__sort {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  inline-size: 100%;
  min-block-size: var(--tap-min);
  padding-block: var(--s-3);
  padding-inline: var(--s-5);
  background: transparent;
  border: 0;
  font: inherit;
  color: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  text-align: start;
  cursor: pointer;
}
.skiwo-data-table__sort:hover {
  color: var(--text-mid);
}
.skiwo-data-table__sort:focus-visible {
  outline: none;
  box-shadow: inset var(--sh-focus);
}
.skiwo-table__th--end .skiwo-data-table__sort {
  justify-content: flex-end;
}
.skiwo-data-table__sort-icon {
  font-size: 10px;
  color: var(--icon-faint);
}
.skiwo-data-table__th--sortable[aria-sort=ascending] .skiwo-data-table__sort-icon, .skiwo-data-table__th--sortable[aria-sort=descending] .skiwo-data-table__sort-icon {
  color: var(--brand);
}
.skiwo-data-table__select-th, .skiwo-data-table__select-cell {
  inline-size: var(--s-10);
  text-align: center;
  white-space: nowrap;
}
.skiwo-data-table__select-all, .skiwo-data-table__select-row {
  inline-size: var(--s-7);
  block-size: var(--s-7);
  accent-color: var(--brand);
  cursor: pointer;
}
.skiwo-data-table__select-all:focus-visible, .skiwo-data-table__select-row:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-data-table[data-selected-count]:not([data-selected-count="0"]) .skiwo-data-table__select-cell {
  color: var(--brand-ink);
}

.skiwo-confirm-row {
  display: block;
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  padding-block: var(--s-5);
  padding-inline: var(--s-7);
  font-family: var(--font-ui);
  color: var(--text-2);
}
.skiwo-confirm-row__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-4);
  margin-block-end: var(--s-5);
}
.skiwo-confirm-row__label {
  font-family: var(--font-mono);
  font-size: var(--fs-cap);
  color: var(--text-faint2);
  word-break: break-word;
}
.skiwo-confirm-row__panes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-4);
}
.skiwo-confirm-row__pane {
  display: block;
  min-inline-size: 0;
  padding-block: var(--s-4);
  padding-inline: var(--s-5);
  border: 1px solid var(--border-2);
  border-radius: var(--r-control);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  word-break: break-word;
}
.skiwo-confirm-row__pane--source {
  background: var(--surface-2);
  color: var(--text-3);
}
.skiwo-confirm-row__pane--value {
  background: var(--surface);
  color: var(--text-2);
}
.skiwo-confirm-row__provenance {
  margin-block-start: var(--s-4);
  font-size: var(--fs-meta);
}
.skiwo-confirm-row__provenance-link {
  color: var(--brand-ink);
  text-decoration: none;
  border-radius: var(--r-control-sm);
}
.skiwo-confirm-row__provenance-link:hover {
  text-decoration: underline;
}
.skiwo-confirm-row__provenance-link:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-confirm-row__actions {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin-block-start: var(--s-5);
}
.skiwo-confirm-row.is-confirmed {
  border-color: var(--ok);
  background: var(--ok-tint);
}

.skiwo-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--font-ui);
}
.skiwo-timeline__item {
  position: relative;
  display: flex;
  gap: var(--s-5);
  padding-block-end: var(--s-7);
}
.skiwo-timeline__item:not(:last-child) .skiwo-timeline__marker::before {
  content: "";
  position: absolute;
  inset-block-start: var(--s-5);
  inset-block-end: calc(-1 * var(--s-3));
  inline-size: 1px;
  background: var(--border-3);
}
.skiwo-timeline__marker {
  position: relative;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--s-5);
  padding-block-start: var(--s-1);
}
.skiwo-timeline__content {
  flex: 1 1 auto;
  min-inline-size: 0;
}
.skiwo-timeline__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-4);
}
.skiwo-timeline__title {
  font-size: var(--fs-body);
  font-weight: 600;
  color: var(--text);
  word-break: break-word;
}
.skiwo-timeline__time {
  flex: none;
  font-family: var(--font-mono);
  font-size: var(--fs-cap);
  color: var(--text-faint);
}
.skiwo-timeline__meta {
  margin-block-start: var(--s-1);
  font-family: var(--font-mono);
  font-size: var(--fs-meta);
  color: var(--text-muted);
}
.skiwo-timeline__body {
  margin-block-start: var(--s-2);
  font-size: var(--fs-body-sm);
  line-height: var(--lh-body);
  color: var(--text-mid);
  word-break: break-word;
}

.skiwo-stat {
  display: block;
  position: relative;
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-inline-start: 3px solid var(--stat-accent, var(--brand-ink));
  border-radius: var(--r-card);
  box-shadow: var(--sh-card);
  padding-block: var(--s-6);
  padding-inline: var(--s-7);
  font-family: var(--font-ui);
}
.skiwo-stat__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 32px;
  block-size: 32px;
  margin-block-end: var(--s-4);
  border-radius: var(--r-control);
  background: var(--brand-tint);
  color: var(--stat-accent, var(--brand-ink));
}
.skiwo-stat__glyph {
  font-size: 16px;
  line-height: 1;
}
.skiwo-stat__value {
  font-size: var(--fs-page);
  font-weight: var(--fw-page);
  line-height: var(--lh-tight);
  color: var(--text);
  word-break: break-word;
}
.skiwo-stat__label {
  margin-block-start: var(--s-2);
  font-size: var(--fs-meta);
  color: var(--text-muted);
}
.skiwo-stat__sub {
  margin-block-start: var(--s-1);
  font-size: var(--fs-cap);
  color: var(--text-faint);
}
.skiwo-stat__trend {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  margin-block-start: var(--s-4);
  font-size: var(--fs-meta);
  font-weight: 600;
}
.skiwo-stat__trend--up {
  color: var(--ok);
}
.skiwo-stat__trend--down {
  color: var(--danger);
}
.skiwo-stat__arrow {
  line-height: 1;
}

.skiwo-sla {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  padding-block: var(--s-1);
  padding-inline: var(--s-3);
  border-radius: var(--r-pill);
  background: var(--sla-tint, var(--surface-2));
  color: var(--sla-ink, var(--ink-2));
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.skiwo-sla__glyph {
  font-size: 0.85em;
}
.skiwo-sla__label {
  font-variant-numeric: tabular-nums;
}
.skiwo-sla--late {
  box-shadow: inset 0 0 0 1px var(--sla-ink, var(--danger));
}

.skiwo-bars {
  margin: 0;
  font-family: var(--font-ui);
}
.skiwo-bars__plot {
  display: flex;
  align-items: flex-end;
  gap: var(--s-2);
  block-size: 160px;
  padding-block-end: var(--s-5);
  position: relative;
}
.skiwo-bars__col {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  block-size: 100%;
  gap: var(--s-2);
}
.skiwo-bars__bar {
  inline-size: 100%;
  min-block-size: 2px;
  background: var(--brand);
  border-radius: var(--r-2) var(--r-2) 0 0;
  transition: block-size 0.3s ease;
}
.skiwo-bars__tick {
  position: absolute;
  inset-block-end: 0;
  font-size: var(--fs-2xs);
  color: var(--ink-3);
  font-variant-numeric: tabular-nums;
}
.skiwo-bars__caption {
  margin-block-start: var(--s-3);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  text-align: center;
}

.skiwo-textdiff {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--ink-1);
}
.skiwo-textdiff__del {
  text-decoration: line-through;
  color: var(--danger);
  background: var(--danger-tint, transparent);
  text-decoration-thickness: 1px;
}
.skiwo-textdiff__ins {
  text-decoration: none;
  color: var(--ok-ink, var(--ok));
  background: var(--ok-tint, transparent);
  border-radius: var(--r-1);
  padding-inline: 2px;
}

.skiwo-toc {
  position: sticky;
  inset-block-start: var(--s-6);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
}
.skiwo-toc__title {
  margin: 0 0 var(--s-3);
  font-size: var(--fs-2xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-3);
}
.skiwo-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  border-inline-start: 2px solid var(--border-3);
}
.skiwo-toc__link {
  display: block;
  padding-block: var(--s-1);
  padding-inline: var(--s-4);
  margin-inline-start: -2px;
  border-inline-start: 2px solid transparent;
  color: var(--ink-2);
  text-decoration: none;
}
.skiwo-toc__link:hover {
  color: var(--ink-1);
}
.skiwo-toc__link.is-active {
  color: var(--brand);
  border-inline-start-color: var(--brand);
  font-weight: 600;
}

.skiwo-sendlater {
  min-inline-size: 220px;
  font-family: var(--font-ui);
}
.skiwo-sendlater__title {
  margin: 0 0 var(--s-2);
  padding-inline: var(--s-3);
  font-size: var(--fs-2xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-3);
}
.skiwo-sendlater__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.skiwo-sendlater__opt {
  inline-size: 100%;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-4);
  padding-block: var(--s-2);
  padding-inline: var(--s-3);
  background: transparent;
  border: 0;
  border-radius: var(--r-2);
  text-align: start;
  cursor: pointer;
  color: var(--ink-1);
  font: inherit;
}
.skiwo-sendlater__opt:hover, .skiwo-sendlater__opt:focus-visible {
  background: var(--surface-2);
}
.skiwo-sendlater__opt--custom {
  color: var(--brand);
}
.skiwo-sendlater__opt-hint {
  font-size: var(--fs-xs);
  color: var(--ink-3);
  font-variant-numeric: tabular-nums;
}

.skiwo-presence {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  color: var(--ink-2);
}
.skiwo-presence__dot {
  inline-size: 8px;
  block-size: 8px;
  border-radius: var(--r-pill);
  background: var(--presence-color, var(--ink-3));
  flex: none;
}
.skiwo-presence--typing .skiwo-presence__dot {
  animation: skiwo-presence-pulse 1.2s ease-in-out infinite;
}

@keyframes skiwo-presence-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.35;
  }
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-presence--typing .skiwo-presence__dot {
    animation: none;
  }
}
.skiwo-timetracker {
  display: inline-flex;
  align-items: center;
  gap: var(--s-3);
  padding-block: var(--s-1);
  padding-inline: var(--s-2) var(--s-3);
  border: 1px solid var(--border-3);
  border-radius: var(--r-pill);
  background: var(--surface);
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
}
.skiwo-timetracker__toggle {
  inline-size: 24px;
  block-size: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--surface-2);
  color: var(--ink-1);
  cursor: pointer;
}
.skiwo-timetracker__toggle:hover, .skiwo-timetracker__toggle:focus-visible {
  background: var(--brand);
  color: var(--on-brand, #fff);
}
.skiwo-timetracker__elapsed {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--ink-1);
}
.skiwo-timetracker__logged {
  color: var(--ink-3);
}
.skiwo-timetracker.is-running {
  border-color: var(--ok);
}
.skiwo-timetracker.is-running .skiwo-timetracker__elapsed {
  color: var(--ok-ink, var(--ok));
  animation: skiwo-timetracker-pulse 1.6s ease-in-out infinite;
}

@keyframes skiwo-timetracker-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.55;
  }
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-timetracker.is-running .skiwo-timetracker__elapsed {
    animation: none;
  }
}
.skiwo-cmdk {
  inline-size: min(560px, 92vw);
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  box-shadow: var(--sh-pop, var(--sh-card));
  overflow: hidden;
  font-family: var(--font-ui);
}
.skiwo-cmdk__field {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding-block: var(--s-4);
  padding-inline: var(--s-5);
  border-block-end: 1px solid var(--border-3);
}
.skiwo-cmdk__search-glyph {
  color: var(--ink-3);
}
.skiwo-cmdk__input {
  flex: 1;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: var(--fs-md);
  color: var(--ink-1);
}
.skiwo-cmdk__input:focus {
  outline: none;
}
.skiwo-cmdk__results {
  max-block-size: 360px;
  overflow-y: auto;
  padding-block: var(--s-2);
}
.skiwo-cmdk__group-heading {
  margin: 0;
  padding-block: var(--s-2);
  padding-inline: var(--s-5);
  font-size: var(--fs-2xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-3);
}
.skiwo-cmdk__item {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding-block: var(--s-2);
  padding-inline: var(--s-5);
  cursor: pointer;
}
.skiwo-cmdk__item:hover, .skiwo-cmdk__item[aria-selected=true] {
  background: var(--surface-2);
}
.skiwo-cmdk__item-label {
  flex: 1;
  color: var(--ink-1);
}
.skiwo-cmdk__item-hint {
  font-size: var(--fs-xs);
  color: var(--ink-3);
}
.skiwo-cmdk__keys {
  display: inline-flex;
  gap: var(--s-1);
}
.skiwo-cmdk__kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 20px;
  padding-inline: var(--s-1);
  border: 1px solid var(--border-2);
  border-radius: var(--r-2);
  background: var(--surface-2);
  font-size: var(--fs-2xs);
  color: var(--ink-2);
}

.skiwo-widget {
  inline-size: min(420px, 96vw);
  margin-inline: auto;
  margin-block: var(--s-8);
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  box-shadow: var(--sh-card);
  overflow: hidden;
  font-family: var(--font-ui);
}
.skiwo-widget__head {
  padding-block: var(--s-5);
  padding-inline: var(--s-6);
  border-block-end: 1px solid var(--border-3);
}
.skiwo-widget__brand {
  display: block;
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--ink-3);
}
.skiwo-widget__title {
  margin: var(--s-1) 0 0;
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--ink-1);
}
.skiwo-widget__body {
  display: block;
  padding-block: var(--s-6);
  padding-inline: var(--s-6);
}
.skiwo-widget__foot {
  padding-block: var(--s-3);
  padding-inline: var(--s-6);
  border-block-start: 1px solid var(--border-3);
  font-size: var(--fs-2xs);
  color: var(--ink-3);
  text-align: center;
}

.skiwo-kv {
  display: block;
  font-family: var(--font-ui);
}
.skiwo-kv__title {
  margin: 0 0 var(--s-5);
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text);
  line-height: var(--lh-tight);
}
.skiwo-kv__list {
  display: grid;
  gap: var(--s-4) var(--s-7);
  margin: 0;
}
.skiwo-kv--cols-1 .skiwo-kv__list {
  grid-template-columns: 1fr;
}
.skiwo-kv--cols-2 .skiwo-kv__list {
  grid-template-columns: 1fr 1fr;
}
.skiwo-kv__pair {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  min-inline-size: 0;
}
.skiwo-kv__label {
  margin: 0;
  font-size: var(--fs-meta);
  font-weight: 600;
  color: var(--text-faint);
}
.skiwo-kv__value {
  margin: 0;
  font-size: var(--fs-body);
  color: var(--text-2);
  word-break: break-word;
}

@media (min-width: 480px) {
  .skiwo-kv--cols-1 .skiwo-kv__pair {
    flex-direction: row;
    align-items: baseline;
    gap: var(--s-5);
  }
  .skiwo-kv--cols-1 .skiwo-kv__label {
    flex: none;
    inline-size: 40%;
    max-inline-size: 220px;
  }
}
.skiwo-app-shell {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: var(--header-h) auto 1fr;
  grid-template-areas: "header" "strip" "main";
  min-block-size: 100vh;
  background: var(--bg-app);
  font-family: var(--font-ui);
  color: var(--text-2);
}
.skiwo-app-shell--with-sidebar {
  grid-template-columns: var(--sidebar-w) 1fr;
  grid-template-areas: "header header" "strip  strip" "sidebar main";
}
.skiwo-app-shell--with-sidebar:has(.skiwo-sidebar.is-collapsed) {
  grid-template-columns: var(--sidebar-w-collapsed) 1fr;
}
.skiwo-app-shell--with-sidebar:has(.skiwo-sidebar.is-collapsed) .skiwo-app-shell__sidebar {
  inline-size: var(--sidebar-w-collapsed);
}
.skiwo-app-shell__header {
  grid-area: header;
  min-inline-size: 0;
}
.skiwo-app-shell__status-strip {
  grid-area: strip;
  min-inline-size: 0;
}
.skiwo-app-shell__sidebar {
  grid-area: sidebar;
  inline-size: var(--sidebar-w);
  min-block-size: 0;
  background: var(--surface);
  border-inline-end: 1px solid var(--border-2);
  overflow-y: auto;
  transition: inline-size 0.16s ease;
}
.skiwo-app-shell__main {
  grid-area: main;
  min-inline-size: 0;
  min-block-size: 0;
}
.skiwo-app-shell__content {
  inline-size: 100%;
  max-inline-size: var(--content-max);
  margin-inline: auto;
  padding-block: var(--s-9);
  padding-inline: var(--s-10);
}
.skiwo-app-shell__sidebar:focus-visible, .skiwo-app-shell__main:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}

.skiwo-header {
  display: flex;
  align-items: center;
  gap: var(--s-7);
  block-size: var(--header-h);
  padding-inline: var(--s-7);
  background: var(--surface);
  border-block-end: 1px solid var(--border-2);
  font-family: var(--font-ui);
  color: var(--text-2);
}
.skiwo-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--s-3);
  flex: none;
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text);
}
.skiwo-header__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-5);
  flex: 1 1 auto;
  min-inline-size: 0;
}
.skiwo-header__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  flex: none;
  margin-inline-start: auto;
}

.skiwo-page-header {
  display: block;
  font-family: var(--font-ui);
  color: var(--text-2);
  margin-block-end: var(--dz-pagehead-gap);
}
.skiwo-page-header__breadcrumbs {
  margin-block-end: var(--s-4);
}
.skiwo-page-header__bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--s-7);
  flex-wrap: wrap;
}
.skiwo-page-header__heading {
  min-inline-size: 0;
}
.skiwo-page-header__title {
  margin: 0;
  font-size: var(--fs-page);
  font-weight: var(--fw-page);
  color: var(--text);
  line-height: var(--lh-tight);
}
.skiwo-page-header__subtitle {
  margin: 0;
  margin-block-start: var(--s-2);
  font-size: var(--fs-body);
  color: var(--text-muted);
  line-height: var(--lh-body);
}
.skiwo-page-header__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--s-3) var(--s-7);
  margin: 0;
  margin-block-start: var(--s-4);
}
.skiwo-page-header__meta-item {
  display: inline-flex;
  align-items: baseline;
  gap: var(--s-2);
  min-inline-size: 0;
}
.skiwo-page-header__meta-label {
  margin: 0;
  font-size: var(--fs-meta);
  color: var(--text-faint);
}
.skiwo-page-header__meta-value {
  margin: 0;
  margin-inline-start: 0;
  font-size: var(--fs-meta);
  font-weight: var(--fw-title);
  color: var(--text-2);
}
.skiwo-page-header__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  flex: none;
  margin-inline-start: auto;
}

.skiwo-role-gate.is-blocked {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  cursor: not-allowed;
}
.skiwo-role-gate__content {
  opacity: 0.45;
  pointer-events: none;
  filter: grayscale(1);
  transition: opacity 0.12s ease;
}
.skiwo-role-gate__lock {
  flex: none;
  color: var(--text-faint);
  font-size: var(--fs-sm);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-role-gate__content {
    transition: none;
  }
}
.skiwo-nav-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--s-3);
  min-block-size: var(--tap-min);
  padding-block: var(--dz-nav-pad-block);
  padding-inline: var(--dz-nav-pad-inline);
  border-radius: var(--r-control);
  font-family: var(--font-ui);
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text-mid);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.12s ease, background-color 0.12s ease;
}
.skiwo-nav-item:hover {
  background: var(--surface-2);
  color: var(--text-2);
}
.skiwo-nav-item:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-nav-item__icon {
  inline-size: 18px;
  text-align: center;
  color: var(--icon-faint);
  flex: none;
}
.skiwo-nav-item__label {
  flex: 1 1 auto;
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.skiwo-nav-item__badge {
  flex: none;
  margin-inline-start: auto;
}
.skiwo-nav-item.is-active {
  background: var(--brand-tint);
  color: var(--brand-ink);
}
.skiwo-nav-item.is-active .skiwo-nav-item__icon {
  color: var(--brand-ink);
}
.skiwo-nav-item.is-active::before {
  content: "";
  position: absolute;
  inset-block: var(--s-2);
  inset-inline-start: 0;
  inline-size: 3px;
  border-radius: var(--r-pill);
  background: var(--brand);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-nav-item {
    transition: none;
  }
}
.skiwo-nav-sub-item {
  position: relative;
  display: flex;
  align-items: center;
  min-block-size: var(--tap-min);
  margin-inline-start: var(--s-7);
  padding-block: var(--s-1);
  padding-inline: var(--s-5);
  border-inline-start: 2px solid var(--border-2);
  border-radius: 0 var(--r-control) var(--r-control) 0;
  font-family: var(--font-ui);
  font-size: var(--fs-body-sm);
  font-weight: var(--fw-title);
  color: var(--text-muted);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.12s ease, background-color 0.12s ease, border-color 0.12s ease;
}
.skiwo-nav-sub-item:hover {
  color: var(--text-2);
}
.skiwo-nav-sub-item:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-nav-sub-item__label {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.skiwo-nav-sub-item.is-active {
  background: var(--brand-tint-2);
  color: var(--brand-ink);
  border-inline-start-color: var(--brand);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-nav-sub-item {
    transition: none;
  }
}
.skiwo-settings-subnav {
  display: flex;
  flex-direction: column;
  gap: var(--s-9);
}
.skiwo-settings-subnav__group {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-settings-subnav__title {
  margin: 0;
  padding-inline: var(--s-5);
  padding-block-end: var(--s-2);
  font-family: var(--font-ui);
  font-size: var(--fs-cap);
  font-weight: var(--fw-tiny);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.skiwo-settings-subnav__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-settings-subnav__link {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  min-block-size: var(--tap-min);
  padding-block: var(--s-2);
  padding-inline: var(--s-5);
  border-radius: var(--r-control);
  font-family: var(--font-ui);
  font-size: var(--fs-body-sm);
  font-weight: var(--fw-title);
  color: var(--text-mid);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.12s ease, background-color 0.12s ease;
}
.skiwo-settings-subnav__link:hover {
  background: var(--surface-2);
  color: var(--text-2);
}
.skiwo-settings-subnav__link:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-settings-subnav__link.is-active {
  position: relative;
  background: var(--brand-tint);
  color: var(--brand-ink);
}
.skiwo-settings-subnav__link.is-active::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block: var(--s-2);
  inline-size: 3px;
  border-radius: var(--r-pill);
  background: var(--brand);
}
.skiwo-settings-subnav__link.is-active .skiwo-settings-subnav__icon {
  color: var(--brand-ink);
}
.skiwo-settings-subnav__link.is-locked {
  color: var(--text-faint);
}
.skiwo-settings-subnav__icon {
  flex: none;
  color: var(--icon-faint);
}
.skiwo-settings-subnav__label {
  flex: 1 1 auto;
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.skiwo-settings-subnav__lock {
  flex: none;
  margin-inline-start: auto;
  font-size: var(--fs-cap);
  color: var(--icon-faint);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-settings-subnav__link {
    transition: none;
  }
}
.skiwo-sidebar {
  position: relative;
  display: flex;
  flex-direction: column;
  inline-size: var(--sidebar-w);
  block-size: 100%;
  padding: var(--dz-rail-pad);
  gap: var(--s-3);
  background: var(--surface);
  border-inline-end: 1px solid var(--border-2);
  transition: inline-size 0.16s ease;
}
.skiwo-sidebar__toggle {
  align-self: flex-end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--s-10);
  block-size: var(--s-10);
  padding: 0;
  border: 1px solid var(--border-3);
  border-radius: var(--r-control);
  background: var(--surface);
  color: var(--text-mid);
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease;
}
.skiwo-sidebar__toggle:hover {
  background: var(--surface-2);
  color: var(--text-2);
}
.skiwo-sidebar__toggle:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-sidebar__toggle-icon--expand {
  display: none;
}
.skiwo-sidebar__toggle-icon--collapse {
  display: inline-block;
}
.skiwo-sidebar__header {
  flex: none;
}
.skiwo-sidebar__nav {
  flex: 1 1 auto;
  min-block-size: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-sidebar__footer {
  flex: none;
  margin-block-start: auto;
  padding-block-start: var(--s-5);
  border-block-start: 1px solid var(--border-1);
}
.skiwo-sidebar.is-collapsed {
  inline-size: var(--sidebar-w-collapsed);
}
.skiwo-sidebar.is-collapsed .skiwo-sidebar__toggle {
  align-self: center;
}
.skiwo-sidebar.is-collapsed .skiwo-sidebar__toggle-icon--collapse {
  display: none;
}
.skiwo-sidebar.is-collapsed .skiwo-sidebar__toggle-icon--expand {
  display: inline-block;
}
.skiwo-sidebar.is-collapsed .skiwo-sidebar__header {
  display: none;
}
.skiwo-sidebar.is-collapsed .skiwo-sidebar__footer {
  display: flex;
  justify-content: center;
  padding-inline: var(--s-1);
  overflow: hidden;
}
.skiwo-sidebar.is-collapsed .skiwo-nav-item__badge {
  position: absolute;
  inset-block-start: var(--s-1);
  inset-inline-end: var(--s-1);
  inline-size: 8px;
  block-size: 8px;
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  border-radius: var(--r-pill);
  background: var(--brand);
  box-shadow: 0 0 0 1.5px var(--surface);
}
.skiwo-sidebar.is-collapsed .skiwo-nav-item__badge > * {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skiwo-sidebar.is-collapsed .skiwo-nav-item__label,
.skiwo-sidebar.is-collapsed .skiwo-nav-sub-item__label {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skiwo-sidebar.is-collapsed .skiwo-nav-item {
  justify-content: center;
  padding-inline: var(--s-2);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-sidebar,
  .skiwo-sidebar__toggle {
    transition: none;
  }
}
.skiwo-popover {
  position: relative;
  display: inline-block;
}
.skiwo-popover__trigger {
  gap: var(--s-2);
}
.skiwo-popover__caret {
  font-size: 10px;
}
.skiwo-popover__panel {
  position: absolute;
  min-inline-size: 240px;
  max-inline-size: 360px;
  padding: var(--s-5);
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  box-shadow: var(--sh-float);
  color: var(--text-2);
  font-size: var(--fs-body-sm);
  z-index: 50;
}
.skiwo-popover__panel:focus-visible {
  outline: none;
  box-shadow: var(--sh-float), var(--sh-focus);
}
.skiwo-popover__panel--bottom-start, .skiwo-popover__panel--bottom-end {
  inset-block-start: calc(100% + var(--s-2));
}
.skiwo-popover__panel--top-start, .skiwo-popover__panel--top-end {
  inset-block-end: calc(100% + var(--s-2));
}
.skiwo-popover__panel--bottom-start, .skiwo-popover__panel--top-start {
  inset-inline-start: 0;
}
.skiwo-popover__panel--bottom-end, .skiwo-popover__panel--top-end {
  inset-inline-end: 0;
}
.skiwo-popover__panel[hidden] {
  display: none;
}

.skiwo-copy {
  display: inline-flex;
}
.skiwo-copy__btn {
  gap: var(--s-2);
}

.skiwo-confirm-dialog-root {
  display: inline-block;
}

.skiwo-confirm-dialog {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--s-7);
}
.skiwo-confirm-dialog[hidden] {
  display: none;
}
.skiwo-confirm-dialog__scrim {
  position: absolute;
  inset: 0;
  background: rgba(20, 22, 40, 0.42);
}
.skiwo-confirm-dialog__dialog {
  position: relative;
  inline-size: 100%;
  max-inline-size: 460px;
  max-block-size: calc(100vh - 2 * var(--s-10));
  overflow: auto;
  background: var(--surface);
  border-radius: var(--r-card-lg);
  box-shadow: var(--sh-float);
  font-family: var(--font-ui);
  color: var(--text-2);
  animation: skiwo-confirm-dialog-in 0.16s ease;
}
.skiwo-confirm-dialog__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
  padding-block: var(--s-7);
  padding-inline: var(--s-7);
  border-block-end: 1px solid var(--border-2);
}
.skiwo-confirm-dialog__title {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text);
  line-height: var(--lh-tight);
}
.skiwo-confirm-dialog__close {
  border: 0;
  background: transparent;
  color: var(--text-mid);
  cursor: pointer;
  inline-size: 32px;
  block-size: 32px;
  border-radius: var(--r-control);
  flex: none;
}
.skiwo-confirm-dialog__close:hover {
  background: var(--surface-2);
}
.skiwo-confirm-dialog__close:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-confirm-dialog__body {
  padding-block: var(--s-7);
  padding-inline: var(--s-7);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text-muted);
}
.skiwo-confirm-dialog__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--s-3);
  padding-block: var(--s-5);
  padding-inline: var(--s-7);
  border-block-start: 1px solid var(--border-2);
}
.skiwo-confirm-dialog__confirm {
  display: inline-flex;
  align-items: center;
}

@keyframes skiwo-confirm-dialog-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-confirm-dialog__dialog {
    animation: none;
  }
}
.skiwo-list {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-inline-start: 0;
  display: flex;
  flex-direction: column;
  font-family: var(--font-ui);
  color: var(--text-2);
}
.skiwo-list--dividers > .skiwo-list-item + .skiwo-list-item {
  border-block-start: 1px solid var(--hairline);
}

.skiwo-list-item {
  display: block;
  list-style: none;
}
.skiwo-list-item__row {
  display: flex;
  align-items: center;
  gap: var(--s-5);
  min-block-size: var(--tap-min);
  padding-block: var(--s-3);
  padding-inline: var(--s-5);
  color: inherit;
  text-decoration: none;
}
.skiwo-list-item--link > .skiwo-list-item__row {
  border-radius: var(--r-control);
  transition: background-color 0.12s ease;
}
.skiwo-list-item--link > .skiwo-list-item__row:hover {
  background: var(--surface-2);
}
.skiwo-list-item--link > .skiwo-list-item__row:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-list-item__leading, .skiwo-list-item__trailing {
  display: inline-flex;
  align-items: center;
  flex: none;
  color: var(--icon-faint);
}
.skiwo-list-item__content {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  min-inline-size: 0;
  flex: 1 1 auto;
}
.skiwo-list-item__title {
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text);
  line-height: var(--lh-tight);
  word-break: break-word;
}
.skiwo-list-item__subtitle {
  font-size: var(--fs-meta);
  color: var(--text-muted);
  line-height: var(--lh-tight);
  word-break: break-word;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-list-item--link > .skiwo-list-item__row {
    transition: none;
  }
}
.skiwo-kbd {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  vertical-align: middle;
}
.skiwo-kbd__key {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 18px;
  padding-block: var(--s-1);
  padding-inline: var(--s-2);
  font-family: var(--font-mono);
  font-size: var(--fs-cap);
  line-height: 1;
  color: var(--text-mid);
  background: var(--surface-2);
  border: 1px solid var(--border-4);
  border-block-end-width: 2px;
  border-radius: var(--r-control-sm);
}
.skiwo-kbd__sep {
  color: var(--text-faint);
  font-size: var(--fs-cap);
  line-height: 1;
}

.skiwo-mobile-top-bar {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  block-size: 50px;
  padding-inline: var(--s-4);
  background: var(--surface);
  border-block-end: 1px solid var(--border-2);
}
.skiwo-mobile-top-bar__lead {
  flex: none;
  display: flex;
  align-items: center;
}
.skiwo-mobile-top-bar__titles {
  flex: 1;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.skiwo-mobile-top-bar__title {
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.skiwo-mobile-top-bar__subtitle {
  font-size: var(--fs-meta);
  color: var(--text-faint);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.skiwo-mobile-top-bar__action {
  flex: none;
  display: flex;
  align-items: center;
}

.skiwo-mobile-drawer-root {
  display: inline-block;
}

.skiwo-mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: 1000;
}
.skiwo-mobile-drawer[hidden] {
  display: none;
}
.skiwo-mobile-drawer__scrim {
  position: absolute;
  inset: 0;
  background: rgba(20, 22, 40, 0.42);
}
.skiwo-mobile-drawer__panel {
  position: absolute;
  inset-block: 0;
  inline-size: min(84vw, 320px);
  display: flex;
  flex-direction: column;
  background: var(--surface);
  box-shadow: var(--sh-float);
  animation: skiwo-mobile-drawer-in-start 0.18s ease;
}
.skiwo-mobile-drawer__panel--start {
  inset-inline-start: 0;
}
.skiwo-mobile-drawer__panel--end {
  inset-inline-end: 0;
  animation-name: skiwo-mobile-drawer-in-end;
}
.skiwo-mobile-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
  padding: var(--s-6);
  border-block-end: 1px solid var(--border-2);
}
.skiwo-mobile-drawer__title {
  margin: 0;
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text);
}
.skiwo-mobile-drawer__close {
  border: 0;
  background: transparent;
  color: var(--text-mid);
  cursor: pointer;
  inline-size: var(--tap-min);
  block-size: var(--tap-min);
  border-radius: var(--r-control);
}
.skiwo-mobile-drawer__close:hover {
  background: var(--surface-2);
}
.skiwo-mobile-drawer__close:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-mobile-drawer__body {
  padding: var(--s-3);
  overflow: auto;
  flex: 1;
}

@keyframes skiwo-mobile-drawer-in-start {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes skiwo-mobile-drawer-in-end {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-mobile-drawer__panel {
    animation: none;
  }
}
.skiwo-status-strip {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  padding: var(--s-5);
  border-block-start: 1px solid var(--border-2);
  font-family: var(--font-ui);
}
.skiwo-status-strip__plan {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-2);
}
.skiwo-status-strip__quota {
  inline-size: 100%;
}
.skiwo-status-strip__link {
  font-size: var(--fs-meta);
  color: var(--text-mid);
}
.skiwo-status-strip__link a {
  color: var(--brand-ink);
  text-decoration: none;
}
.skiwo-status-strip__link a:hover {
  text-decoration: underline;
}

.skiwo-price-tier {
  display: block;
  font-family: var(--font-ui);
  color: var(--text-2);
}
.skiwo-price-tier__price {
  margin: 0 0 var(--s-7);
  display: flex;
  align-items: baseline;
  gap: var(--s-1);
  flex-wrap: wrap;
  line-height: var(--lh-tight);
}
.skiwo-price-tier__amount {
  font-size: var(--fs-display);
  font-weight: var(--fw-display);
  color: var(--text);
  letter-spacing: -0.01em;
}
.skiwo-price-tier__period {
  font-size: var(--fs-body);
  color: var(--text-muted);
}
.skiwo-price-tier__features {
  list-style: none;
  margin: 0;
  padding: 0;
}
.skiwo-price-tier__feature {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  padding-block: var(--s-2);
  font-size: var(--fs-body);
  color: var(--text-2);
}
.skiwo-price-tier__check {
  flex: none;
  margin-block-start: 0.15em;
  color: var(--ok);
  font-size: 0.95em;
}
.skiwo-price-tier__feature-label {
  min-width: 0;
}
.skiwo-price-tier__extra {
  margin-block-start: var(--s-7);
}

.skiwo-member-row {
  font-family: var(--font-ui);
  color: var(--text-2);
}
.skiwo-member-row--blocked {
  opacity: 0.62;
}
.skiwo-member-row__identity, .skiwo-member-row__cell {
  vertical-align: middle;
}
.skiwo-member-row__identity-inner {
  display: flex;
  align-items: center;
  gap: var(--s-5);
  min-width: 0;
}
.skiwo-member-row__avatar {
  flex: none;
  display: inline-flex;
}
.skiwo-member-row__id-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-member-row__name-line {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  flex-wrap: wrap;
  min-width: 0;
}
.skiwo-member-row__name {
  font-weight: var(--fw-h2);
  color: var(--text);
  line-height: var(--lh-tight);
  overflow-wrap: anywhere;
}
.skiwo-member-row__marker {
  display: inline-flex;
  align-items: center;
  flex: none;
}
.skiwo-member-row__email {
  font-size: var(--fs-meta);
  color: var(--text-muted);
  overflow-wrap: anywhere;
}
.skiwo-member-row__actions {
  text-align: end;
}
.skiwo-member-row__actions-inner {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--s-2);
  flex-wrap: wrap;
}

.skiwo-strength-dots {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  vertical-align: middle;
  line-height: 1;
}
.skiwo-strength-dots__pip {
  inline-size: var(--s-2);
  block-size: var(--s-2);
  border-radius: var(--r-pill);
  background: var(--border-4);
  flex: none;
}
.skiwo-strength-dots__pip--filled {
  background: var(--strength-ink, var(--brand));
}

.skiwo-overflow-badges {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  margin: 0;
  padding: 0;
  list-style: none;
  max-inline-size: 100%;
  min-inline-size: 0;
}
.skiwo-overflow-badges__item {
  display: inline-flex;
  min-inline-size: 0;
}
.skiwo-overflow-badges__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 18px;
  block-size: 18px;
  padding-inline: var(--s-2);
  border-radius: var(--r-pill);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: 1;
  color: var(--text-mid);
  background: var(--surface-2);
  white-space: nowrap;
}
.skiwo-overflow-badges--empty {
  color: var(--text-faint);
  font-family: var(--font-ui);
  font-size: var(--fs-meta);
}

.skiwo-fact-list {
  display: block;
  font-family: var(--font-ui);
}
.skiwo-fact-list__title {
  margin: 0 0 var(--s-4);
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text);
  line-height: var(--lh-tight);
}
.skiwo-fact-list__list {
  margin: 0;
}
.skiwo-fact-list__fact {
  display: flex;
  align-items: baseline;
  gap: var(--s-5);
  padding-block: var(--s-2);
}
.skiwo-fact-list__fact + .skiwo-fact-list__fact {
  border-block-start: 1px solid var(--hairline);
}
.skiwo-fact-list__label {
  flex: none;
  inline-size: 40%;
  max-inline-size: 220px;
  margin: 0;
  font-size: var(--fs-meta);
  font-weight: 600;
  color: var(--text-faint);
}
.skiwo-fact-list__value {
  margin: 0;
  flex: 1 1 auto;
  min-inline-size: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-1) var(--s-2);
  font-size: var(--fs-body);
  color: var(--text-2);
  word-break: break-word;
}

.skiwo-metric-grid {
  display: grid;
  gap: var(--metric-grid-gap, var(--s-5));
  inline-size: 100%;
}
.skiwo-metric-grid--auto {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.skiwo-metric-grid--cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
.skiwo-metric-grid--cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.skiwo-metric-grid--cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 640px) {
  .skiwo-metric-grid--cols-2, .skiwo-metric-grid--cols-3, .skiwo-metric-grid--cols-4 {
    grid-template-columns: 1fr;
  }
}

.skiwo-target {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-4);
  font-family: var(--font-ui);
}
.skiwo-target__current-group {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--s-2);
}
.skiwo-target__previous {
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text-faint);
  line-height: var(--lh-tight);
}
.skiwo-target__arrow {
  font-size: var(--fs-h2);
  color: var(--text-faint);
  line-height: 1;
}
.skiwo-target__value {
  font-size: var(--fs-display);
  font-weight: var(--fw-display);
  color: var(--text);
  line-height: var(--lh-tight);
  word-break: break-word;
}
.skiwo-target__badge {
  align-self: center;
  margin-inline-start: var(--s-1);
}
.skiwo-target__target {
  display: inline-flex;
  align-items: baseline;
  gap: var(--s-2);
}
.skiwo-target__target-label {
  font-size: var(--fs-cap);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
}
.skiwo-target__target-value {
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text-mid);
  line-height: var(--lh-tight);
}

.skiwo-org-node {
  display: inline-block;
  font-family: var(--font-ui);
}
.skiwo-org-node__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-3);
  inline-size: 100%;
  padding-block: var(--s-5);
  padding-inline: var(--s-5);
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--border-2);
  border-radius: var(--r-card);
  box-shadow: var(--sh-card);
  color: inherit;
  text-decoration: none;
}
.skiwo-org-node--link > .skiwo-org-node__card {
  transition: box-shadow 0.12s ease, border-color 0.12s ease;
}
.skiwo-org-node--link > .skiwo-org-node__card:hover {
  box-shadow: var(--sh-raise);
  border-color: var(--border-3);
}
.skiwo-org-node--link > .skiwo-org-node__card:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-org-node__avatar {
  flex: none;
  display: inline-flex;
}
.skiwo-org-node__info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-1);
  min-inline-size: 0;
  inline-size: 100%;
}
.skiwo-org-node__name {
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text);
  line-height: var(--lh-tight);
  overflow-wrap: anywhere;
}
.skiwo-org-node__meta {
  font-size: var(--fs-meta);
  color: var(--text-muted);
  line-height: var(--lh-tight);
  overflow-wrap: anywhere;
}
.skiwo-org-node__reports {
  margin-block-start: var(--s-2);
  font-size: var(--fs-cap);
  font-weight: var(--fw-h2);
  color: var(--text-mid);
  background: var(--surface-2);
  border-radius: var(--r-pill);
  padding-block: var(--s-1);
  padding-inline: var(--s-3);
  line-height: var(--lh-tight);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-org-node--link > .skiwo-org-node__card {
    transition: none;
  }
}
.skiwo-thumb-grid {
  margin: 0;
  padding: 0;
  list-style: none;
}
.skiwo-thumb-grid--grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--thumb-min, 200px), 1fr));
  gap: var(--s-7);
}
.skiwo-thumb-grid--strip {
  display: flex;
  gap: var(--s-5);
  overflow-x: auto;
  overflow-y: hidden;
  padding-block-end: var(--s-2);
  scroll-snap-type: x proximity;
}
.skiwo-thumb-grid--strip .skiwo-thumb-grid__item {
  flex: 0 0 auto;
  inline-size: 180px;
  scroll-snap-align: start;
}
.skiwo-thumb-grid__item {
  min-inline-size: 0;
}
.skiwo-thumb-grid__link {
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: var(--r-card);
}
.skiwo-thumb-grid__link:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-thumb-grid__media {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  background: var(--surface-2);
  aspect-ratio: 4/3;
}
.skiwo-thumb-grid__img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: top;
}
.skiwo-thumb-grid__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  block-size: 100%;
  color: var(--text-faint);
  font-family: var(--font-ui);
  font-size: var(--fs-meta);
}
.skiwo-thumb-grid__caption {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  margin-block-start: var(--s-3);
  min-inline-size: 0;
}
.skiwo-thumb-grid__index {
  flex: none;
  color: var(--text-faint);
  font-family: var(--font-mono);
  font-size: var(--fs-cap);
}
.skiwo-thumb-grid__label {
  flex: 1 1 auto;
  min-inline-size: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--text-2);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
}
.skiwo-thumb-grid__status {
  flex: none;
  display: inline-flex;
  align-items: center;
}

.skiwo-tree {
  display: block;
  inline-size: 100%;
  font-family: var(--font-ui);
}
.skiwo-tree__group[hidden] {
  display: none;
}
.skiwo-tree__row {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  min-block-size: var(--tap-min);
  padding-block: var(--s-2);
  padding-inline: var(--s-3);
  border-radius: var(--r-control);
  color: var(--text);
}
.skiwo-tree__row:hover {
  background: var(--surface-2);
}
.skiwo-tree__item:focus-visible {
  outline: none;
}
.skiwo-tree__item:focus-visible > .skiwo-tree__row {
  box-shadow: var(--sh-focus);
}
.skiwo-tree__indent {
  flex: none;
  inline-size: calc(var(--skiwo-tree-depth, 0) * var(--s-7));
  align-self: stretch;
}
.skiwo-tree__chevron {
  flex: none;
  inline-size: var(--s-5);
  font-size: 11px;
  color: var(--icon-faint);
  text-align: center;
  transition: transform 0.15s ease;
}
.skiwo-tree__chevron--leaf {
  visibility: hidden;
}
.skiwo-tree__item--parent {
  cursor: pointer;
}
.skiwo-tree__item[aria-expanded=true] > .skiwo-tree__row > .skiwo-tree__chevron {
  transform: rotate(90deg);
}
.skiwo-tree__label {
  flex: 1 1 auto;
  min-inline-size: 0;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-tree__chevron {
    transition: none;
  }
}
.skiwo-image-diff {
  --diff-pos: 50%;
  position: relative;
  display: block;
  inline-size: 100%;
}
.skiwo-image-diff__stage {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  background: var(--surface-2);
  touch-action: none;
}
.skiwo-image-diff__layer {
  inset: 0;
}
.skiwo-image-diff__layer--after {
  position: absolute;
  clip-path: inset(0 calc(100% - var(--diff-pos)) 0 0);
}
.skiwo-image-diff__img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  user-select: none;
  -webkit-user-drag: none;
}
.skiwo-image-diff__divider {
  position: absolute;
  inset-block: 0;
  inset-inline-start: var(--diff-pos);
  inline-size: 2px;
  background: var(--surface);
  transform: translateX(-1px);
  pointer-events: none;
}
.skiwo-image-diff__grip {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  inline-size: 28px;
  block-size: 28px;
  border-radius: var(--r-pill);
  background: var(--surface);
  border: 1px solid var(--border-4);
  box-shadow: var(--sh-raise);
}
.skiwo-image-diff__chip {
  position: absolute;
  inset-block-start: var(--s-3);
  padding: var(--s-1) var(--s-3);
  border-radius: var(--r-pill);
  background: var(--surface);
  border: 1px solid var(--border-3);
  color: var(--text-2);
  font-family: var(--font-ui);
  font-size: var(--fs-cap);
  font-weight: 600;
  box-shadow: var(--sh-card);
}
.skiwo-image-diff__chip--before {
  inset-inline-start: var(--s-3);
}
.skiwo-image-diff__chip--after {
  inset-inline-end: var(--s-3);
}
.skiwo-image-diff__range {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  cursor: ew-resize;
}
.skiwo-image-diff__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  inline-size: 32px;
  block-size: 100%;
  cursor: ew-resize;
  background: transparent;
  border: 0;
}
.skiwo-image-diff__range::-moz-range-thumb {
  inline-size: 32px;
  block-size: 100%;
  cursor: ew-resize;
  background: transparent;
  border: 0;
}
.skiwo-image-diff__range::-moz-range-track {
  background: transparent;
}
.skiwo-image-diff__range:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
  border-radius: var(--r-card);
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-image-diff .skiwo-image-diff__divider,
  .skiwo-image-diff .skiwo-image-diff__layer--after {
    transition: none;
  }
}

.skiwo-prose {
  color: var(--text);
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  overflow-wrap: anywhere;
}
.skiwo-prose > * + * {
  margin-block-start: var(--s-4);
}
.skiwo-prose h1, .skiwo-prose h2, .skiwo-prose h3, .skiwo-prose h4, .skiwo-prose h5, .skiwo-prose h6 {
  color: var(--text);
  line-height: var(--lh-tight);
  margin-block-start: var(--s-6);
  margin-block-end: var(--s-3);
}
.skiwo-prose h1:first-child, .skiwo-prose h2:first-child, .skiwo-prose h3:first-child, .skiwo-prose h4:first-child, .skiwo-prose h5:first-child, .skiwo-prose h6:first-child {
  margin-block-start: 0;
}
.skiwo-prose h1 {
  font-size: var(--fs-page);
  font-weight: var(--fw-page);
}
.skiwo-prose h2 {
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
}
.skiwo-prose h3 {
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
}
.skiwo-prose h4, .skiwo-prose h5, .skiwo-prose h6 {
  font-size: var(--fs-body);
  font-weight: var(--fw-title);
}
.skiwo-prose p {
  margin-block: 0;
}
.skiwo-prose strong, .skiwo-prose b {
  font-weight: 700;
}
.skiwo-prose a {
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.skiwo-prose a:hover {
  color: var(--brand-hover);
}
.skiwo-prose a:focus-visible {
  outline: none;
  border-radius: var(--r-control-sm);
  box-shadow: var(--sh-focus);
}
.skiwo-prose ul, .skiwo-prose ol {
  margin-block: 0;
  padding-inline-start: var(--s-6);
}
.skiwo-prose li + li {
  margin-block-start: var(--s-2);
}
.skiwo-prose li > ul, .skiwo-prose li > ol {
  margin-block-start: var(--s-2);
}
.skiwo-prose blockquote {
  margin-inline: 0;
  padding-block: var(--s-2);
  padding-inline-start: var(--s-4);
  border-inline-start: 3px solid var(--brand-ring);
  color: var(--text-mid);
  font-style: italic;
}
.skiwo-prose code, .skiwo-prose kbd, .skiwo-prose samp {
  font-family: var(--font-mono);
  font-size: var(--fs-cap);
}
.skiwo-prose code {
  padding-block: 1px;
  padding-inline: var(--s-2);
  background: var(--surface-2);
  border-radius: var(--r-control-sm);
}
.skiwo-prose pre {
  margin-block: 0;
  padding: var(--s-4);
  background: var(--surface-2);
  border: var(--hairline) solid var(--border-2);
  border-radius: var(--r-control);
  overflow-x: auto;
}
.skiwo-prose pre code {
  padding: 0;
  background: none;
}
.skiwo-prose img {
  max-inline-size: 100%;
  block-size: auto;
  border-radius: var(--r-card);
}
.skiwo-prose hr {
  border: 0;
  block-size: var(--hairline);
  background: var(--border-2);
  margin-block: var(--s-6);
}
.skiwo-prose table {
  inline-size: 100%;
  border-collapse: collapse;
  font-size: var(--fs-body-sm);
}
.skiwo-prose th, .skiwo-prose td {
  padding-block: var(--s-2);
  padding-inline: var(--s-3);
  text-align: start;
  border-block-end: var(--hairline) solid var(--border-2);
}
.skiwo-prose th {
  font-weight: var(--fw-title);
  color: var(--text-mid);
}
.skiwo-prose--sm {
  font-size: var(--fs-body-sm);
}
.skiwo-prose--sm > * + * {
  margin-block-start: var(--s-3);
}
.skiwo-prose--sm h1 {
  font-size: var(--fs-h2);
}
.skiwo-prose--sm h2 {
  font-size: var(--fs-title);
}
.skiwo-prose--sm h3 {
  font-size: var(--fs-body);
}

.skiwo-preview-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  text-decoration: none;
  color: var(--text);
  background: var(--surface);
  border: var(--hairline) solid var(--border-2);
  border-radius: var(--r-card);
  box-shadow: var(--sh-card);
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.skiwo-preview-card:hover {
  border-color: var(--border-3);
  box-shadow: var(--sh-raise);
  transform: translateY(-1px);
}
.skiwo-preview-card:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-preview-card__media {
  flex: none;
  aspect-ratio: 16/9;
  background: var(--surface-2);
}
.skiwo-preview-card__image {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  display: block;
}
.skiwo-preview-card__main {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  padding: var(--s-4);
}
.skiwo-preview-card__badge {
  display: flex;
  align-items: center;
  gap: var(--s-2);
}
.skiwo-preview-card__title {
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  line-height: var(--lh-tight);
  color: var(--text);
  overflow-wrap: anywhere;
}
.skiwo-preview-card__excerpt {
  margin-block: 0;
  font-size: var(--fs-body-sm);
  line-height: var(--lh-body);
  color: var(--text-muted);
  overflow-wrap: anywhere;
}
.skiwo-preview-card__corner {
  position: absolute;
  inset-block-start: var(--s-3);
  inset-inline-end: var(--s-3);
  display: flex;
  align-items: center;
  gap: var(--s-2);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-preview-card {
    transition: none;
  }
  .skiwo-preview-card:hover {
    transform: none;
  }
}
.skiwo-master-detail {
  --md-list-w: 340px;
  --md-aside-w: 300px;
  display: grid;
  block-size: 100%;
  min-block-size: 0;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
}
@media (min-width: 768px) {
  .skiwo-master-detail {
    grid-template-columns: var(--md-list-w) 1fr;
    grid-template-rows: 1fr;
  }
}
.skiwo-master-detail--with-aside {
  grid-template-rows: auto auto 1fr;
}
@media (min-width: 1100px) {
  .skiwo-master-detail--with-aside {
    grid-template-columns: var(--md-list-w) 1fr var(--md-aside-w);
    grid-template-rows: 1fr;
  }
}
.skiwo-master-detail__list, .skiwo-master-detail__detail, .skiwo-master-detail__aside {
  min-inline-size: 0;
  min-block-size: 0;
  overflow: auto;
}
.skiwo-master-detail__list {
  border-inline-end: var(--hairline) solid var(--border-2);
  background: var(--surface);
}
.skiwo-master-detail__detail {
  background: var(--surface);
}
.skiwo-master-detail__aside {
  border-inline-start: var(--hairline) solid var(--border-2);
  background: var(--surface-2);
}

.skiwo-message-bubble {
  font-family: var(--font-ui);
  color: var(--text-2);
  border: var(--hairline) solid var(--border-2);
  border-radius: var(--r-card);
  background: var(--surface);
  padding: var(--s-5);
}
.skiwo-message-bubble--outbound {
  background: var(--brand-tint);
  border-color: var(--brand-tint-2);
}
.skiwo-message-bubble--note {
  background: var(--warn-tint);
  border-color: var(--warn-tint);
}
.skiwo-message-bubble__head {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  min-width: 0;
}
.skiwo-message-bubble__avatar {
  flex: none;
  display: inline-flex;
}
.skiwo-message-bubble__id {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-message-bubble__author-line {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  flex-wrap: wrap;
  min-width: 0;
}
.skiwo-message-bubble__author {
  margin: 0;
  font-size: var(--fs-body-sm);
  font-weight: var(--fw-h2);
  color: var(--text);
  line-height: var(--lh-tight);
  overflow-wrap: anywhere;
}
.skiwo-message-bubble__marker {
  display: inline-flex;
  align-items: center;
  flex: none;
}
.skiwo-message-bubble__meta {
  font-size: var(--fs-meta);
  color: var(--text-muted);
  overflow-wrap: anywhere;
}
.skiwo-message-bubble__time {
  flex: none;
  margin-inline-start: auto;
  font-size: var(--fs-meta);
  color: var(--text-muted);
  white-space: nowrap;
}
.skiwo-message-bubble__subject {
  margin-block-start: var(--s-3);
  font-weight: var(--fw-h2);
  color: var(--text);
  overflow-wrap: anywhere;
}
.skiwo-message-bubble__body {
  margin-block-start: var(--s-3);
  font-size: var(--fs-body-sm);
  color: var(--text-2);
  line-height: var(--lh-body);
  overflow-wrap: anywhere;
}

.skiwo-conversation-row {
  font-family: var(--font-ui);
}
.skiwo-conversation-row__link {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  padding-block: var(--s-3);
  padding-inline: var(--s-4);
  min-height: var(--tap-min);
  border-inline-start: 3px solid transparent;
  text-decoration: none;
  color: var(--text-2);
}
.skiwo-conversation-row__link:hover {
  background: var(--surface-2);
}
.skiwo-conversation-row__link:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-conversation-row--selected .skiwo-conversation-row__link {
  background: var(--brand-tint);
  border-inline-start-color: var(--brand);
}
.skiwo-conversation-row__avatar {
  flex: none;
  display: inline-flex;
}
.skiwo-conversation-row__main {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-conversation-row__top {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  min-width: 0;
}
.skiwo-conversation-row__name {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  min-width: 0;
  font-weight: var(--fw-h2);
  color: var(--text);
  line-height: var(--lh-tight);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.skiwo-conversation-row__marker {
  flex: none;
  font-size: var(--fs-meta);
  font-weight: var(--fw-tiny);
  color: var(--text-muted);
}
.skiwo-conversation-row__unread-cue {
  flex: none;
  display: inline-flex;
  align-items: center;
}
.skiwo-conversation-row__unread-dot {
  inline-size: 8px;
  block-size: 8px;
  border-radius: var(--r-pill);
  background: var(--brand);
}
.skiwo-conversation-row__time {
  flex: none;
  margin-inline-start: auto;
  font-size: var(--fs-meta);
  color: var(--text-muted);
  white-space: nowrap;
}
.skiwo-conversation-row__subject {
  font-size: var(--fs-body-sm);
  color: var(--text-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.skiwo-conversation-row__preview {
  font-size: var(--fs-meta);
  color: var(--text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.skiwo-conversation-row__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
  margin-block-start: var(--s-1);
}
.skiwo-conversation-row--unread .skiwo-conversation-row__name {
  font-weight: var(--fw-title);
  color: var(--text);
}
.skiwo-conversation-row--unread .skiwo-conversation-row__preview {
  color: var(--text-2);
}

.skiwo-composer {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  font-family: var(--font-ui);
}
.skiwo-composer__label {
  font-size: var(--fs-sm);
  font-weight: var(--fw-h2);
  color: var(--text-2);
}
.skiwo-composer__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
}
.skiwo-composer__textarea {
  inline-size: 100%;
  min-block-size: calc(var(--tap-min) * 1.5);
  padding-block: var(--s-3);
  padding-inline: var(--s-4);
  font-family: inherit;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--border-4);
  border-radius: var(--r-input);
  resize: vertical;
}
.skiwo-composer__textarea::placeholder {
  color: var(--text-faint2);
}
.skiwo-composer__textarea:focus-visible {
  outline: none;
  border-color: var(--brand);
  box-shadow: var(--sh-focus);
}
.skiwo-composer__textarea:disabled {
  background: var(--surface-2);
  color: var(--text-faint2);
}
.skiwo-composer__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
}

.skiwo-delta {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  font-family: var(--font-ui);
  font-size: var(--fs-meta);
  font-weight: var(--fw-tiny);
  line-height: 1;
  color: var(--delta-ink, var(--text-mid));
  white-space: nowrap;
}
.skiwo-delta__arrow {
  font-size: 0.85em;
  line-height: 1;
}
.skiwo-delta__value {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
.skiwo-delta--sm {
  font-size: var(--fs-tiny);
  gap: 2px;
}

.skiwo-period {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--font-ui);
}
.skiwo-period__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 28px;
  block-size: 28px;
  border: 1px solid var(--border-4);
  border-radius: var(--r-control-sm);
  background: var(--surface);
  color: var(--text-mid);
  font-size: var(--fs-body);
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease;
}
.skiwo-period__arrow:hover {
  background: var(--surface-2);
  border-color: var(--border-3);
  color: var(--text);
}
.skiwo-period__arrow:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-period__arrow--disabled {
  color: var(--text-faint);
  background: var(--surface-2);
  cursor: default;
  pointer-events: none;
}
.skiwo-period__label {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  padding-inline: var(--s-3);
}
.skiwo-period__caption {
  font-size: var(--fs-meta);
  font-weight: 600;
  color: var(--text);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.skiwo-period__status {
  display: inline-flex;
  align-items: center;
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: 1;
  color: var(--period-status-ink, var(--text-mid));
  background: var(--period-status-tint, var(--surface-2));
  border-radius: var(--r-pill);
  padding-block: 3px;
  padding-inline: 8px;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-period .skiwo-period__arrow {
    transition: none;
  }
}

.skiwo-footer {
  margin-block-start: auto;
  padding-block: var(--s-6);
  border-block-start: 1px solid var(--hairline);
  background: var(--surface);
  color: var(--text-muted);
  font-family: var(--font-ui);
  font-size: var(--fs-body-sm);
}
.skiwo-footer__inner {
  max-inline-size: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--s-5);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
}
.skiwo-footer__brand {
  display: inline-flex;
  align-items: center;
}
.skiwo-footer__brand-name, .skiwo-footer__brand-link {
  font-weight: var(--fw-title);
  color: var(--text-2);
  text-decoration: none;
}
.skiwo-footer__brand-link {
  border-radius: var(--r-control-sm);
}
.skiwo-footer__brand-link:hover {
  color: var(--brand);
}
.skiwo-footer__brand-link:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-7);
}
.skiwo-footer__link {
  color: inherit;
  text-decoration: none;
  border-radius: var(--r-control-sm);
  transition: color 0.12s ease;
}
.skiwo-footer__link:hover {
  color: var(--brand);
  text-decoration: underline;
}
.skiwo-footer__link:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-footer__copyright {
  color: var(--text-faint);
}
@media (max-width: 640px) {
  .skiwo-footer__inner {
    flex-direction: column;
    text-align: center;
  }
  .skiwo-footer__links {
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-footer__link {
    transition: none;
  }
}
.skiwo-flash-group {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  max-inline-size: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--s-5);
  padding-block-start: var(--s-5);
}
.skiwo-flash-group:empty {
  display: none;
}
.skiwo-flash-group__item {
  margin: 0;
}

.skiwo-cal-day {
  vertical-align: top;
  inline-size: 14.2857142857%;
  block-size: 1px;
  padding: var(--s-2);
  border: var(--hairline) solid var(--border-2);
  background: var(--surface);
  font-family: var(--font-ui);
}
.skiwo-cal-day__num {
  display: block;
  font-size: var(--fs-meta);
  font-weight: var(--fw-h2);
  line-height: var(--lh-tight);
  color: var(--text-2);
}
.skiwo-cal-day__body {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  margin-block-start: var(--s-2);
}
.skiwo-cal-day--weekend {
  background: var(--surface-2);
}
.skiwo-cal-day--holiday {
  background: var(--info-tint);
}
.skiwo-cal-day--outside {
  background: var(--surface-2);
}
.skiwo-cal-day--outside .skiwo-cal-day__num {
  color: var(--text-faint);
}
.skiwo-cal-day--today {
  box-shadow: inset 0 0 0 2px var(--brand);
}
.skiwo-cal-day--today .skiwo-cal-day__num {
  color: var(--brand-ink);
  font-weight: var(--fw-title);
}
.skiwo-cal-day--selected {
  background: var(--brand-tint);
  box-shadow: inset 0 0 0 2px var(--brand);
}
.skiwo-cal-day--selected .skiwo-cal-day__num {
  color: var(--brand-ink);
  font-weight: var(--fw-title);
}

.skiwo-cal {
  font-family: var(--font-ui);
}
.skiwo-cal__table {
  inline-size: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.skiwo-cal__weekday {
  padding-block: var(--s-2);
  padding-inline: var(--s-2);
  text-align: start;
  font-size: var(--fs-tiny);
  font-weight: var(--fw-h2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  border-block-end: var(--hairline) solid var(--border-3);
}
.skiwo-cal__weekday--weekend {
  color: var(--text-faint);
}
.skiwo-cal__sr-only {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skiwo-cal__pad {
  border: var(--hairline) solid var(--border-2);
  background: var(--surface-2);
}

.skiwo-sortable {
  position: relative;
}
.skiwo-sortable__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}
.skiwo-sortable__item {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding-block: var(--s-3);
  padding-inline: var(--s-4);
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-control);
  color: var(--text-2);
  font-size: var(--fs-body-sm);
  cursor: grab;
  user-select: none;
  box-shadow: var(--sh-card);
  transition: box-shadow 120ms ease, border-color 120ms ease, transform 120ms ease;
}
.skiwo-sortable__item:hover {
  border-color: var(--border-4);
}
.skiwo-sortable__item:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
  border-color: var(--brand);
}
.skiwo-sortable__item.is-dragging {
  cursor: grabbing;
  opacity: 0.6;
  box-shadow: var(--sh-raise);
}
.skiwo-sortable__item.is-grabbed, .skiwo-sortable__item[aria-grabbed=true] {
  cursor: grabbing;
  border-color: var(--brand);
  box-shadow: var(--sh-raise);
}
.skiwo-sortable__item:has(.skiwo-sortable__handle) {
  cursor: default;
}
.skiwo-sortable__handle {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--s-9);
  block-size: var(--s-9);
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--icon-faint);
  cursor: grab;
}
.skiwo-sortable__handle:hover {
  color: var(--text-faint);
}
.skiwo-sortable__handle:active {
  cursor: grabbing;
}
.skiwo-sortable__handle-icon {
  font-size: 13px;
}
.skiwo-sortable__content {
  flex: 1 1 auto;
  min-inline-size: 0;
}
.skiwo-sortable__live {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-sortable__item {
    transition: none;
  }
}
.skiwo-process-steps {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--font-ui);
}
.skiwo-process-steps__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 1 0;
  gap: var(--s-2);
  text-align: center;
  position: relative;
  min-inline-size: 0;
}
.skiwo-process-steps__step + .skiwo-process-steps__step .skiwo-process-steps__marker::before {
  content: "";
  position: absolute;
  inset-block-start: 13px;
  inset-inline-end: calc(50% + 13px);
  inline-size: calc(100% - 26px);
  block-size: 2px;
  background: var(--border-4);
}
.skiwo-process-steps__marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 26px;
  block-size: 26px;
  border-radius: var(--r-pill);
  border: 2px solid var(--border-4);
  background: var(--surface);
  color: var(--text-faint);
  flex: none;
  position: relative;
}
.skiwo-process-steps__glyph {
  font-size: 11px;
  line-height: 1;
}
.skiwo-process-steps__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  min-inline-size: 0;
  inline-size: 100%;
}
.skiwo-process-steps__label {
  font-size: var(--fs-meta);
  font-weight: 600;
  color: var(--text-muted);
  line-height: var(--lh-tight);
  word-break: break-word;
}
.skiwo-process-steps__sub {
  font-size: var(--fs-cap);
  color: var(--text-faint);
  line-height: var(--lh-tight);
  word-break: break-word;
}
.skiwo-process-steps__step--done .skiwo-process-steps__marker {
  border-color: var(--ok);
  background: var(--ok);
  color: var(--on-brand);
}
.skiwo-process-steps__step--done + .skiwo-process-steps__step .skiwo-process-steps__marker::before {
  background: var(--ok);
}
.skiwo-process-steps__step--active .skiwo-process-steps__marker {
  border-color: var(--info);
  background: var(--info-tint);
  color: var(--info);
  box-shadow: 0 0 0 3px var(--info-tint);
}
.skiwo-process-steps__step--active .skiwo-process-steps__label {
  color: var(--text);
}
.skiwo-process-steps__step--active .skiwo-process-steps__glyph {
  animation: skiwo-process-spin 1.4s linear infinite;
}
.skiwo-process-steps__step--failed .skiwo-process-steps__marker {
  border-color: var(--danger);
  background: var(--danger-tint);
  color: var(--danger);
}
.skiwo-process-steps__step--failed .skiwo-process-steps__label {
  color: var(--danger);
}
.skiwo-process-steps__step--cancelled .skiwo-process-steps__marker {
  border-color: var(--border-4);
  background: var(--surface-2);
  color: var(--text-faint);
}
.skiwo-process-steps__step--cancelled .skiwo-process-steps__label {
  color: var(--text-faint);
}
.skiwo-process-steps__step--pending .skiwo-process-steps__marker {
  border-color: var(--border-4);
  background: var(--surface);
  color: var(--text-faint2);
}
.skiwo-process-steps__step--pending .skiwo-process-steps__label {
  color: var(--text-faint);
}
.skiwo-process-steps__step--pending .skiwo-process-steps__sub {
  color: var(--text-faint2);
}

@keyframes skiwo-process-spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .skiwo-process-steps__step--active .skiwo-process-steps__glyph {
    animation: none;
  }
}
.skiwo-setting-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-7);
  padding-block: var(--s-3);
  font-family: var(--font-ui);
  color: var(--text-2);
}
.skiwo-setting-row--required .skiwo-setting-row__control {
  opacity: 0.6;
}
.skiwo-setting-row__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-setting-row__label-line {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  flex-wrap: wrap;
  min-width: 0;
}
.skiwo-setting-row__title {
  font-weight: var(--fw-title);
  font-size: var(--fs-title);
  color: var(--text);
  line-height: var(--lh-tight);
  overflow-wrap: anywhere;
}
.skiwo-setting-row__required {
  flex: none;
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: var(--s-1) var(--s-3);
  border-radius: var(--r-pill);
  color: var(--mode-standard-ink);
  background: var(--mode-standard-bg);
}
.skiwo-setting-row__description {
  font-size: var(--fs-meta);
  color: var(--text-muted);
  line-height: var(--lh-body);
  overflow-wrap: anywhere;
}
.skiwo-setting-row__control {
  flex: none;
  display: inline-flex;
  align-items: center;
}

.skiwo-gantt {
  font-family: var(--font-ui);
  --gantt-track-w: calc(var(--gantt-col-w) * var(--gantt-days));
}
.skiwo-gantt__scroll {
  overflow-x: auto;
}
.skiwo-gantt__grid {
  min-inline-size: calc(var(--gantt-label-w) + var(--gantt-track-w));
}
.skiwo-gantt__header {
  display: grid;
  grid-template-columns: var(--gantt-label-w) 1fr;
  border-block-end: var(--hairline) solid var(--border-3);
}
.skiwo-gantt__corner {
  inline-size: var(--gantt-label-w);
}
.skiwo-gantt__axis {
  display: grid;
  grid-template-columns: repeat(var(--gantt-days), minmax(var(--gantt-col-w), 1fr));
}
.skiwo-gantt__day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block: var(--s-2);
  font-size: var(--fs-cap);
  color: var(--text-faint);
  border-inline-start: var(--hairline) solid var(--border-1);
}
.skiwo-gantt__day--weekend {
  color: var(--text-faint2);
  background: var(--surface-2);
}
.skiwo-gantt__day--today {
  color: var(--brand-ink);
  font-weight: var(--fw-tiny);
}
.skiwo-gantt__day-dow {
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.skiwo-gantt__day-num {
  font-weight: var(--fw-title);
  color: var(--text-mid);
}
.skiwo-gantt__section-label {
  padding-block: var(--s-2);
  padding-inline: var(--s-4);
  font-size: var(--fs-tiny);
  font-weight: var(--fw-h2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  background: var(--surface-2);
  border-block-end: var(--hairline) solid var(--border-1);
}
.skiwo-gantt__lane {
  display: grid;
  grid-template-columns: var(--gantt-label-w) 1fr;
  align-items: center;
  min-block-size: var(--gantt-row-h);
  border-block-end: var(--hairline) solid var(--border-1);
}
.skiwo-gantt__lane-label {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  padding-inline: var(--s-4);
  overflow: hidden;
}
.skiwo-gantt__lane-name {
  font-size: var(--fs-body-sm);
  font-weight: var(--fw-title);
  color: var(--text-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.skiwo-gantt__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--gantt-days), minmax(var(--gantt-col-w), 1fr));
  grid-auto-rows: var(--gantt-row-h);
  align-items: center;
  padding-block: var(--s-1);
}
.skiwo-gantt--has-today .skiwo-gantt__track::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inline-size: 2px;
  inset-inline-start: calc(var(--gantt-today-idx) * 100% / var(--gantt-days));
  background: var(--brand);
  opacity: 0.55;
  pointer-events: none;
  z-index: 1;
}
.skiwo-gantt__bar {
  min-inline-size: 0;
  block-size: calc(var(--gantt-row-h) - var(--s-3));
  border-radius: var(--r-control-sm);
  background: color-mix(in srgb, var(--gantt-bar-color) 16%, var(--surface));
  border: var(--hairline) solid color-mix(in srgb, var(--gantt-bar-color) 38%, transparent);
  border-inline-start: 3px solid var(--gantt-bar-color);
  overflow: hidden;
  z-index: 2;
}
.skiwo-gantt__bar-body {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  block-size: 100%;
  inline-size: 100%;
  padding-inline: var(--s-3);
  text-decoration: none;
  color: inherit;
  cursor: default;
}
.skiwo-gantt__bar-body:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
  border-radius: var(--r-control-sm);
}
.skiwo-gantt a.skiwo-gantt__bar-body {
  cursor: pointer;
}
.skiwo-gantt__bar-label {
  font-size: var(--fs-meta);
  font-weight: var(--fw-title);
  color: var(--text-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.skiwo-gantt__bar-state {
  flex: none;
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--gantt-bar-color);
}

.skiwo-feed-row {
  display: flex;
  align-items: baseline;
  gap: var(--s-3);
  list-style: none;
  padding-block: var(--s-2);
  font-family: var(--font-ui);
}
.skiwo-feed-row__leading {
  flex: none;
  inline-size: 5.5rem;
  font-size: var(--fs-meta);
  color: var(--text-muted);
  line-height: var(--lh-tight);
}
.skiwo-feed-row__main {
  min-inline-size: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-feed-row__name {
  font-size: var(--fs-body-sm);
  font-weight: var(--fw-title);
  color: var(--text);
  line-height: var(--lh-tight);
  word-break: break-word;
}
.skiwo-feed-row__link {
  color: var(--text);
  text-decoration: none;
}
.skiwo-feed-row__link:hover {
  text-decoration: underline;
}
.skiwo-feed-row__link:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
  border-radius: var(--r-control);
}
.skiwo-feed-row__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
  font-size: var(--fs-meta);
  color: var(--text-muted);
  line-height: var(--lh-tight);
}

.skiwo-kanban {
  display: block;
  inline-size: 100%;
  font-family: var(--font-ui);
}
.skiwo-kanban__scroll {
  display: flex;
  gap: var(--s-7);
  align-items: flex-start;
  overflow-x: auto;
  padding-block-end: var(--s-3);
}
.skiwo-kanban__col {
  flex: 0 0 var(--kanban-col-w);
  inline-size: var(--kanban-col-w);
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  padding: var(--s-5);
  background: var(--surface-2);
  border: 1px solid var(--border-2);
  border-radius: var(--r-card);
}
.skiwo-kanban__col-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3);
}
.skiwo-kanban__col-title {
  min-inline-size: 0;
  flex: 1 1 auto;
}
.skiwo-kanban__col-name {
  margin: 0;
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text);
  overflow-wrap: anywhere;
}
.skiwo-kanban__col-count {
  flex: none;
}
.skiwo-kanban .skiwo-sortable {
  min-block-size: var(--kanban-track-min);
}
.skiwo-kanban__card {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  inline-size: 100%;
}
.skiwo-kanban__card-title {
  font-size: var(--fs-body-sm);
  font-weight: var(--fw-title);
  color: var(--text);
  overflow-wrap: anywhere;
}
.skiwo-kanban__card-link {
  color: inherit;
  text-decoration: none;
}
.skiwo-kanban__card-link:hover {
  text-decoration: underline;
}
.skiwo-kanban__card-link:focus-visible {
  outline: none;
  border-radius: var(--r-control-sm);
  box-shadow: var(--sh-focus);
}
.skiwo-kanban__card-meta {
  font-size: var(--fs-meta);
  color: var(--text-faint);
}
.skiwo-kanban__card-body {
  margin-block-start: var(--s-1);
}
.skiwo-kanban__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-block-size: var(--kanban-track-min);
  padding: var(--s-5);
  border: 1px dashed var(--border-4);
  border-radius: var(--r-control);
  color: var(--text-faint);
}
.skiwo-kanban__empty[hidden] {
  display: none;
}
.skiwo-kanban__empty-text {
  margin: 0;
  font-size: var(--fs-body-sm);
  text-align: center;
}

.skiwo-mapping-row {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  margin-block-end: var(--s-3);
}
.skiwo-mapping-row__field {
  flex: 1 1 0;
  min-inline-size: 0;
}
.skiwo-mapping-row__connector {
  flex: none;
  color: var(--text-faint);
  font-size: var(--fs-body);
  line-height: 1;
  user-select: none;
}
.skiwo-mapping-row__remove {
  flex: none;
}

.skiwo-table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
  padding-block: var(--s-3);
  padding-inline: var(--s-5);
  font-family: var(--font-ui);
  font-size: var(--fs-meta);
  color: var(--text-muted);
}
.skiwo-table-toolbar--top {
  border-block-end: 1px solid var(--border-2);
}
.skiwo-table-toolbar--bottom {
  border-block-start: 1px solid var(--border-2);
}
.skiwo-table-toolbar__lead, .skiwo-table-toolbar__trail {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  min-width: 0;
}
.skiwo-table-toolbar__trail {
  white-space: nowrap;
}

.skiwo-money {
  display: inline-flex;
  align-items: baseline;
  gap: var(--s-1);
  font-family: var(--font-ui);
  font-size: var(--money-fs, var(--fs-body));
  line-height: 1;
  color: var(--text);
  white-space: nowrap;
}
.skiwo-money__amount {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
.skiwo-money__sign {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
.skiwo-money__currency {
  color: var(--text-muted);
  font-size: 0.85em;
}
.skiwo-money--lg {
  font-weight: var(--fw-display);
}
.skiwo-money--positive {
  color: var(--ok);
}
.skiwo-money--positive .skiwo-money__currency {
  color: var(--ok);
}
.skiwo-money--negative {
  color: var(--danger);
}
.skiwo-money--negative .skiwo-money__currency {
  color: var(--danger);
}
.skiwo-money--muted {
  color: var(--text-muted);
}

.skiwo-choice-card {
  display: block;
  position: relative;
  cursor: pointer;
  font-family: var(--font-ui);
}
.skiwo-choice-card__input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skiwo-choice-card__body {
  display: flex;
  align-items: flex-start;
  gap: var(--s-5);
  padding: var(--s-7);
  background: var(--surface);
  border: 2px solid var(--border-4);
  border-radius: var(--r-card);
  box-shadow: var(--sh-card);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.skiwo-choice-card__leading {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-mid);
}
.skiwo-choice-card__text {
  min-inline-size: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-choice-card__title {
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text);
  line-height: var(--lh-tight);
  overflow-wrap: anywhere;
}
.skiwo-choice-card__description {
  font-size: var(--fs-meta);
  color: var(--text-muted);
  line-height: var(--lh-body);
  overflow-wrap: anywhere;
}
.skiwo-choice-card__trailing {
  flex: none;
  margin-inline-start: auto;
  font-size: var(--fs-sm);
  color: var(--text-2);
  text-align: end;
}
.skiwo-choice-card__check {
  flex: none;
  inline-size: 20px;
  block-size: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-pill);
  background: var(--brand);
  color: var(--on-brand);
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.skiwo-choice-card__check-icon {
  inline-size: 14px;
  block-size: 14px;
}
.skiwo-choice-card__input:not(:disabled):hover ~ .skiwo-choice-card__body, .skiwo-choice-card:hover .skiwo-choice-card__input:not(:disabled) ~ .skiwo-choice-card__body {
  border-color: var(--border-2);
  box-shadow: var(--sh-raise);
}
.skiwo-choice-card__input:focus-visible ~ .skiwo-choice-card__body {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-choice-card__input:checked ~ .skiwo-choice-card__body {
  border-color: var(--brand);
  background: var(--brand-tint-2);
}
.skiwo-choice-card__input:checked ~ .skiwo-choice-card__body .skiwo-choice-card__check {
  opacity: 1;
  transform: none;
}
.skiwo-choice-card__input:checked:focus-visible ~ .skiwo-choice-card__body {
  box-shadow: var(--sh-focus);
}
.skiwo-choice-card.is-disabled {
  cursor: not-allowed;
}
.skiwo-choice-card__input:disabled ~ .skiwo-choice-card__body {
  opacity: 0.55;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-choice-card__body,
  .skiwo-choice-card__check {
    transition: none;
  }
}
.skiwo-address-fields {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
}
.skiwo-address-fields__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--s-4);
}
@media (max-width: 30rem) {
  .skiwo-address-fields__row {
    grid-template-columns: minmax(0, 1fr);
  }
}

.skiwo-email-input {
  display: block;
  inline-size: 100%;
}
.skiwo-email-input__suggestion {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--s-2);
  margin-block-start: var(--s-2);
  font-family: var(--font-ui);
  font-size: var(--fs-cap);
  line-height: var(--lh-body);
  color: var(--text-2);
}
.skiwo-email-input__suggestion[hidden] {
  display: none;
}
.skiwo-email-input__apply {
  appearance: none;
  border: 0;
  padding: 0;
  background: transparent;
  font: inherit;
  font-weight: 600;
  color: var(--link);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  border-radius: var(--r-control);
}
.skiwo-email-input__apply:hover {
  color: var(--link-hover);
}
.skiwo-email-input__apply:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-email-input__hint {
  margin-block: var(--s-2) 0;
  font-family: var(--font-ui);
  font-size: var(--fs-cap);
  line-height: var(--lh-body);
  color: var(--text-warning, var(--text-2));
}
.skiwo-email-input__hint:empty {
  display: none;
}

.skiwo-phone {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  margin: 0;
  padding: 0;
  border: 0;
  min-inline-size: 0;
  font-family: var(--font-ui);
}
.skiwo-phone__legend {
  padding: 0;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-2);
}
.skiwo-phone__req {
  color: var(--destruct);
}
.skiwo-phone__row {
  display: flex;
  align-items: stretch;
  gap: var(--s-2);
}
.skiwo-phone__code-wrap {
  flex: 0 0 auto;
}
.skiwo-phone__code {
  inline-size: auto;
}
.skiwo-phone__number {
  flex: 1 1 auto;
  min-inline-size: 0;
}
.skiwo-phone__sr-only {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.skiwo-otp {
  display: inline-flex;
  flex-direction: column;
  gap: var(--s-2);
}
.skiwo-otp__cells {
  display: flex;
  gap: var(--s-2);
}
.skiwo-otp__cell {
  inline-size: 2.75rem;
  block-size: 2.75rem;
  padding: 0;
  text-align: center;
  font-family: var(--font-ui);
  font-size: var(--fs-page);
  font-weight: 600;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--border-4);
  border-radius: var(--r-control);
  transition: border-color 0.12s ease, box-shadow 0.12s ease, background-color 0.12s ease;
}
.skiwo-otp__cell:focus-visible, .skiwo-otp__cell:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: var(--sh-focus);
}
.skiwo-otp__cell:disabled {
  background: var(--surface-2);
  color: var(--text-faint2);
  cursor: not-allowed;
}
.skiwo-otp__cell.is-filled, .skiwo-otp__cell[value]:not([value=""]) {
  border-color: var(--ok);
  background: var(--ok-tint);
}
.skiwo-otp__live {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-otp__cell {
    transition: none;
  }
}
.skiwo-audit-entry {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  padding-block: var(--s-3);
  padding-inline: var(--s-4);
  font-family: var(--font-ui);
  border-inline-start: 3px solid transparent;
}
.skiwo-audit-entry__avatar {
  flex: none;
  display: inline-flex;
}
.skiwo-audit-entry__main {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-audit-entry__head {
  display: flex;
  align-items: baseline;
  gap: var(--s-2);
  min-width: 0;
}
.skiwo-audit-entry__summary {
  min-width: 0;
  flex: 1 1 auto;
  display: inline;
  font-size: var(--fs-body-sm);
  line-height: var(--lh-body);
  color: var(--text-2);
}
.skiwo-audit-entry__actor {
  font-weight: var(--fw-title);
  color: var(--text);
}
.skiwo-audit-entry__target {
  font-weight: var(--fw-title);
  color: var(--text);
}
.skiwo-audit-entry__time {
  flex: none;
  margin-inline-start: auto;
  font-size: var(--fs-meta);
  color: var(--text-muted);
  white-space: nowrap;
}
.skiwo-audit-entry__meta {
  font-size: var(--fs-meta);
  color: var(--text-faint);
}
.skiwo-audit-entry__detail {
  margin-block-start: var(--s-2);
  padding-block: var(--s-2);
  padding-inline: var(--s-3);
  border: 1px solid var(--border-2);
  border-radius: var(--r-control);
  background: var(--surface-2);
}
.skiwo-audit-entry__tone-cue {
  display: inline-flex;
  align-items: center;
  margin-inline-end: var(--s-1);
  vertical-align: text-bottom;
  color: var(--text-muted);
}
.skiwo-audit-entry--danger {
  border-inline-start-color: var(--danger);
  background: var(--danger-cell);
}
.skiwo-audit-entry--danger .skiwo-audit-entry__tone-cue {
  color: var(--danger);
}

.skiwo-totals {
  inline-size: 100%;
  border-collapse: collapse;
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  color: var(--text);
}
.skiwo-totals__label {
  text-align: start;
  font-weight: 400;
  color: var(--text-2);
  padding-block: var(--s-2);
  padding-inline-end: var(--s-5);
  vertical-align: baseline;
}
.skiwo-totals__amount {
  text-align: end;
  padding-block: var(--s-2);
  white-space: nowrap;
  vertical-align: baseline;
}
.skiwo-totals__row--subtotal .skiwo-totals__label,
.skiwo-totals__row--subtotal .skiwo-totals__amount {
  font-weight: var(--fw-title);
  color: var(--text);
}
.skiwo-totals__row--total .skiwo-totals__label,
.skiwo-totals__row--total .skiwo-totals__amount {
  font-weight: var(--fw-display);
  color: var(--text);
  border-block-start: 2px solid var(--border-2);
  padding-block-start: var(--s-3);
}
.skiwo-totals__row--total .skiwo-totals__amount {
  font-size: var(--fs-title);
}

.skiwo-line-items {
  font-family: var(--font-ui);
  color: var(--text);
}
.skiwo-line-items__table {
  inline-size: 100%;
  border-collapse: collapse;
  font-size: var(--fs-body);
}
.skiwo-line-items__col {
  text-align: start;
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-faint);
  border-block-end: 1px solid var(--border-2);
  padding-block: var(--s-2);
  padding-inline: var(--s-3);
  white-space: nowrap;
}
.skiwo-line-items__col--qty, .skiwo-line-items__col--price, .skiwo-line-items__col--amount {
  text-align: end;
}
.skiwo-line-items__col--actions {
  inline-size: 1%;
}
.skiwo-line-items__row.is-removed {
  display: none;
}
.skiwo-line-items__cell {
  padding-block: var(--s-2);
  padding-inline: var(--s-3);
  border-block-end: 1px solid var(--hairline);
  vertical-align: middle;
}
.skiwo-line-items__cell--amount {
  text-align: end;
  white-space: nowrap;
}
.skiwo-line-items__cell--actions {
  text-align: end;
  inline-size: 1%;
}
.skiwo-line-items__input {
  inline-size: 100%;
  min-inline-size: 0;
}
.skiwo-line-items__input--num {
  text-align: end;
  max-inline-size: 8rem;
  margin-inline-start: auto;
}
.skiwo-line-items__amount {
  font-variant-numeric: tabular-nums;
}
.skiwo-line-items__foot .skiwo-line-items__cell {
  border-block-end: 0;
  border-block-start: 2px solid var(--border-2);
  padding-block: var(--s-4);
}
.skiwo-line-items__cell--add {
  text-align: start;
}
.skiwo-line-items__total-label {
  display: inline-block;
  text-align: end;
  inline-size: 100%;
  font-size: var(--fs-meta);
  font-weight: var(--fw-tiny);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.skiwo-line-items__total {
  text-align: end;
  white-space: nowrap;
}
.skiwo-line-items__total-amount {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.skiwo-company-selector {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
  font-family: var(--font-ui);
}
.skiwo-company-selector__search {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}
.skiwo-company-selector__search[hidden] {
  display: none;
}
.skiwo-company-selector__label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text-2);
}
.skiwo-company-selector__listbox {
  position: absolute;
  inset-block-start: calc(100% - var(--s-6));
  inset-inline: 0;
  margin: 0;
  padding-block: var(--s-2);
  padding-inline: 0;
  list-style: none;
  max-block-size: 280px;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  box-shadow: var(--sh-float);
  z-index: 50;
}
.skiwo-company-selector__listbox[hidden] {
  display: none;
}
.skiwo-company-selector__option {
  display: flex;
  align-items: center;
  padding-block: var(--s-3);
  padding-inline: var(--s-5);
  font-size: var(--fs-body-sm);
  color: var(--text-2);
  cursor: pointer;
  transition: background-color 0.12s ease;
}
.skiwo-company-selector__option:hover {
  background: var(--surface-2);
}
.skiwo-company-selector__option.is-active {
  background: var(--brand-tint);
  box-shadow: inset var(--sh-focus);
}
.skiwo-company-selector__option[aria-selected=true] {
  font-weight: 600;
  color: var(--brand-ink);
}
.skiwo-company-selector__status {
  min-block-size: 1.25em;
  font-size: var(--fs-sm);
  color: var(--text-3);
}
.skiwo-company-selector__toggle {
  display: flex;
}
.skiwo-company-selector__toggle-btn {
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-size: var(--fs-sm);
  color: var(--brand-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.skiwo-company-selector__toggle-btn:hover {
  color: var(--brand-ink-strong, var(--brand-ink));
}
.skiwo-company-selector__toggle-btn:focus-visible {
  outline: none;
  border-radius: var(--r-sm, 4px);
  box-shadow: var(--sh-focus);
}
.skiwo-company-selector__toggle-btn[hidden] {
  display: none;
}
.skiwo-company-selector__fields {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
}
.skiwo-company-selector__fields[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-company-selector__option {
    transition: none;
  }
}
/* latin-ext */
@font-face {
  font-family: "Schibsted Grotesk";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/schibsted-grotesk-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Schibsted Grotesk";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/schibsted-grotesk-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/hanken-grotesk-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/hanken-grotesk-vietnamese.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/hanken-grotesk-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/hanken-grotesk-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin — 400 */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin — 500 */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin-500.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin — 600 */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin-600.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin — 700 */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin-700.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.skiwo-auth-rail {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: var(--auth-rail-bg);
  color: var(--auth-rail-ink);
  padding: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem);
  min-height: 100%;
}
.skiwo-auth-rail__glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, var(--auth-rail-glow) 0%, transparent 70%);
}
.skiwo-auth-rail__glow--top {
  top: -10%;
  right: -20%;
  width: 60%;
  padding-top: 60%;
}
.skiwo-auth-rail__glow--bottom {
  bottom: -15%;
  left: -15%;
  width: 50%;
  padding-top: 50%;
}
.skiwo-auth-rail__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  height: 100%;
  inline-size: 100%;
  max-inline-size: 30rem;
  align-self: flex-end;
}
.skiwo-auth-rail__brand {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-ui);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--auth-rail-ink);
  margin-bottom: 0.5rem;
}
.skiwo-auth-rail__brand svg {
  display: block;
  height: 2rem;
  width: auto;
}
.skiwo-auth-rail__eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  border: 1px solid var(--auth-rail-card-border);
  background-color: var(--auth-rail-card-bg);
  color: var(--auth-rail-accent);
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  width: fit-content;
}
.skiwo-auth-rail__headline {
  font-family: var(--font-prose);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--auth-rail-ink);
  margin: 0;
}
.skiwo-auth-rail__sub {
  font-family: var(--font-prose);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--auth-rail-ink-dim);
  margin: 0;
}
.skiwo-auth-rail__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: auto;
}
.skiwo-auth-rail__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  border: 1px solid var(--auth-rail-card-border);
  background-color: var(--auth-rail-card-bg);
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--auth-rail-ink-dim);
}
.skiwo-auth-rail__badge::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--auth-rail-accent);
  flex-shrink: 0;
}
.skiwo-auth-rail--photo {
  --auth-rail-ink: #ffffff;
  --auth-rail-ink-dim: rgba(255, 255, 255, 0.82);
  --auth-rail-accent: #ffffff;
  --auth-rail-card-bg: rgba(255, 255, 255, 0.14);
  --auth-rail-card-border: rgba(255, 255, 255, 0.30);
  background-color: var(--brand, #4f46e5);
}
.skiwo-auth-rail__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.skiwo-auth-rail__overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(17, 18, 30, 0.18) 0%, rgba(17, 18, 30, 0.58) 100%), linear-gradient(135deg, rgba(79, 70, 229, 0.64) 0%, rgba(99, 102, 241, 0.42) 100%);
}
.skiwo-auth-rail--photo .skiwo-auth-rail__headline {
  text-shadow: 0 1px 12px rgba(17, 18, 30, 0.35);
}
.skiwo-auth-rail--photo .skiwo-auth-rail__sub {
  text-shadow: 0 1px 8px rgba(17, 18, 30, 0.3);
}

@media (max-width: 767px) {
  .skiwo-auth-rail {
    padding: 1.5rem 1rem;
  }
  .skiwo-auth-rail__headline {
    font-size: 1.5rem;
  }
}
.skiwo-auth-shell {
  display: grid;
  grid-template-columns: 1.02fr 1fr;
  min-block-size: 100vh;
  overflow: hidden;
}
.skiwo-auth-shell__rail {
  display: flex;
  flex-direction: column;
}
.skiwo-auth-shell__form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: var(--auth-shell-form-bg, var(--surface, #fff));
  padding: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem);
}
.skiwo-auth-shell__form-inner {
  inline-size: 100%;
  max-inline-size: 26rem;
}

@media (min-width: 901px) {
  .skiwo-auth-shell__form {
    align-items: flex-start;
  }
}
@media (max-width: 900px) {
  .skiwo-auth-shell {
    grid-template-columns: 1fr;
  }
  .skiwo-auth-shell__rail {
    display: none;
  }
}
.skiwo-auth-form {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
  inline-size: 100%;
  max-inline-size: 24rem;
  margin-inline: auto;
  font-family: var(--font-ui);
  color: var(--text-2);
}
.skiwo-auth-form__heading {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  line-height: var(--lh-tight);
  color: var(--text);
}
.skiwo-auth-form__submit {
  inline-size: 100%;
}
.skiwo-auth-form__affordances {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
  font-size: var(--fs-meta);
  color: var(--text-muted);
}
.skiwo-auth-form__link {
  color: var(--accent);
  text-decoration: underline;
}
.skiwo-auth-form__link:hover {
  color: var(--accent-strong);
}
.skiwo-auth-form__link:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
  border-radius: var(--r-xs);
}

body.skiwo-ui {
  margin: 0;
  font-family: var(--font-ui, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  color: var(--text, #1a1a2e);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.skiwo-ui.auth-page {
  min-block-size: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--auth-bg-from, var(--brand-tint, #f0f0ff)) 0%, var(--auth-bg-to, var(--border-2, #e0e0ef)) 100%);
  padding: 1rem;
}

body.skiwo-ui.auth-page:has(.skiwo-auth-shell) {
  display: block;
  padding: 0;
  background: none;
  min-block-size: 0;
}

.auth-check-email {
  background: var(--surface);
  border-radius: 12px;
  box-shadow: var(--sh-float, 0 20px 40px rgba(0, 0, 0, 0.2));
  inline-size: 100%;
  max-inline-size: 24rem;
  overflow: hidden;
  padding: 2rem;
  text-align: center;
}
.auth-check-email__icon {
  block-size: 4rem;
  inline-size: 4rem;
  margin-inline: auto;
  margin-block-end: 1rem;
  color: var(--brand);
}
.auth-check-email__heading {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text);
  margin-block-end: 0.5rem;
}
.auth-check-email__description {
  color: var(--text-muted);
  font-size: 0.875rem;
  margin-block-end: 1rem;
}
.auth-check-email__back-link {
  display: inline-block;
  margin-block-start: 1rem;
  padding: 0.75rem 1.5rem;
  background: var(--brand);
  color: var(--on-brand);
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
}
.auth-check-email__back-link:hover {
  background: var(--brand-hover, var(--brand));
}

.auth-account {
  background: var(--surface);
  border-radius: 12px;
  box-shadow: var(--sh-float, 0 20px 40px rgba(0, 0, 0, 0.2));
  inline-size: 100%;
  max-inline-size: 30rem;
  overflow: hidden;
}
.auth-account__header {
  background: var(--auth-header-bg, var(--text));
  color: var(--on-brand, white);
  padding: 2rem;
}
.auth-account__heading {
  font-size: 1.5rem;
  font-weight: 600;
}
.auth-account__subheading {
  margin-block-start: 0.5rem;
  opacity: 0.8;
  font-size: 0.875rem;
}
.auth-account__body {
  padding: 2rem;
}
.auth-account__section {
  margin-block-end: 2rem;
  padding-block-end: 2rem;
  border-block-end: 1px solid var(--border-2);
}
.auth-account__section:last-child {
  margin-block-end: 0;
  padding-block-end: 0;
  border-block-end: none;
}
.auth-account__section-title {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  margin-block-end: 1rem;
}
.auth-account__avatar-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.auth-account__avatar-preview {
  inline-size: 5rem;
  block-size: 5rem;
  border-radius: 50%;
  overflow: hidden;
  background: var(--bg-app);
}
.auth-account__avatar-img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.auth-account__info-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 0.75rem;
  column-gap: 1rem;
}
.auth-account__info-label {
  font-size: 0.875rem;
  color: var(--text-muted);
}
.auth-account__info-value {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text);
  text-align: end;
}
.auth-account__footer {
  padding: 1.5rem 2rem;
  background: var(--bg-app);
  text-align: center;
  font-size: 0.875rem;
  border-block-start: 1px solid var(--border-2);
}
.auth-account__back-link {
  color: var(--brand);
  text-decoration: none;
}
.auth-account__back-link:hover {
  text-decoration: underline;
}

.skiwo-auth-picker__heading {
  margin: 0 0 var(--s-3);
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  line-height: var(--lh-tight);
  color: var(--text);
  font-family: var(--font-prose);
}
.skiwo-auth-picker__email {
  margin: 0 0 var(--s-7);
  font-family: var(--font-ui);
  font-size: var(--fs-meta);
  color: var(--text-muted);
}
.skiwo-auth-picker__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}
.skiwo-auth-picker__item {
  margin: 0;
}
.skiwo-auth-picker__row-form {
  margin: 0;
  display: block;
  inline-size: 100%;
}
.skiwo-auth-picker__row {
  box-sizing: border-box;
  inline-size: 100%;
  display: flex;
  align-items: center;
  gap: var(--s-7);
  padding: var(--s-6) var(--s-7);
  text-align: start;
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  cursor: pointer;
  font-family: var(--font-ui);
  transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}
.skiwo-auth-picker__row:hover {
  border-color: var(--brand);
  background: var(--surface-2);
}
.skiwo-auth-picker__row:focus-visible {
  outline: none;
  border-color: var(--brand);
  box-shadow: var(--sh-focus);
}
.skiwo-auth-picker__chip {
  flex: 0 0 auto;
  inline-size: 40px;
  block-size: 40px;
  border-radius: var(--r-control);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--on-brand);
  font-weight: 700;
  font-size: var(--fs-sm);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.skiwo-auth-picker__row-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-inline-size: 0;
}
.skiwo-auth-picker__name {
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.skiwo-auth-picker__meta {
  font-size: var(--fs-meta);
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.skiwo-auth-picker__create {
  margin: var(--s-9) 0 0;
  text-align: center;
}
.skiwo-auth-picker__create-link {
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: var(--fs-body-sm);
  color: var(--brand);
  text-decoration: none;
}
.skiwo-auth-picker__create-link:hover {
  text-decoration: underline;
}
.skiwo-auth-picker__create-link:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
  border-radius: var(--r-xs);
}

.skiwo-button-to {
  display: contents;
  margin: 0;
  padding: 0;
}

.skiwo-menu {
  position: relative;
  display: inline-block;
}
.skiwo-menu__trigger {
  gap: var(--s-2);
}
.skiwo-menu__trigger--bare {
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: inherit;
  font: inherit;
  border-radius: var(--r-control);
}
.skiwo-menu__trigger--bare:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.skiwo-menu__icon {
  font-size: var(--fs-body-sm);
}
.skiwo-menu__caret {
  font-size: 10px;
}
.skiwo-menu__panel {
  position: absolute;
  inset-block-start: calc(100% + var(--s-2));
  min-inline-size: 200px;
  max-inline-size: 320px;
  padding: var(--s-2);
  background: var(--surface);
  border: 1px solid var(--border-3);
  border-radius: var(--r-card);
  box-shadow: var(--sh-float);
  color: var(--text-2);
  font-size: var(--fs-body-sm);
  z-index: 50;
}
.skiwo-menu__panel:focus-visible {
  outline: none;
  box-shadow: var(--sh-float), var(--sh-focus);
}
.skiwo-menu__panel--start {
  inset-inline-start: 0;
}
.skiwo-menu__panel--end {
  inset-inline-end: 0;
}
.skiwo-menu__panel[hidden] {
  display: none;
}
.skiwo-menu__item {
  display: block;
}
.skiwo-menu__item + .skiwo-menu__item {
  margin-block-start: var(--s-1);
}
.skiwo-menu__divider {
  block-size: 1px;
  margin-block: var(--s-2);
  margin-inline: calc(var(--s-2) * -1);
  background: var(--border-3);
}

.skiwo-code {
  position: relative;
  display: block;
  background: var(--surface-2);
  border: 1px solid var(--border-4);
  border-radius: var(--r-control);
  overflow: hidden;
}
.skiwo-code__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-2);
  padding-block: var(--s-1) 0;
  padding-inline: var(--s-3);
  min-block-size: 0;
}
.skiwo-code__lang {
  display: inline-flex;
  align-items: center;
  padding-block: var(--s-1);
  padding-inline: var(--s-2);
  font-family: var(--font-mono);
  font-size: var(--fs-cap);
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-mid);
  background: var(--surface-3);
  border: 1px solid var(--border-4);
  border-radius: var(--r-control-sm);
}
.skiwo-code__copy {
  margin-inline-start: auto;
}
.skiwo-code__pre {
  margin: 0;
  padding: var(--s-3);
  overflow-x: auto;
  font-family: var(--font-mono);
  font-size: var(--fs-cap);
  line-height: 1.5;
  color: var(--text-strong);
  -webkit-overflow-scrolling: touch;
}
.skiwo-code__pre:focus-visible {
  outline: 2px solid var(--focus-ring, var(--border-accent));
  outline-offset: -2px;
}
.skiwo-code__code {
  display: block;
  font-family: inherit;
  white-space: pre;
  tab-size: 2;
}

.skiwo-langtabs {
  border-block-end: 1px solid var(--border-2);
}
.skiwo-langtabs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--s-7);
  margin: 0;
  margin-block-end: -1px;
  padding: 0;
  list-style: none;
}
.skiwo-langtabs__item {
  display: flex;
}
.skiwo-langtabs__tab {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  min-block-size: var(--tap-min);
  padding-block: var(--s-3);
  font-family: var(--font-ui);
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text-mid);
  text-decoration: none;
  cursor: pointer;
  border-block-end: 2px solid transparent;
  transition: color 0.12s ease, border-color 0.12s ease;
}
.skiwo-langtabs__tab:hover {
  color: var(--text-2);
}
.skiwo-langtabs__tab:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-langtabs__tab.is-active {
  color: var(--brand-ink);
  border-block-end-color: var(--brand);
}
.skiwo-langtabs__code {
  font-family: var(--font-mono);
  font-size: var(--fs-meta);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
}
.skiwo-langtabs__coverage {
  font-family: var(--font-mono);
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: 1;
  color: var(--coverage-ink);
}
.skiwo-langtabs__coverage--high {
  --coverage-ink: var(--ok);
}
.skiwo-langtabs__coverage--med {
  --coverage-ink: var(--info);
}
.skiwo-langtabs__coverage--low {
  --coverage-ink: var(--warn);
}
.skiwo-langtabs__source {
  display: inline-flex;
  align-items: center;
  padding-block: 2px;
  padding-inline: var(--s-2);
  font-family: var(--font-ui);
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--brand-ink);
  background: var(--brand-tint);
  border-radius: var(--r-pill);
}
.skiwo-langtabs__item--add {
  margin-inline-start: auto;
}
.skiwo-langtabs__add {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  min-block-size: var(--tap-min);
  padding-block: var(--s-3);
  font-family: var(--font-ui);
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--brand-ink);
  text-decoration: none;
  cursor: pointer;
  border-block-end: 2px solid transparent;
  transition: color 0.12s ease;
}
.skiwo-langtabs__add:hover {
  color: var(--brand-hover);
}
.skiwo-langtabs__add:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-langtabs__add-icon {
  font-size: 0.8em;
  line-height: 1;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-langtabs__tab,
  .skiwo-langtabs__add {
    transition: none;
  }
}
.skiwo-keyrow {
  position: relative;
  padding: 9px 13px;
  background: var(--surface);
  border-block-end: 1px solid var(--border-1);
}
.skiwo-keyrow:last-child {
  border-block-end: 0;
}
.skiwo-keyrow--active, .skiwo-keyrow:focus-within {
  background: var(--surface-light-violet);
}
.skiwo-keyrow--active::before, .skiwo-keyrow:focus-within::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 3px;
  background: var(--brand);
}
.skiwo-keyrow__head {
  display: flex;
  align-items: center;
  gap: var(--s-4);
  margin-block-end: var(--s-1);
}
.skiwo-keyrow__key {
  font-family: var(--font-mono);
  font-size: var(--fs-cap);
  color: var(--text-faint2);
}
.skiwo-keyrow__spacer {
  flex: 1;
}
.skiwo-keyrow__panes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-4);
  align-items: start;
}
.skiwo-keyrow__source, .skiwo-keyrow__target {
  border-radius: var(--r-control-sm);
  padding: var(--s-2) 9px;
  font-size: var(--fs-sm);
  line-height: var(--lh-tight);
}
.skiwo-keyrow__source {
  border: 1px solid var(--border-2);
  background: var(--surface-2);
  color: var(--text-3);
}
.skiwo-keyrow__target-col {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
}
.skiwo-keyrow__target {
  border: 1px solid var(--border-4);
  background: var(--surface);
  color: var(--text);
}
.skiwo-keyrow__target--brand, .skiwo-keyrow__target:focus-within {
  border: 1.5px solid var(--brand);
  box-shadow: var(--sh-focus);
}
.skiwo-keyrow__target--warn {
  border: 1.5px solid var(--warn-strong);
  box-shadow: 0 0 0 3px rgba(199, 154, 58, 0.12);
}
.skiwo-keyrow__target--empty {
  border: 1.5px dashed var(--danger-ink);
  background: var(--danger-cell);
  color: var(--danger-ink);
}
.skiwo-keyrow__source--clamp, .skiwo-keyrow__target--clamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.skiwo-keyrow--active .skiwo-keyrow__source--clamp, .skiwo-keyrow--active .skiwo-keyrow__target--clamp, .skiwo-keyrow:focus-within .skiwo-keyrow__source--clamp, .skiwo-keyrow:focus-within .skiwo-keyrow__target--clamp {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}
.skiwo-keyrow__actions, .skiwo-keyrow__hint {
  display: none;
}
.skiwo-keyrow--active .skiwo-keyrow__actions, .skiwo-keyrow:focus-within .skiwo-keyrow__actions {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  margin-block-start: var(--s-2);
}
.skiwo-keyrow--active .skiwo-keyrow__hint, .skiwo-keyrow:focus-within .skiwo-keyrow__hint {
  display: block;
  margin-block-start: var(--s-2);
}

.skiwo-site-footer {
  margin-block-start: auto;
  padding-block: var(--s-10);
  border-block-start: 1px solid var(--border-2);
  background: var(--surface);
  color: var(--text-muted);
  font-family: var(--font-ui);
  font-size: var(--fs-body-sm);
  line-height: var(--lh-body);
}
.skiwo-site-footer__inner {
  max-inline-size: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--s-7);
}
.skiwo-site-footer__columns {
  display: grid;
  grid-template-columns: 2fr repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--s-10);
  align-items: start;
}
.skiwo-site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  min-inline-size: 0;
}
.skiwo-site-footer__brand-name {
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2);
  color: var(--text);
}
.skiwo-site-footer__tagline {
  margin: 0;
  color: var(--text-faint);
  max-inline-size: 36ch;
}
.skiwo-site-footer__group {
  min-inline-size: 0;
}
.skiwo-site-footer__group-title {
  margin: 0 0 var(--s-5);
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  color: var(--text-2);
}
.skiwo-site-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}
.skiwo-site-footer__link {
  color: inherit;
  text-decoration: none;
  border-radius: var(--r-control-sm);
  transition: color 0.12s ease;
}
.skiwo-site-footer__link:hover {
  color: var(--brand);
  text-decoration: underline;
}
.skiwo-site-footer__link:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-site-footer__company {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  min-inline-size: 0;
}
.skiwo-site-footer__company-name {
  font-weight: var(--fw-title);
  color: var(--text-2);
}
.skiwo-site-footer__address {
  font-style: normal;
  color: var(--text-faint);
}
.skiwo-site-footer__org-label {
  color: var(--text-faint2);
}
.skiwo-site-footer__org-value {
  font-family: var(--font-mono);
  color: var(--text-muted);
}
.skiwo-site-footer__org {
  margin: 0;
}
.skiwo-site-footer__divider {
  margin-block: var(--s-9);
}
.skiwo-site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-5) var(--s-7);
  color: var(--text-faint);
  font-size: var(--fs-meta);
}
.skiwo-site-footer__bottom-link {
  color: inherit;
  text-decoration: none;
  border-radius: var(--r-control-sm);
}
.skiwo-site-footer__bottom-link:hover {
  color: var(--brand);
  text-decoration: underline;
}
.skiwo-site-footer__bottom-link:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
@media (max-width: 640px) {
  .skiwo-site-footer__columns {
    grid-template-columns: 1fr;
    gap: var(--s-9);
  }
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-site-footer__link,
  .skiwo-site-footer__bottom-link {
    transition: none;
  }
}
.skiwo-hero {
  display: block;
  font-family: var(--font-ui);
  color: var(--text-2);
  padding-block: var(--s-10);
}
.skiwo-hero__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-5);
  min-inline-size: 0;
}
.skiwo-hero__eyebrow {
  font-size: var(--fs-meta);
  font-weight: var(--fw-tiny);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--brand-ink);
}
.skiwo-hero__headline {
  margin: 0;
  font-size: var(--fs-display);
  font-weight: var(--fw-display);
  line-height: var(--lh-tight);
  color: var(--text);
  text-wrap: balance;
}
.skiwo-hero__subtext {
  margin: 0;
  font-size: var(--fs-h2);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--text-muted);
  max-inline-size: 60ch;
}
.skiwo-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-4);
  margin-block-start: var(--s-3);
}
.skiwo-hero__media {
  min-inline-size: 0;
}
.skiwo-hero__media img,
.skiwo-hero__media svg,
.skiwo-hero__media picture {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.skiwo-hero:not(.skiwo-hero--split) .skiwo-hero__text {
  align-items: center;
  text-align: center;
  max-inline-size: 64ch;
  margin-inline: auto;
}
.skiwo-hero:not(.skiwo-hero--split) .skiwo-hero__subtext {
  margin-inline: auto;
}
.skiwo-hero:not(.skiwo-hero--split) .skiwo-hero__ctas {
  justify-content: center;
}
.skiwo-hero--split .skiwo-hero__text {
  gap: var(--s-5);
}
@media (min-width: 768px) {
  .skiwo-hero--split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: var(--s-10);
  }
  .skiwo-hero--split .skiwo-hero__text {
    gap: var(--s-7);
  }
}

.skiwo-cta-band {
  display: block;
  font-family: var(--font-ui);
  color: var(--on-brand);
  background: var(--brand);
  border-radius: var(--r-card-lg);
  padding-block: var(--s-10);
  padding-inline: var(--s-9);
}
.skiwo-cta-band__inner {
  max-inline-size: 640px;
  margin-inline: auto;
  text-align: center;
}
.skiwo-cta-band__heading {
  margin: 0;
  font-size: var(--fs-page);
  font-weight: var(--fw-page);
  line-height: var(--lh-tight);
  color: var(--on-brand);
}
.skiwo-cta-band__text {
  margin: 0;
  margin-block-start: var(--s-4);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--on-brand);
}
.skiwo-cta-band__cta {
  margin-block-start: var(--s-9);
}

.skiwo-section-head {
  display: block;
  font-family: var(--font-ui);
  text-align: center;
  max-inline-size: 640px;
  margin-inline: auto;
}
.skiwo-section-head__eyebrow {
  margin: 0;
  margin-block-end: var(--s-3);
  font-size: var(--fs-tiny);
  font-weight: var(--fw-tiny);
  line-height: var(--lh-tight);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-ink);
}
.skiwo-section-head__title {
  margin: 0;
  font-size: var(--fs-page);
  font-weight: var(--fw-page);
  line-height: var(--lh-tight);
  color: var(--text);
}
.skiwo-section-head__subtext {
  margin: 0;
  margin-block-start: var(--s-4);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text-muted);
}

.skiwo-feature-grid {
  display: grid;
  gap: var(--s-5);
  inline-size: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.skiwo-feature-grid--auto {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.skiwo-feature-grid--cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
.skiwo-feature-grid--cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.skiwo-feature-grid--cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 640px) {
  .skiwo-feature-grid--cols-2, .skiwo-feature-grid--cols-3, .skiwo-feature-grid--cols-4 {
    grid-template-columns: 1fr;
  }
}
.skiwo-feature-grid__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  padding: var(--s-5);
  background: var(--surface);
  border: var(--hairline) solid var(--border-2);
  border-radius: var(--r-card);
  box-shadow: var(--sh-card);
}
.skiwo-feature-grid__card--link {
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.skiwo-feature-grid__card--link:hover {
  border-color: var(--border-3);
  box-shadow: var(--sh-raise);
  transform: translateY(-1px);
}
.skiwo-feature-grid__card--link:focus-within {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-feature-grid__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--s-9);
  block-size: var(--s-9);
  border-radius: var(--r-control);
  color: var(--brand-ink);
  background: var(--brand-tint);
}
.skiwo-feature-grid__media {
  display: flex;
  align-items: center;
}
.skiwo-feature-grid__title {
  margin: 0;
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  line-height: var(--lh-tight);
  color: var(--text);
  overflow-wrap: anywhere;
}
.skiwo-feature-grid__link {
  color: inherit;
  text-decoration: none;
}
.skiwo-feature-grid__link::after {
  content: "";
  position: absolute;
  inset: 0;
}
.skiwo-feature-grid__link:focus-visible {
  outline: none;
}
.skiwo-feature-grid__blurb {
  margin-block: 0;
  font-size: var(--fs-body-sm);
  line-height: var(--lh-body);
  color: var(--text-muted);
  overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-feature-grid__card--link {
    transition: none;
  }
  .skiwo-feature-grid__card--link:hover {
    transform: none;
  }
}
.skiwo-reviewer-signoff {
  display: flex;
  align-items: center;
  gap: var(--space-xs, 0.5rem);
  padding: var(--space-sm, 0.75rem) var(--space-md, 1rem);
  border-radius: var(--radius-md, 0.5rem);
  background: var(--ok-tint, #edf7f0);
  border: 1px solid var(--ok-border, #c3e6cb);
  color: var(--ok, #276749);
  font-size: var(--text-sm, 0.875rem);
}
.skiwo-reviewer-signoff__icon {
  flex-shrink: 0;
  color: var(--ok, #276749);
}
.skiwo-reviewer-signoff__label {
  font-weight: 600;
}
.skiwo-reviewer-signoff__reviewer, .skiwo-reviewer-signoff__time {
  color: var(--ink-muted, #6b7280);
}
.skiwo-reviewer-signoff--compact {
  display: inline-flex;
  padding: var(--space-xxs, 0.25rem) var(--space-sm, 0.75rem);
  border-radius: var(--radius-full, 9999px);
  font-size: var(--text-xs, 0.75rem);
}

.skiwo-reply-draft-card {
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-lg, 0.75rem);
  overflow: hidden;
}
.skiwo-reply-draft-card__head {
  display: flex;
  align-items: center;
  gap: var(--space-sm, 0.75rem);
  padding: var(--space-sm, 0.75rem) var(--space-md, 1rem);
  background: var(--surface-raised, #f9fafb);
  border-bottom: 1px solid var(--border, #e5e7eb);
}
.skiwo-reply-draft-card__id {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.skiwo-reply-draft-card__author {
  font-weight: 600;
  font-size: var(--text-sm, 0.875rem);
  color: var(--ink, #111827);
}
.skiwo-reply-draft-card__time {
  font-size: var(--text-xs, 0.75rem);
  color: var(--ink-muted, #6b7280);
}
.skiwo-reply-draft-card__badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 0.125rem var(--space-sm, 0.75rem);
  border-radius: var(--radius-full, 9999px);
  background: var(--brand-tint, #ede9fe);
  color: var(--brand, #7c3aed);
  border: 1px solid var(--brand-border, #ddd6fe);
  font-size: var(--text-xs, 0.75rem);
  font-weight: 600;
  letter-spacing: 0.03em;
}
.skiwo-reply-draft-card__body, .skiwo-reply-draft-card__textarea {
  padding: var(--space-md, 1rem);
}
.skiwo-reply-draft-card__textarea {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--border, #e5e7eb);
  resize: vertical;
  min-height: 6rem;
  background: var(--surface, #fff);
}
.skiwo-reply-draft-card__textarea:focus {
  outline: 2px solid var(--brand, #7c3aed);
  outline-offset: -2px;
}
.skiwo-reply-draft-card__actions, .skiwo-reply-draft-card__edit-controls {
  display: flex;
  gap: var(--space-sm, 0.75rem);
  padding: var(--space-sm, 0.75rem) var(--space-md, 1rem);
  border-top: 1px solid var(--border, #e5e7eb);
}
.skiwo-reply-draft-card[data-busy=true] {
  pointer-events: none;
  opacity: 0.7;
}

.skiwo-score-grid {
  border: none;
  padding: 0;
  margin: 0;
}
.skiwo-score-grid__legend {
  font-size: var(--text-sm, 0.875rem);
  font-weight: 600;
  color: var(--ink, #111827);
  margin-bottom: var(--space-sm, 0.75rem);
}
.skiwo-score-grid__cells {
  display: flex;
  gap: var(--space-xxs, 0.25rem);
}
.skiwo-score-grid__cell {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.skiwo-score-grid__cell input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.skiwo-score-grid__cell label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-md, 0.5rem);
  font-size: var(--text-sm, 0.875rem);
  font-weight: 600;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.1s, background 0.1s;
}
.skiwo-score-grid__cell--detractor label {
  background: var(--nt-detractor-bg);
  color: var(--nt-detractor-ink);
  border-color: var(--nt-detractor-border);
}
.skiwo-score-grid__cell--passive label {
  background: var(--nt-passive-bg);
  color: var(--nt-passive-ink);
  border-color: var(--nt-passive-border);
}
.skiwo-score-grid__cell--promoter label {
  background: var(--nt-promoter-bg);
  color: var(--nt-promoter-ink);
  border-color: var(--nt-promoter-border);
}
.skiwo-score-grid__cell input[type=radio]:checked + label,
.skiwo-score-grid__cell input[type=radio]:focus-visible + label {
  border-width: 3px;
  outline: 2px solid var(--brand, #7c3aed);
  outline-offset: 2px;
}
.skiwo-score-grid__labels {
  display: flex;
  justify-content: space-between;
  margin-top: var(--space-xs, 0.5rem);
}
.skiwo-score-grid__low-label, .skiwo-score-grid__high-label {
  font-size: var(--text-xs, 0.75rem);
  color: var(--ink-muted, #6b7280);
}

.skiwo-onboarding {
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
  font-family: var(--font-ui);
  color: var(--text-2);
}
.skiwo-onboarding__progress-bar-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}
.skiwo-onboarding__progress-track {
  block-size: var(--s-2);
  background: var(--surface-2, #E9ECEF);
  border-radius: var(--r-full, 9999px);
  overflow: hidden;
}
.skiwo-onboarding__progress-fill {
  block-size: 100%;
  background: var(--brand);
  border-radius: var(--r-full, 9999px);
  transition: width 0.3s ease;
}
.skiwo-onboarding__progress-label {
  font-size: var(--fs-meta);
  color: var(--text-muted);
}
.skiwo-onboarding__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}
.skiwo-onboarding__step {
  display: flex;
  gap: var(--s-4);
  padding: var(--s-4);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.skiwo-onboarding__step--done {
  background: var(--ok-tint);
  border-color: var(--ok-bar);
}
.skiwo-onboarding__check {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  margin-block-start: 0.125rem;
  color: var(--text-muted);
}
.skiwo-onboarding__check--done {
  color: var(--ok-bar);
}
.skiwo-onboarding__check-ring {
  display: block;
  inline-size: 1rem;
  block-size: 1rem;
  border: 2px solid currentColor;
  border-radius: var(--r-full, 9999px);
}
.skiwo-onboarding__step-body {
  flex: 1;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}
.skiwo-onboarding__step-header {
  display: flex;
  align-items: baseline;
  gap: var(--s-2);
  flex-wrap: wrap;
}
.skiwo-onboarding__step-title {
  font-size: var(--fs-body);
  font-weight: var(--fw-medium, 500);
  color: var(--text);
  line-height: var(--lh-tight);
}
.skiwo-onboarding__optional-badge {
  display: inline-flex;
  align-items: center;
  padding: 0 var(--s-2);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium, 500);
  color: var(--text-muted);
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--r-full, 9999px);
  white-space: nowrap;
}
.skiwo-onboarding__step-desc {
  margin: 0;
  font-size: var(--fs-meta);
  color: var(--text-muted);
  line-height: var(--lh-body);
}
.skiwo-onboarding__step-actions {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  flex-wrap: wrap;
}
.skiwo-onboarding__action {
  display: inline-flex;
  align-items: center;
  padding: var(--s-1) var(--s-3);
  font-size: var(--fs-meta);
  font-weight: var(--fw-medium, 500);
  color: var(--brand-ink);
  background: var(--brand-tint);
  border: 1px solid var(--brand-border);
  border-radius: var(--r-sm);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.skiwo-onboarding__action:hover {
  background: var(--brand-tint-2);
  border-color: var(--brand);
}
.skiwo-onboarding__action:focus-visible {
  outline: 2px solid var(--focus, var(--brand));
  outline-offset: 2px;
}
.skiwo-onboarding__action--btn {
  font-family: inherit;
}
.skiwo-onboarding__expand-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  padding: 0;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  color: var(--text-muted);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, transform 0.2s ease;
}
.skiwo-onboarding__expand-toggle:hover {
  background: var(--surface-2);
  color: var(--text);
}
.skiwo-onboarding__expand-toggle:focus-visible {
  outline: 2px solid var(--focus, var(--brand));
  outline-offset: 2px;
}
.skiwo-onboarding__toggle-icon {
  transition: transform 0.2s ease;
  font-size: 0.75rem;
}
.skiwo-onboarding__expand-toggle.is-open .skiwo-onboarding__toggle-icon {
  transform: rotate(180deg);
}
.skiwo-onboarding__connectors-panel {
  margin-block-start: var(--s-2);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  overflow: hidden;
}
.skiwo-onboarding__connectors-panel[hidden] {
  display: none;
}
.skiwo-onboarding__connectors {
  list-style: none;
  margin: 0;
  padding: 0;
}
.skiwo-onboarding__connector-row {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-3) var(--s-4);
  border-block-end: 1px solid var(--border);
}
.skiwo-onboarding__connector-row:last-child {
  border-block-end: none;
}
.skiwo-onboarding__connector-row--connected {
  background: var(--ok-tint);
}
.skiwo-onboarding__connector-glyph {
  flex-shrink: 0;
  inline-size: 1.25rem;
  text-align: center;
  color: var(--text-muted);
  font-size: 0.875rem;
}
.skiwo-onboarding__connector-info {
  flex: 1;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.skiwo-onboarding__connector-title {
  font-size: var(--fs-meta);
  font-weight: var(--fw-medium, 500);
  color: var(--text);
}
.skiwo-onboarding__connector-meta {
  font-size: var(--fs-xs);
  color: var(--text-muted);
}
.skiwo-onboarding__connector-action {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  flex-shrink: 0;
}
.skiwo-onboarding__connector-connected-badge {
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium, 500);
  color: var(--ok);
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
}
.skiwo-onboarding__connector-connected-badge::before {
  content: "";
  display: inline-block;
  inline-size: 0.5rem;
  block-size: 0.5rem;
  border-radius: var(--r-full, 9999px);
  background: var(--ok-bar);
}
.skiwo-onboarding__connector-link {
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium, 500);
  color: var(--brand-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.skiwo-onboarding__connector-link:hover {
  color: var(--brand);
}
.skiwo-onboarding__connector-link:focus-visible {
  outline: 2px solid var(--focus, var(--brand));
  outline-offset: 2px;
  border-radius: var(--r-xs);
}
.skiwo-onboarding__connector-link--manage {
  color: var(--text-muted);
}
.skiwo-onboarding__connector-link--manage:hover {
  color: var(--text);
}

.skiwo-feedback-widget {
  display: flex;
  flex-direction: column;
  gap: var(--space-md, 1rem);
  padding: var(--space-lg, 1.5rem);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-lg, 0.75rem);
  background: var(--surface, #fff);
}
.skiwo-feedback-widget__question {
  font-size: var(--text-md, 1rem);
  font-weight: 600;
  color: var(--ink, #111827);
  margin: 0;
}
.skiwo-feedback-widget__footer {
  display: flex;
  justify-content: flex-end;
}
.skiwo-feedback-widget .skiwo-score-grid__legend {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skiwo-response-path {
  border-radius: var(--radius-lg, 0.75rem);
  border: 2px solid;
  padding: var(--space-md, 1rem) var(--space-lg, 1.5rem);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm, 0.75rem);
}
.skiwo-response-path--detractor {
  background: var(--nt-detractor-bg);
  border-color: var(--nt-detractor-border);
  color: var(--nt-detractor-ink);
}
.skiwo-response-path--passive {
  background: var(--nt-passive-bg);
  border-color: var(--nt-passive-border);
  color: var(--nt-passive-ink);
}
.skiwo-response-path--promoter {
  background: var(--nt-promoter-bg);
  border-color: var(--nt-promoter-border);
  color: var(--nt-promoter-ink);
}
.skiwo-response-path__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm, 0.75rem);
}
.skiwo-response-path__score-label {
  font-weight: 700;
  font-size: var(--text-sm, 0.875rem);
}
.skiwo-response-path__route {
  font-size: var(--text-xs, 0.75rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.75;
}
.skiwo-response-path__message {
  margin: 0;
  font-size: var(--text-sm, 0.875rem);
  line-height: 1.6;
}
.skiwo-response-path__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm, 0.75rem);
  font-size: var(--text-xs, 0.75rem);
  opacity: 0.8;
}

.skiwo-case-study-card {
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-lg, 0.75rem);
  padding: var(--space-lg, 1.5rem);
  background: var(--surface, #fff);
  display: flex;
  flex-direction: column;
  gap: var(--space-md, 1rem);
}
.skiwo-case-study-card__head {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.skiwo-case-study-card__consent {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xxs, 0.25rem);
  font-size: var(--text-xs, 0.75rem);
  color: var(--ok, #276749);
  font-weight: 500;
}
.skiwo-case-study-card__quote {
  margin: 0;
  font-size: var(--text-md, 1rem);
  line-height: 1.7;
  color: var(--ink, #111827);
  font-style: italic;
  font-weight: 500;
}
.skiwo-case-study-card__attribution {
  display: flex;
  align-items: center;
  gap: var(--space-sm, 0.75rem);
  margin-top: auto;
  padding-top: var(--space-sm, 0.75rem);
  border-top: 1px solid var(--border-subtle, #f3f4f6);
}
.skiwo-case-study-card__author {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.125rem;
}
.skiwo-case-study-card__author-name {
  font-weight: 600;
  font-size: var(--text-sm, 0.875rem);
  color: var(--ink, #111827);
}
.skiwo-case-study-card__author-role {
  font-size: var(--text-xs, 0.75rem);
  color: var(--ink-muted, #6b7280);
}

.skiwo-global-search {
  display: inline-flex;
  align-items: center;
  max-inline-size: 420px;
  inline-size: 100%;
  font-family: var(--font-ui);
}
.skiwo-global-search__body {
  position: relative;
  display: flex;
  align-items: center;
  inline-size: 100%;
}
.skiwo-global-search__body .skiwo-field {
  display: contents;
}
.skiwo-global-search__body .skiwo-field__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skiwo-global-search__icon {
  position: absolute;
  inset-inline-start: var(--s-3);
  display: inline-flex;
  align-items: center;
  color: var(--text-faint);
  pointer-events: none;
  z-index: 1;
}
.skiwo-global-search__body .skiwo-input {
  padding-inline-start: calc(var(--s-3) + 15px + var(--s-2));
  padding-inline-end: calc(var(--s-3) + 54px + var(--s-2));
  min-block-size: 44px;
}
.skiwo-global-search__kbd {
  position: absolute;
  inset-inline-end: var(--s-3);
  display: inline-flex;
  align-items: center;
  pointer-events: none;
  z-index: 1;
}

.skiwo-live-job-indicator {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  min-block-size: 44px;
  padding-block: var(--s-2);
  padding-inline: var(--s-3);
  font-family: var(--font-ui);
  font-size: var(--fs-meta);
  color: var(--text-mid);
  text-decoration: none;
  border-radius: var(--r-control);
  transition: background-color 0.12s ease, color 0.12s ease;
}
.skiwo-live-job-indicator:hover {
  background: var(--surface-2);
  color: var(--text-2);
}
.skiwo-live-job-indicator:focus-visible {
  outline: none;
  box-shadow: var(--sh-focus);
}
.skiwo-live-job-indicator__body {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
}
.skiwo-live-job-indicator__label {
  font-weight: 500;
  color: var(--text-2);
}
.skiwo-live-job-indicator__count {
  display: inline-flex;
  align-items: center;
  gap: 0;
  font-variant-numeric: tabular-nums;
}
.skiwo-live-job-indicator__current, .skiwo-live-job-indicator__total {
  color: var(--text-2);
  font-weight: 600;
}
.skiwo-live-job-indicator__sep {
  color: var(--text-faint);
  padding-inline: var(--s-1);
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-live-job-indicator {
    transition: none;
  }
}
.skiwo-job-progress {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  color: var(--text-2);
  background: var(--surface);
  border: 1px solid var(--border-2);
  border-radius: var(--r-card);
  padding-block: var(--s-5);
  padding-inline: var(--s-7);
}
.skiwo-job-progress__header {
  display: flex;
  align-items: center;
  gap: var(--s-3);
}
.skiwo-job-progress__spinner {
  flex: none;
  display: inline-flex;
  align-items: center;
}
.skiwo-job-progress__headline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2) var(--s-3);
  min-inline-size: 0;
  line-height: var(--lh-body);
}
.skiwo-job-progress__counts {
  font-weight: 500;
  color: var(--text);
}
.skiwo-job-progress__failed {
  color: var(--text-mid);
}
.skiwo-job-progress__failed:not(:empty) + .skiwo-job-progress__lang::before {
  content: "·";
  margin-inline-end: var(--s-2);
  color: var(--border-3);
}
.skiwo-job-progress__lang {
  color: var(--text-mid);
  font-style: italic;
}
.skiwo-job-progress__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-3);
}

.skiwo-live-job-toast {
  flex-direction: column;
  align-items: stretch;
}
.skiwo-live-job-toast__report {
  margin-block-start: var(--s-3);
  display: flex;
  align-items: center;
}

.skiwo-msc {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  padding-block: var(--s-4);
  padding-inline: var(--s-5);
  min-block-size: 44px;
  background: var(--surface);
  border-block-end: 1px solid var(--border-2);
  text-decoration: none;
  color: inherit;
  font-family: var(--font-ui);
  cursor: pointer;
  transition: background 0.1s ease;
}
.skiwo-msc:hover, .skiwo-msc:focus-visible {
  background: var(--surface-2);
}
.skiwo-msc:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: -2px;
}
.skiwo-msc:active {
  background: var(--surface-3);
}
.skiwo-msc__top {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  justify-content: space-between;
}
.skiwo-msc__key {
  font-family: var(--font-mono);
  font-size: var(--fs-tiny);
  color: var(--text-muted);
  background: var(--surface-2);
  border-radius: var(--r-control);
  padding-block: 2px;
  padding-inline: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-inline-size: 55%;
  flex: none;
}
.skiwo-msc__body {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.skiwo-msc__source {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--text-muted);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.skiwo-msc__target {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--text);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.skiwo-msc__empty {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--text-faint);
  font-style: italic;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-msc {
    transition: none;
  }
}
.skiwo-mfe {
  display: flex;
  flex-direction: column;
  block-size: 100%;
  min-block-size: 0;
  background: var(--surface);
  font-family: var(--font-ui);
}
.skiwo-mfe__top-bar {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  padding-inline: var(--s-3);
  block-size: 52px;
  flex: none;
  border-block-end: 1px solid var(--border-2);
  background: var(--surface);
}
.skiwo-mfe__top-bar-lead, .skiwo-mfe__top-bar-trail {
  flex: none;
  display: flex;
  align-items: center;
}
.skiwo-mfe__top-bar-center {
  flex: 1;
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}
.skiwo-mfe__top-title {
  font-size: var(--fs-sm);
  font-weight: var(--fw-title);
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-inline-size: 100%;
}
.skiwo-mfe__top-counter {
  font-size: var(--fs-meta);
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.skiwo-mfe__progress {
  flex: none;
  block-size: 3px;
  background: var(--border-2);
  overflow: hidden;
}
.skiwo-mfe__progress-fill {
  block-size: 100%;
  background: var(--brand);
  transition: inline-size 0.2s ease;
}
.skiwo-mfe__key-row {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding-block: var(--s-4);
  padding-inline: var(--s-5);
  flex: none;
  border-block-end: 1px solid var(--border-1);
  flex-wrap: wrap;
}
.skiwo-mfe__key {
  font-family: var(--font-mono);
  font-size: var(--fs-tiny);
  color: var(--text-muted);
  background: var(--surface-2);
  border-radius: var(--r-control);
  padding-block: 2px;
  padding-inline: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-inline-size: 70%;
}
.skiwo-mfe__source-card {
  margin-block: var(--s-4);
  margin-inline: var(--s-5);
  flex: none;
  background: var(--surface-2);
  border-radius: var(--r-card);
  padding-block: var(--s-4);
  padding-inline: var(--s-5);
  border: 1px solid var(--border-2);
}
.skiwo-mfe__card-eyebrow {
  margin: 0 0 var(--s-2) 0;
  font-size: var(--fs-meta);
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.skiwo-mfe__source-text {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  color: var(--text-2);
}
.skiwo-mfe__target-card {
  margin-block-start: 0;
  margin-block-end: var(--s-4);
  margin-inline: var(--s-5);
  flex: none;
}
.skiwo-mfe__target-input.skiwo-input, .skiwo-mfe__target-card .skiwo-input--textarea {
  font-size: 18px;
  line-height: 1.5;
  border-color: var(--brand);
  min-block-size: 96px;
}
.skiwo-mfe__target-input.skiwo-input:focus-visible, .skiwo-mfe__target-input.skiwo-input:focus, .skiwo-mfe__target-card .skiwo-input--textarea:focus-visible, .skiwo-mfe__target-card .skiwo-input--textarea:focus {
  border-color: var(--brand);
  box-shadow: var(--sh-focus);
}
.skiwo-mfe__target-card .skiwo-field {
  gap: 0;
}
.skiwo-mfe__target-card .skiwo-field__label {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.skiwo-mfe__ai-hint {
  display: flex;
  align-items: flex-start;
  gap: var(--s-2);
  margin-block: 0 var(--s-4);
  margin-inline: var(--s-5);
  padding-block: var(--s-3);
  padding-inline: var(--s-4);
  font-size: var(--fs-meta);
  color: var(--info);
  background: var(--info-tint);
  border-radius: var(--r-control);
  flex: none;
}
.skiwo-mfe__ai-icon {
  flex: none;
  margin-block-start: 1px;
  color: var(--info);
}
.skiwo-mfe__actions {
  margin-block-start: auto;
  flex: none;
  padding-block: var(--s-4);
  padding-inline: var(--s-5);
  border-block-start: 1px solid var(--border-2);
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}
.skiwo-mfe__nav-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3);
  min-block-size: 44px;
}
.skiwo-mfe__save-btn {
  inline-size: 100%;
  min-block-size: 48px;
  justify-content: center;
}
.skiwo-mfe__save-btn .skiwo-btn__label {
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  .skiwo-mfe__progress-fill {
    transition: none;
  }
}
.skiwo-lineforecast {
  margin: 0;
  font-family: var(--font-ui);
}
.skiwo-lineforecast__svg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  overflow: visible;
}
.skiwo-lineforecast__grid {
  stroke: var(--border-2);
  stroke-width: 0.75;
  vector-effect: non-scaling-stroke;
}
.skiwo-lineforecast__future {
  fill: var(--surface-2);
  opacity: 0.4;
}
.skiwo-lineforecast__axis-y, .skiwo-lineforecast__axis-x {
  font-size: 10px;
  fill: var(--ink-3);
}
.skiwo-lineforecast__badge-bg {
  fill: var(--ink);
}
.skiwo-lineforecast__badge-text {
  font-size: 10px;
  font-weight: 600;
  fill: var(--surface-1, #fff);
}
.skiwo-lineforecast__actual, .skiwo-lineforecast__forecast, .skiwo-lineforecast__model {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.skiwo-lineforecast__actual {
  stroke-width: 2;
}
.skiwo-lineforecast__forecast {
  stroke-width: 2;
  stroke-dasharray: 5 4;
  opacity: 0.85;
}
.skiwo-lineforecast__model {
  stroke-width: 1;
  opacity: 0.4;
}
.skiwo-lineforecast__band {
  fill: var(--brand);
  fill-opacity: 0.12;
  stroke: none;
}
.skiwo-lineforecast__divider {
  stroke: var(--ink-4);
  stroke-width: 1;
  stroke-dasharray: 3 3;
  vector-effect: non-scaling-stroke;
}
.skiwo-lineforecast__caption {
  margin-block-start: var(--s-3);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  text-align: center;
}

.skiwo-stackedflow {
  margin: 0;
  font-family: var(--font-ui);
}
.skiwo-stackedflow__legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  margin: 0 0 var(--s-3);
  padding: 0;
  list-style: none;
}
.skiwo-stackedflow__legend-item {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}
.skiwo-stackedflow__swatch {
  inline-size: var(--s-3);
  block-size: var(--s-3);
  border-radius: var(--r-2);
  flex: 0 0 auto;
}
.skiwo-stackedflow__svg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  overflow: visible;
}
.skiwo-stackedflow__grid {
  stroke: var(--border-2);
  stroke-width: 0.75;
  vector-effect: non-scaling-stroke;
}
.skiwo-stackedflow__future {
  fill: var(--surface-2);
  opacity: 0.4;
}
.skiwo-stackedflow__axis-y, .skiwo-stackedflow__axis-x, .skiwo-stackedflow__vaxis, .skiwo-stackedflow__vlabel {
  font-size: 10px;
  fill: var(--ink-3);
}
.skiwo-stackedflow__axis-y, .skiwo-stackedflow__vaxis {
  text-anchor: end;
}
.skiwo-stackedflow__seg {
  stroke: none;
}
.skiwo-stackedflow__seg--forecast {
  opacity: 0.34;
  stroke-width: 0.75;
  stroke-dasharray: 2 2;
  vector-effect: non-scaling-stroke;
}
.skiwo-stackedflow__overlay {
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.skiwo-stackedflow__overlay--forecast {
  stroke-dasharray: 5 3;
}
.skiwo-stackedflow__overlay-dot {
  stroke: none;
}
.skiwo-stackedflow__divider {
  stroke: var(--ink-4);
  stroke-width: 1;
  stroke-dasharray: 3 3;
  vector-effect: non-scaling-stroke;
}
.skiwo-stackedflow__badge-bg {
  fill: var(--ink);
}
.skiwo-stackedflow__badge-text {
  font-size: 10px;
  font-weight: 600;
  fill: var(--surface-1, #fff);
}
.skiwo-stackedflow__vbase {
  stroke: var(--ink-4);
  stroke-width: 0.75;
  vector-effect: non-scaling-stroke;
}
.skiwo-stackedflow__vbar {
  opacity: 0.9;
}
.skiwo-stackedflow__vbar--pos {
  fill: var(--positive);
}
.skiwo-stackedflow__vbar--neg {
  fill: var(--negative);
}
.skiwo-stackedflow__vbar--flat {
  fill: var(--ink-4);
}
.skiwo-stackedflow__vlabel--pos {
  fill: var(--positive);
}
.skiwo-stackedflow__vlabel--neg {
  fill: var(--negative);
}
.skiwo-stackedflow__caption {
  margin-block-start: var(--s-3);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  text-align: center;
}

.skiwo-sparkline {
  margin: 0;
  display: inline-block;
  vertical-align: middle;
  inline-size: 130px;
  block-size: 32px;
  line-height: 0;
}
.skiwo-sparkline__svg {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  overflow: visible;
}
.skiwo-sparkline__line {
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.skiwo-sparkline__line--actual {
  stroke: var(--brand);
}
.skiwo-sparkline__line--forecast {
  stroke: var(--brand);
  stroke-dasharray: 3 3;
  opacity: 0.7;
}
.skiwo-sparkline__today {
  fill: var(--brand);
  stroke: none;
}

.skiwo-ledgerflow {
  margin: 0;
  font-family: var(--font-ui);
}
.skiwo-ledgerflow__svg {
  display: block;
  inline-size: 100%;
  block-size: auto;
  overflow: visible;
}
.skiwo-ledgerflow__grid {
  stroke: var(--border-2);
  stroke-width: 0.75;
  vector-effect: non-scaling-stroke;
}
.skiwo-ledgerflow__future {
  fill: var(--surface-2);
  opacity: 0.4;
}
.skiwo-ledgerflow__axis-flow, .skiwo-ledgerflow__axis-x {
  font-size: 10px;
  fill: var(--ink-3);
}
.skiwo-ledgerflow__axis-bal {
  font-size: 10px;
  fill: var(--positive);
}
.skiwo-ledgerflow__balance-area {
  fill: var(--positive);
  fill-opacity: 0.14;
  stroke: none;
}
.skiwo-ledgerflow__balance-line {
  fill: none;
  stroke: var(--positive);
  stroke-width: 1.25;
  stroke-dasharray: 2 2;
  opacity: 0.6;
  vector-effect: non-scaling-stroke;
}
.skiwo-ledgerflow__booking {
  fill: var(--accent);
  opacity: 0.85;
}
.skiwo-ledgerflow__booking--forecast {
  opacity: 0.4;
}
.skiwo-ledgerflow__recognized {
  fill: none;
  stroke: var(--brand);
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.skiwo-ledgerflow__recognized--forecast {
  stroke-dasharray: 5 3;
  opacity: 0.85;
}
.skiwo-ledgerflow__divider {
  stroke: var(--accent);
  stroke-width: 1.25;
  stroke-dasharray: 4 3;
  vector-effect: non-scaling-stroke;
}
.skiwo-ledgerflow__badge-bg {
  fill: var(--accent);
}
.skiwo-ledgerflow__badge-text {
  font-size: 10px;
  font-weight: 600;
  fill: var(--surface-1, #fff);
}
.skiwo-ledgerflow__legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  margin: var(--s-2) 0 0;
  padding: 0;
  list-style: none;
}
.skiwo-ledgerflow__legend-item {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-size: var(--fs-xs);
  color: var(--ink-3);
}
.skiwo-ledgerflow__key {
  inline-size: var(--s-3);
  block-size: var(--s-3);
  flex: 0 0 auto;
}
.skiwo-ledgerflow__key--bar {
  background: var(--accent);
  border-radius: var(--r-1, 2px);
}
.skiwo-ledgerflow__key--line {
  block-size: 2px;
  background: var(--brand);
}
.skiwo-ledgerflow__key--area {
  background: var(--positive);
  opacity: 0.3;
  border-radius: var(--r-1, 2px);
}
.skiwo-ledgerflow__caption {
  margin-block-start: var(--s-3);
  font-size: var(--fs-xs);
  color: var(--ink-3);
  text-align: center;
}
