.ui-job { padding-top: 16px; padding-bottom: 64px; }
.ui-job--closed { padding-bottom: 56px; }

.ui-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 500 0.8125rem var(--mono);
  color: var(--ink-2);
  text-decoration: none;
  padding: 6px 0;
}
.ui-back:hover { color: var(--ink); }

.ui-job__head { margin-top: 16px; }
.ui-jtitle {
  font-size: var(--t-h1);
  line-height: 1.04;
  letter-spacing: -0.035em;
  font-weight: 900;
  margin: 0;
  max-width: 24ch;
  overflow-wrap: anywhere;
}
.ui-jat { margin: 12px 0 0; font-size: var(--t-lead); font-weight: 500; }
.ui-jat strong { font-weight: 800; }
.ui-jline { margin: 10px 0 0; font: 0.8125rem var(--mono); color: var(--ink-2); display: flex; gap: 6px 10px; flex-wrap: wrap; }
.ui-jline a { color: var(--ink); }
.ui-job--closed .ui-jtitle { color: var(--ink-2); margin-top: 14px; }
.ui-job--closed .ui-jat { color: var(--ink-2); }

.ui-jgrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "ticket" "main";
  gap: 32px;
  margin-top: 28px;
}
@media (min-width: 980px) {
  .ui-jgrid { grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "main ticket"; gap: 56px; align-items: start; }
}
.ui-jgrid__main { grid-area: main; min-width: 0; }
.ui-jgrid__side { grid-area: ticket; min-width: 0; }
@media (min-width: 980px) { .ui-jgrid__side { position: sticky; top: 16px; } }

.ui-ticket { background: var(--card); border: 1px solid var(--hairline); border-radius: var(--radius-ticket); padding: 18px; }

.ui-fit { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 12px; font-size: 0.875rem; }
.ui-fit__label { font-weight: 700; }
.ui-fit a { font-weight: 600; }
.ui-fit__copy { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 8px; }
.ui-fit__note { font-size: 0.8125rem; color: var(--ink-2); }

.ui-facts { margin: 16px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
@media (min-width: 980px) { .ui-facts { grid-template-columns: minmax(0, 1fr); } }
.ui-fact { padding: 11px 0; border-top: 1px solid var(--hairline); min-width: 0; }
.ui-fact dt { font: 0.75rem var(--mono); color: var(--ink-2); margin-bottom: 2px; }
.ui-fact dd { margin: 0; font-size: 1rem; font-weight: 600; }
.ui-fact__sub { display: block; font-weight: 400; font-size: 0.875rem; color: var(--ink-2); }
.ui-fact__none { font-weight: 500; color: var(--ink-2); }
.ui-fact__pay + .ui-fact__pay { display: block; margin-top: 6px; }
.ui-fact__check { display: flex; align-items: center; gap: 8px; font-weight: 400; font-size: 0.875rem; color: var(--ink-soft); margin-top: 2px; }
.ui-fact__places > summary { list-style: none; cursor: pointer; margin-top: 4px; display: inline-block; }
.ui-fact__places > summary::-webkit-details-marker { display: none; }
.ui-fact__places .ui-fact__fewer { display: none; }
.ui-fact__places[open] .ui-fact__fewer { display: inline; }
.ui-fact__places[open] .ui-fact__more { display: none; }
.ui-fact__places-all { display: block; font-weight: 400; font-size: 0.875rem; color: var(--ink-2); }

.ui-ticket__foot { display: flex; justify-content: flex-end; margin-top: 6px; }

.ui-jd { max-width: 68ch; font-size: var(--t-read); line-height: 1.7; color: var(--ink-soft); }
.ui-jd h2, .ui-jd h3 { font-size: var(--t-h4); line-height: 1.25; letter-spacing: -0.01em; color: var(--ink); margin: 34px 0 10px; font-weight: 800; }
.ui-jd h4 { font-size: 1.125rem; color: var(--ink); margin: 26px 0 8px; font-weight: 800; }
.ui-jd > :first-child { margin-top: 0; }
.ui-jd p { margin: 0 0 16px; }
.ui-jd ul, .ui-jd ol { margin: 0 0 18px; padding-left: 22px; }
.ui-jd li { margin: 0 0 8px; padding-left: 4px; }
.ui-jd li::marker { color: var(--ink-2); }
.ui-jd strong { color: var(--ink); }
.ui-jd__source { margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--hairline); font: 0.8125rem var(--mono); color: var(--ink-2); }

.ui-applybar { display: none; }
@media (max-width: 979px) {
  .ui-applybar.is-shown {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    background: var(--paper);
    border-top: 1px solid var(--hairline);
    box-shadow: var(--shadow-bar);
  }
}
.ui-applybar--inline { display: block; position: static; padding: 10px 16px; border: 1px solid var(--hairline); box-shadow: var(--shadow-bar); max-width: 390px; }

.ui-notice {
  display: flex;
  gap: 18px;
  align-items: center;
  background: var(--card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-ticket);
  padding: 16px 20px;
  max-width: 720px;
  margin-top: 24px;
}
.ui-notice { overflow: hidden; } .ui-notice__text { margin: 0; font-size: 1.125rem; line-height: 1.45; font-weight: 500; }
.ui-notice__art { flex: 0 0 auto; width: 110px; }
@media (max-width: 480px) { .ui-notice { flex-direction: column; align-items: flex-start; } .ui-notice__art { width: 90px; } }

.ui-askai { margin: 0 0 36px; padding: 18px; background: var(--paper-2); border: 1px solid var(--hairline); border-radius: var(--radius-ticket); }
@media (min-width: 760px) { .ui-askai { padding: 22px 24px; } }
.ui-askai__heading { margin: 0; font-size: var(--t-h4); line-height: 1.2; letter-spacing: -0.015em; font-weight: 800; }
.ui-askai__lede { margin: 6px 0 16px; font-size: 0.9375rem; line-height: 1.5; color: var(--ink-soft); max-width: 62ch; }
.ui-askai__act { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; justify-content: space-between; }
.ui-askai__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ui-askai__button { gap: 8px; }
.ui-askai__button[hidden] { display: none; }
.ui-askai__button .ask-ai__icon { width: 16px; height: 16px; flex: none; fill: currentColor; }
@media (max-width: 759px) {
  .ui-askai__act { flex-direction: column; align-items: stretch; }
  .ui-askai .ui-segchoice { display: flex; }
  .ui-askai .ui-segchoice__option { flex: 1 1 0; }
  .ui-askai .ui-segchoice__option span { justify-content: center; }
  .ui-askai__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ui-askai__button { justify-content: center; padding-left: 10px; padding-right: 10px; }
  .ui-askai__actions > button { grid-column: 1 / -1; }
}
.ui-askai__copy { display: contents; }
@media (max-width: 759px) { .ui-askai__actions .ui-askai__copy > button { grid-column: 1 / -1; } }

.admin-only { --admin: #b0137f; --admin-soft: #f5d6ec; --admin-ink: #8f0f6e; background: linear-gradient(var(--admin), var(--admin)) left / 3px 100% no-repeat, var(--admin-soft); color: var(--admin-ink); padding-left: 10px; }
[data-theme="dark"] .admin-only { --admin: #ff5cc8; --admin-soft: #3a1030; --admin-ink: #ff9fe0; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .admin-only { --admin: #ff5cc8; --admin-soft: #3a1030; --admin-ink: #ff9fe0; } }
.admin-only dt, .admin-only .ui-fact__none { color: var(--admin-ink); }
.ui-mitem.admin-only, .ui-menu .admin-only .ui-mitem { display: block; }
.ui-menu form.button_to { margin: 0; }
.ui-menu form.button_to button { width: 100%; text-align: left; border: 0; font: inherit; font-size: 0.9375rem; padding: 10px 12px; border-radius: var(--radius-option); cursor: pointer; }

.ui-dialog { border: 1px solid var(--hairline); border-radius: var(--radius-ticket); background: var(--paper); color: var(--ink); padding: 22px; width: min(520px, calc(100vw - 32px)); box-shadow: var(--shadow-panel); }
.ui-dialog::backdrop { background: var(--scrim); }
.ui-dialog__close { float: right; }
.ui-dialog__title { margin: 0 0 4px; font-size: var(--t-h4); font-weight: 800; letter-spacing: -0.015em; }
.ui-dialog__lede { margin: 0 0 18px; color: var(--ink-2); font-size: 0.9375rem; }
.ui-job__more { margin-top: 12px; max-width: 720px; display: flex; justify-content: flex-end; }
