.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.login-role-tabs {
  grid-template-columns: repeat(5, 1fr);
}
.operations-view {
  max-width: 1560px;
}
.operations-heading {
  border-bottom: 1px solid var(--ink);
  padding-bottom: 20px;
}
.scope-chip {
  background: #e1e9e4;
  color: var(--forest);
  padding: 8px 12px;
  font-size: 9px;
  font-weight: 700;
}
.ops-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--forest);
  color: #fff;
  margin-bottom: 12px;
}
.ops-summary span {
  padding: 18px 22px;
  border-right: 1px solid rgba(255, 255, 255, 0.13);
  font-size: 9px;
  color: #aebbb6;
}
.ops-summary b {
  display: block;
  font: 700 25px var(--serif);
  color: #fff;
  margin-bottom: 3px;
}
.inquiry-workspace {
  display: grid;
  grid-template-columns: minmax(330px, 0.82fr) minmax(460px, 1.18fr);
  min-height: 620px;
  border: 1px solid var(--line);
  background: var(--white);
}
.inquiry-index {
  border-right: 1px solid var(--line);
}
.ops-tabs {
  display: flex;
  gap: 5px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
  overflow: auto;
}
.ops-tabs button {
  border: 0;
  background: #f1eee6;
  padding: 7px 10px;
  font-size: 8px;
  white-space: nowrap;
}
.ops-tabs button.active {
  background: var(--ink);
  color: #fff;
}
.thread-list {
  padding: 0 14px;
}
.thread-card {
  position: relative;
  width: 100%;
  display: block;
  text-align: left;
  border: 0;
  border-bottom: 1px solid #e3dfd6;
  background: transparent;
  padding: 18px 5px;
}
.thread-card.active {
  background: #f7f2e9;
  margin: 0 -14px;
  padding-left: 19px;
  padding-right: 19px;
  width: calc(100% + 28px);
  box-shadow: inset 3px 0 var(--coral);
}
.thread-channel {
  float: right;
  color: #7b837f;
  background: #edf0ed;
  padding: 3px 6px;
  font-size: 7px;
}
.thread-card small,
.thread-card strong,
.thread-card p {
  display: block;
}
.thread-card small {
  font-size: 8px;
  color: var(--muted);
}
.thread-card strong {
  font: 700 14px var(--serif);
  margin: 6px 0;
}
.thread-card p {
  font-size: 9px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 0 11px;
}
.thread-card footer {
  display: flex;
  align-items: center;
  gap: 8px;
}
.thread-card footer em {
  font-style: normal;
  color: #a54a34;
  font-size: 8px;
}
.thread-card footer time {
  font-size: 7px;
  color: #90948e;
  margin-left: auto;
}
.thread-card footer i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--coral);
}
.thread-detail {
  padding: 28px 32px;
}
.thread-detail > header {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
}
.thread-detail > header span {
  font-size: 8px;
  letter-spacing: 0.1em;
  color: var(--muted);
}
.thread-detail > header h2 {
  font: 700 25px var(--serif);
  margin: 5px 0;
}
.thread-detail > header p {
  font-size: 9px;
  color: var(--muted);
  margin: 0;
}
.thread-detail > header em {
  height: max-content;
  background: #f8ddd6;
  color: #9c3e29;
  padding: 5px 9px;
  font-style: normal;
  font-size: 8px;
}
.linked-record {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #e5ece7;
  margin: 15px 0;
  padding: 11px 13px;
}
.linked-record span {
  background: var(--forest);
  color: #fff;
  font-size: 7px;
  padding: 4px 6px;
}
.linked-record strong {
  font-size: 9px;
}
.linked-record button {
  margin-left: auto;
  border: 0;
  background: none;
  font-size: 8px;
  font-weight: 700;
}
.message-timeline {
  display: grid;
  gap: 14px;
  margin: 22px 0;
}
.message-row {
  display: flex;
  gap: 10px;
  max-width: 86%;
}
.message-row.reply {
  margin-left: auto;
  flex-direction: row-reverse;
}
.message-row > span {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--mint);
  font: 700 10px var(--serif);
}
.message-row.reply > span {
  background: var(--coral);
  color: #fff;
}
.message-row > div {
  background: #f3f0e9;
  padding: 11px 13px;
}
.message-row.reply > div {
  background: #e2ebe6;
}
.message-row b {
  font-size: 8px;
}
.message-row p {
  font-size: 10px;
  line-height: 1.6;
  margin: 5px 0;
}
.message-row small {
  font-size: 7px;
  color: var(--muted);
}
.thread-reply {
  display: flex;
  border: 1px solid var(--line);
  margin-top: 28px;
}
.thread-reply input {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 13px;
  font-size: 9px;
  outline: 0;
}
.thread-reply button {
  border: 0;
  background: var(--ink);
  color: #fff;
  padding: 0 18px;
  font-size: 9px;
}
.library-overview {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 12px;
}
.library-overview article {
  background: var(--forest);
  color: #fff;
  padding: 20px;
}
.library-overview span,
.library-overview small {
  display: block;
  font-size: 8px;
  color: #a8b7b0;
}
.library-overview strong {
  display: block;
  font: 700 28px var(--serif);
  margin: 7px 0;
}
.resource-toolbar {
  display: flex;
  gap: 8px;
  margin: 22px 0 12px;
}
.resource-toolbar label {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  background: var(--white);
  border: 1px solid var(--line);
  padding: 0 12px;
}
.resource-toolbar input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 11px 0;
  outline: 0;
  font-size: 9px;
}
.resource-toolbar select {
  border: 1px solid var(--line);
  background: var(--white);
  padding: 0 15px;
  font-size: 9px;
}
.resource-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.resource-card {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 20px;
  min-height: 270px;
}
.resource-card > header {
  display: flex;
  justify-content: space-between;
}
.resource-card > header span {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.resource-card > header em {
  font-style: normal;
  font-size: 7px;
  color: var(--muted);
}
.file-glyph {
  width: 46px;
  height: 56px;
  display: grid;
  place-items: center;
  margin: 28px 0 17px;
  background: #e3eae6;
  border-bottom: 3px solid var(--coral);
  font: 700 10px var(--serif);
  color: var(--forest);
}
.resource-card h2 {
  font: 700 17px var(--serif);
  margin: 0;
}
.resource-card > p {
  font-size: 8px;
  color: var(--muted);
}
.resource-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 20px 0 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.resource-card dt {
  font-size: 7px;
  color: var(--muted);
}
.resource-card dd {
  font-size: 8px;
  margin: 4px 0 0;
}
.resource-card footer {
  display: flex;
  gap: 6px;
}
.resource-card footer button {
  flex: 1;
  border: 1px solid var(--line);
  background: transparent;
  padding: 8px;
  font-size: 8px;
}
.resource-card footer button:last-child {
  background: var(--ink);
  color: #fff;
}
.resource-footnote {
  font-size: 8px;
  color: var(--muted);
  border-left: 2px solid var(--coral);
  padding-left: 10px;
  margin-top: 14px;
}
.vendor-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 12px;
}
.vendor-list,
.vendor-editor,
.vendor-profile,
.assigned-work {
  background: var(--white);
  border: 1px solid var(--line);
}
.vendor-list-head {
  display: flex;
  justify-content: space-between;
  padding: 16px 20px;
  background: #f4f1e9;
  font-size: 9px;
}
.vendor-list-head span {
  color: var(--muted);
}
.vendor-card {
  display: grid;
  grid-template-columns: 45px minmax(150px, 1fr) 1.4fr auto auto;
  gap: 13px;
  align-items: center;
  padding: 18px 20px;
  border-top: 1px solid var(--line);
}
.vendor-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--mint);
  font: 700 13px var(--serif);
}
.vendor-avatar.large {
  width: 64px;
  height: 64px;
  font-size: 20px;
}
.vendor-card > div:nth-child(2) > span {
  font-size: 7px;
  color: var(--muted);
}
.vendor-card h2 {
  font: 700 15px var(--serif);
  margin: 3px 0;
}
.vendor-card p {
  display: flex;
  gap: 4px;
  margin: 0;
}
.vendor-card p i {
  font-style: normal;
  background: #e7ece9;
  padding: 3px 6px;
  font-size: 7px;
}
.vendor-card dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0;
}
.vendor-card dl div {
  border-left: 1px solid var(--line);
  padding-left: 10px;
}
.vendor-card dt {
  font-size: 7px;
  color: var(--muted);
}
.vendor-card dd {
  font-size: 8px;
  margin: 3px 0;
}
.vendor-card > em {
  font-style: normal;
  color: #426c5b;
  background: #e0ece6;
  padding: 4px 7px;
  font-size: 7px;
}
.vendor-card > button {
  border: 0;
  border-bottom: 1px solid var(--ink);
  background: none;
  padding: 3px 0;
  font-size: 8px;
}
.vendor-editor {
  padding: 27px;
}
.editor-kicker {
  font-size: 8px;
  letter-spacing: 0.16em;
  color: var(--coral);
  font-weight: 700;
}
.vendor-editor h2 {
  font: 700 22px var(--serif);
  margin: 7px 0;
}
.vendor-editor > p {
  font-size: 9px;
  color: var(--muted);
  line-height: 1.7;
}
.vendor-editor form {
  display: grid;
  gap: 13px;
  margin-top: 23px;
}
.vendor-editor label,
.vendor-editor legend {
  font-size: 8px;
  font-weight: 700;
}
.vendor-editor input,
.vendor-editor select {
  display: block;
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  padding: 8px 0;
  font-size: 9px;
}
.vendor-editor fieldset {
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
  padding: 12px;
}
.vendor-editor fieldset input {
  display: inline;
  width: auto;
}
.vendor-self {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(430px, 1.3fr);
  gap: 12px;
}
.vendor-profile {
  padding: 35px;
}
.vendor-profile > span {
  display: block;
  margin-top: 25px;
  font-size: 8px;
  color: var(--coral);
  font-weight: 700;
}
.vendor-profile h2 {
  font: 700 25px var(--serif);
  margin: 5px 0;
}
.vendor-profile > p {
  font-size: 9px;
  color: var(--muted);
}
.vendor-profile dl {
  margin-top: 28px;
}
.vendor-profile dl div {
  display: grid;
  grid-template-columns: 85px 1fr;
  padding: 11px 0;
  border-top: 1px solid var(--line);
}
.vendor-profile dt {
  font-size: 8px;
  color: var(--muted);
}
.vendor-profile dd {
  font-size: 9px;
  margin: 0;
}
.assigned-work > header {
  display: flex;
  justify-content: space-between;
  padding: 23px 25px;
}
.assigned-work > header span {
  font-size: 8px;
  color: var(--coral);
  font-weight: 700;
}
.assigned-work > header h2 {
  font: 700 22px var(--serif);
  margin: 3px 0;
}
.assigned-work > header strong {
  font: 700 26px var(--serif);
}
.assigned-work > article {
  display: grid;
  grid-template-columns: 55px 1fr auto;
  align-items: center;
  padding: 18px 25px;
  border-top: 1px solid var(--line);
}
.assigned-work > article > span {
  font: 700 14px var(--serif);
}
.assigned-work h3 {
  font-size: 10px;
  margin: 0;
}
.assigned-work p {
  font-size: 8px;
  color: var(--muted);
  margin: 4px 0;
}
.assigned-work button {
  border: 0;
  background: none;
  font-size: 8px;
  font-weight: 700;
}
.chat-launcher {
  position: fixed;
  right: 26px;
  bottom: 24px;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 0;
  background: var(--forest);
  color: #fff;
  padding: 8px 11px 8px 8px;
  box-shadow: 0 15px 35px rgba(23, 61, 59, 0.28);
}
.chat-launcher > span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--coral);
  font: 700 17px var(--serif);
}
.chat-launcher b {
  font-size: 10px;
}
.chat-launcher i {
  position: absolute;
  right: -5px;
  top: -6px;
  min-width: 18px;
  height: 18px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--coral);
  font: normal 8px var(--sans);
}
.chat-panel {
  position: fixed;
  right: 26px;
  bottom: 80px;
  z-index: 60;
  width: min(390px, calc(100vw - 28px));
  height: min(690px, calc(100vh - 120px));
  display: none;
  grid-template-rows: auto auto 1fr auto auto auto;
  background: var(--white);
  border: 1px solid #aab8b1;
  box-shadow: 0 25px 70px rgba(20, 43, 37, 0.3);
}
.chat-panel.open {
  display: grid;
  animation: chatOpen 0.25s ease both;
}
@keyframes chatOpen {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
}
.chat-panel > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--forest);
  color: #fff;
  padding: 16px;
}
.chat-panel > header > div {
  display: flex;
  align-items: center;
  gap: 10px;
}
.chat-panel > header > div > span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--coral);
  font: 700 16px var(--serif);
}
.chat-panel > header strong,
.chat-panel > header small {
  display: block;
}
.chat-panel > header strong {
  font-size: 11px;
}
.chat-panel > header small {
  color: #a7b8b1;
  font-size: 7px;
  margin-top: 3px;
}
.chat-panel > header button {
  border: 0;
  background: none;
  color: #fff;
  font-size: 23px;
}
.chat-scope {
  background: #e7ece8;
  border-bottom: 1px solid var(--line);
  padding: 8px 15px;
  font-size: 8px;
  color: #4d6259;
}
.chat-messages {
  padding: 16px;
  overflow: auto;
  background: linear-gradient(180deg, #f7f4ed, #fffefb);
}
.bot-message,
.user-message {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}
.bot-message > span {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--forest);
  color: #fff;
  font: 700 10px var(--serif);
}
.bot-message > div,
.user-message > div {
  max-width: 82%;
  background: #fff;
  border: 1px solid var(--line);
  padding: 10px 11px;
}
.user-message {
  justify-content: flex-end;
}
.user-message > div {
  background: #deebe4;
  border-color: #c6dbd0;
}
.bot-message b {
  font-size: 8px;
}
.bot-message p,
.user-message p {
  font-size: 9px;
  line-height: 1.6;
  margin: 4px 0;
}
.bot-message small,
.user-message small {
  font-size: 7px;
  color: var(--muted);
}
.chat-quick {
  display: flex;
  gap: 5px;
  padding: 9px 12px;
  overflow: auto;
  border-top: 1px solid var(--line);
}
.chat-quick button {
  white-space: nowrap;
  border: 1px solid #bfd0c8;
  background: #edf3ef;
  color: #35574a;
  padding: 6px 8px;
  font-size: 8px;
}
.chat-compose {
  display: grid;
  grid-template-columns: 1fr auto;
  border-top: 1px solid var(--line);
  padding: 10px;
}
.chat-compose textarea {
  border: 0;
  resize: none;
  outline: 0;
  padding: 5px;
  font-size: 10px;
}
.chat-compose button {
  border: 0;
  background: var(--coral);
  color: #fff;
  padding: 0 14px;
  font-size: 9px;
  font-weight: 700;
}
.chat-guard {
  margin: 0;
  padding: 8px 12px;
  background: #f3efe5;
  color: #777167;
  font-size: 7px;
}
.empty-ops {
  padding: 40px;
  text-align: center;
  color: var(--muted);
  font-size: 10px;
}
@media (max-width: 1100px) {
  .resource-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .vendor-layout {
    grid-template-columns: 1fr;
  }
  .vendor-editor {
    order: -1;
  }
  .vendor-card {
    grid-template-columns: 42px 1fr auto;
  }
  .vendor-card dl {
    grid-column: 2/-1;
  }
  .vendor-card > em {
    grid-column: 2;
  }
  .vendor-self {
    grid-template-columns: 1fr;
  }
  .inquiry-workspace {
    grid-template-columns: 300px 1fr;
  }
  .thread-detail {
    padding: 24px;
  }
}
@media (max-width: 680px) {
  .login-role-tabs {
    grid-template-columns: repeat(5, 1fr);
  }
  .login-role-tabs button {
    font-size: 8px;
  }
  .ops-summary {
    grid-template-columns: 1fr 1fr;
  }
  .inquiry-workspace {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .inquiry-index {
    border-right: 0;
  }
  .thread-list {
    max-height: 340px;
    overflow: auto;
  }
  .thread-detail {
    padding: 18px;
  }
  .resource-grid {
    grid-template-columns: 1fr;
  }
  .library-overview {
    grid-template-columns: 1fr 1fr;
  }
  .library-overview article:last-child {
    grid-column: 1/-1;
  }
  .vendor-card {
    grid-template-columns: 38px 1fr;
  }
  .vendor-card dl,
  .vendor-card > em,
  .vendor-card > button {
    grid-column: 2;
  }
  .vendor-card dl {
    grid-template-columns: 1fr 1fr;
  }
  .vendor-editor {
    padding: 20px;
  }
  .assigned-work > article {
    grid-template-columns: 45px 1fr;
  }
  .assigned-work button {
    grid-column: 2;
    text-align: left;
    padding: 6px 0;
  }
  .chat-launcher {
    right: 14px;
    bottom: 70px;
  }
  .chat-launcher b {
    display: none;
  }
  .chat-panel {
    right: 14px;
    bottom: 70px;
    height: calc(100vh - 115px);
  }
  .operations-heading {
    display: block;
  }
  .operations-heading > .primary-button,
  .operations-heading > .scope-chip {
    display: inline-block;
    margin-top: 14px;
  }
  .resource-toolbar {
    display: grid;
  }
  .resource-toolbar select {
    min-height: 40px;
  }
  .message-row {
    max-width: 94%;
  }
}
.resource-upload-panel {
  margin: 12px 0 20px;
  background: var(--white);
  border: 1px solid var(--line);
  padding: 22px;
}
.resource-upload-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  padding-bottom: 14px;
}
.resource-upload-panel > header span {
  font-size: 8px;
  letter-spacing: 0.14em;
  color: var(--coral);
  font-weight: 700;
}
.resource-upload-panel h2 {
  font: 700 21px var(--serif);
  margin: 5px 0 0;
}
.resource-upload-panel > header button {
  border: 0;
  background: transparent;
  font-size: 24px;
  min-width: 44px;
  min-height: 44px;
}
.resource-upload-panel form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}
.resource-upload-panel form > label,
.resource-upload-panel legend {
  font-size: 8px;
  font-weight: 700;
}
.resource-upload-panel label small {
  display: block;
  color: var(--muted);
  font-weight: 400;
  margin-top: 3px;
}
.resource-upload-panel input,
.resource-upload-panel select {
  display: block;
  width: 100%;
  min-height: 44px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  padding: 8px 0;
  font-size: 10px;
}
.resource-upload-panel fieldset {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  border: 1px solid var(--line);
  padding: 12px;
}
.resource-upload-panel fieldset label {
  font-size: 8px;
}
.resource-upload-panel fieldset input {
  display: inline;
  width: auto;
  min-height: auto;
}
.resource-file-field {
  grid-column: 1/-1;
}
.resource-upload-panel .ops-inline-error {
  grid-column: 1/-1;
  margin: 0;
  background: #fff0ec;
  color: #8b321f;
  padding: 12px;
  font-size: 9px;
}
.resource-upload-actions {
  grid-column: 1/-1;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.resource-upload-actions button {
  min-height: 44px;
  border: 1px solid var(--line);
  background: transparent;
  padding: 0 18px;
  font-size: 9px;
}
.resource-upload-actions .primary-button {
  background: var(--ink);
  color: #fff;
}
@media (max-width: 680px) {
  .resource-upload-panel {
    padding: 16px;
  }
  .resource-upload-panel form {
    grid-template-columns: 1fr;
  }
  .resource-upload-panel fieldset {
    grid-template-columns: repeat(2, 1fr);
  }
  .resource-upload-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .resource-upload-actions button {
    width: 100%;
  }
}
.ops-data-state {
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border: 1px solid var(--line);
  background: var(--white);
  padding: 36px;
  text-align: left;
}
.ops-data-state > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mint);
  font: 700 16px var(--serif);
}
.ops-data-state strong,
.ops-data-state p {
  display: block;
}
.ops-data-state strong {
  font: 700 19px var(--serif);
}
.ops-data-state p {
  max-width: 520px;
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.7;
}
.ops-data-state button {
  border: 1px solid var(--ink);
  background: transparent;
  padding: 10px 13px;
  font-size: 9px;
  font-weight: 700;
}
.ops-data-state.is-error {
  border-color: #d9a093;
  background: #fff8f5;
}
.ops-data-state.is-error > span {
  background: var(--coral);
  color: #fff;
}
.ops-data-state.is-loading > span {
  animation: opsPulse 1.2s ease-in-out infinite;
}
@keyframes opsPulse {
  50% {
    opacity: 0.45;
    transform: scale(0.92);
  }
}
.ops-inline-error,
.telshare-action-error {
  color: #8b3928;
  background: #fff1ed;
  border-left: 3px solid var(--coral);
  padding: 10px 12px;
  font-size: 9px;
}
.telshare-action-error {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 10px 0;
}
.telshare-action-error span {
  flex: 1;
}
.telshare-action-error button {
  border: 0;
  background: transparent;
  text-decoration: underline;
  font-size: 9px;
}
.telshare-demo.live {
  background: var(--forest);
  color: #fff;
}
.session-locked select:disabled {
  opacity: 0.72;
  cursor: not-allowed;
}
.error-message > span {
  background: var(--coral);
}
.error-message button[data-retry-chat] {
  display: block;
  margin: 8px 0 6px;
  border: 1px solid var(--coral);
  background: #fff;
  color: #8b3928;
  padding: 7px 9px;
  font-size: 8px;
  font-weight: 700;
}
@media (max-width: 680px) {
  .ops-data-state {
    min-height: 220px;
    display: grid;
    text-align: center;
  }
  .ops-data-state > span {
    margin: auto;
  }
  .ops-data-state p {
    font-size: 12px;
  }
  .ops-data-state button {
    min-height: 44px;
  }
  .telshare-action-error {
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
.login-role-tabs {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.login-error {
  margin: 0;
  padding: 10px 12px;
  background: #fff1ed;
  border-left: 3px solid var(--coral);
  color: #8b3928;
  font-size: 9px;
  line-height: 1.6;
}
.login-form button:disabled {
  opacity: 0.55;
  cursor: wait;
}
@media (max-width: 680px) {
  .login-role-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    row-gap: 4px;
  }
  .login-role-tabs button {
    min-height: 40px;
  }
}
.service-request-create {
  display: grid;
  grid-template-columns: 120px 140px minmax(180px, 1fr) 150px auto;
  gap: 8px;
  align-items: stretch;
  padding: 16px;
  margin-bottom: 14px;
  background: var(--white);
  border: 1px solid var(--line);
}
.service-request-create input,
.service-request-create select,
.service-request-create textarea {
  min-height: 46px;
  border: 1px solid var(--line);
  background: #fff;
  padding: 10px 12px;
  font: 500 11px var(--sans);
}
.service-request-create textarea {
  grid-column: 1/4;
  resize: vertical;
}
.live-request-list {
  display: grid;
  gap: 12px;
}
.live-request-card {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 22px;
}
.live-request-card > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.live-request-card > header span {
  font-weight: 800;
  font-size: 11px;
}
.live-request-card > header em {
  font-style: normal;
  background: #e4ece7;
  color: var(--forest);
  padding: 6px 9px;
  font-size: 9px;
}
.live-request-card h2 {
  font: 700 20px var(--serif);
  margin: 14px 0 6px;
}
.live-request-card > p {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}
.live-request-card form,
.request-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
}
.live-request-card form select,
.live-request-card form input,
.live-request-card form textarea {
  min-height: 44px;
  border: 1px solid var(--line);
  padding: 9px 11px;
  font-size: 10px;
}
.live-request-card form textarea {
  flex: 1;
  resize: vertical;
}
.live-request-card button {
  min-height: 44px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: #fff;
  padding: 0 14px;
  font-size: 10px;
  font-weight: 700;
}
.request-updates {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
.request-update {
  border-left: 3px solid var(--coral);
  background: #f5f1e9;
  padding: 12px;
}
.request-update b {
  font-size: 10px;
}
.request-update p {
  font-size: 10px;
  line-height: 1.55;
}
.request-update button {
  min-height: 36px;
  background: transparent;
  color: var(--ink);
  margin: 4px 5px 0 0;
}
.directory-head-actions {
  display: flex;
  gap: 8px;
}
.directory-head-actions button {
  min-height: 44px;
  border: 1px solid var(--ink);
  background: transparent;
  padding: 0 14px;
  font-size: 10px;
  font-weight: 700;
}
.directory-section {
  margin-top: 18px;
}
.directory-section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.directory-section > header h2 {
  font: 700 21px var(--serif);
  margin: 0;
}
.directory-section > header span {
  color: var(--muted);
  font-size: 9px;
}
.directory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.directory-card {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 20px;
}
.directory-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.directory-card > header span {
  font-size: 8px;
  font-weight: 800;
  color: var(--coral);
  letter-spacing: 0.08em;
}
.directory-card > header button,
.directory-card dd button {
  border: 0;
  background: transparent;
  text-decoration: underline;
  font-size: 9px;
}
.directory-card h2 {
  font: 700 18px var(--serif);
  margin: 14px 0 6px;
}
.directory-card > a {
  font-size: 10px;
  color: var(--forest);
}
.directory-card dl {
  margin: 18px 0 0;
}
.directory-card dl div {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid var(--line);
}
.directory-card dt {
  font-size: 8px;
  color: var(--muted);
}
.directory-card dd {
  font-size: 10px;
  margin: 0;
  overflow-wrap: anywhere;
}
.directory-card.contact p {
  font-size: 10px;
  color: var(--muted);
}
.directory-editor {
  background: var(--forest);
  color: #fff;
  margin: 14px 0;
  padding: 20px;
}
.directory-editor > header {
  display: flex;
  justify-content: space-between;
}
.directory-editor > header span {
  font-size: 8px;
  color: #acc0b7;
  letter-spacing: 0.12em;
}
.directory-editor > header h2 {
  font: 700 22px var(--serif);
  margin: 4px 0;
}
.directory-editor > header button {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 22px;
}
.directory-editor form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.directory-editor label {
  font-size: 9px;
}
.directory-editor input,
.directory-editor textarea {
  display: block;
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  padding: 10px;
  margin-top: 5px;
}
.directory-editor textarea {
  min-height: 90px;
}
.directory-editor .full {
  grid-column: 1/-1;
}
.directory-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.directory-actions button {
  min-height: 44px;
  padding: 0 18px;
}
@media (max-width: 680px) {
  .service-request-create {
    grid-template-columns: 1fr 1fr;
    padding: 12px;
  }
  .service-request-create input,
  .service-request-create select,
  .service-request-create textarea,
  .service-request-create button {
    min-height: 48px;
    font-size: 13px;
  }
  .service-request-create textarea {
    grid-column: 1/-1;
  }
  .live-request-card {
    padding: 16px;
  }
  .live-request-card h2 {
    font-size: 18px;
  }
  .live-request-card > p,
  .request-update p {
    font-size: 13px;
  }
  .live-request-card form {
    display: grid;
    grid-template-columns: 1fr;
  }
  .live-request-card form > * {
    width: 100%;
  }
  .directory-head-actions {
    margin-top: 14px;
  }
  .directory-grid {
    grid-template-columns: 1fr;
  }
  .directory-editor form {
    grid-template-columns: 1fr;
  }
  .directory-editor .full {
    grid-column: auto;
  }
  .directory-card h2 {
    font-size: 18px;
  }
  .directory-card dd,
  .directory-card > a,
  .directory-card.contact p {
    font-size: 13px;
  }
}

.defect-notice {
  margin: 0 0 14px;
  padding: 18px 20px;
  border: 1px solid #d7a28d;
  background: #fff4ee;
}
.defect-notice strong {
  font: 700 18px var(--serif);
  color: var(--ink);
}
.defect-notice p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}
.request-update small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
}
.request-update .request-cost {
  font-weight: 800;
  color: var(--forest);
}
.defect-notice-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.defect-notice-actions button {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid var(--forest);
  background: #fff;
  color: var(--forest);
  font-weight: 800;
}
.defect-notice-actions .primary-button {
  background: var(--forest);
  color: #fff;
}
.service-request-create label,
.live-request-card form label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}
.service-request-create .request-description {
  grid-column: 1/4;
}
.request-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.request-meta span {
  padding: 6px 8px;
  background: #f5f1e9;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}
.service-request-create .request-description textarea {
  grid-column: auto;
}
@media (max-width: 680px) {
  .defect-notice {
    padding: 16px;
  }
  .defect-notice p {
    font-size: 13px;
  }
  .request-update small {
    font-size: 11px;
  }
  .service-request-create {
    grid-template-columns: 1fr;
  }
  .service-request-create .request-description {
    grid-column: 1;
  }
  .service-request-create label,
  .live-request-card form label {
    font-size: 12px;
  }
  .request-meta span {
    font-size: 11px;
  }
}
@media (max-width: 680px) {
  .ops-tabs button,
  .thread-card small,
  .thread-card p,
  .thread-card footer em,
  .thread-card footer time,
  .thread-channel,
  .thread-detail > header span,
  .thread-detail > header p,
  .thread-detail > header em,
  .linked-record span,
  .linked-record strong,
  .linked-record button,
  .message-row b,
  .message-row small,
  .thread-reply input,
  .thread-reply button {
    font-size: 12px;
  }
  .thread-card strong {
    font-size: 16px;
  }
  .message-row p {
    font-size: 14px;
  }
  .thread-reply input,
  .thread-reply button {
    min-height: 48px;
  }
}

/* 요청 입력은 시설·권한 범위를 자동 사용하고 사용자가 증상만 적도록 구성한다. */
.service-request-create {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
}
.service-request-create .request-context-fixed {
  min-height: 46px;
  border: 1px solid var(--line);
  background: #f5f1e9;
  padding: 8px 12px;
  display: grid;
  align-content: center;
  gap: 3px;
}
.service-request-create .request-context-fixed span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}
.service-request-create .request-context-fixed strong {
  font-size: 11px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.service-request-create .request-description {
  grid-column: 1/4;
}
.service-request-create .request-photos {
  grid-column: 4;
}
.service-request-create > button[type="submit"] {
  grid-column: 4;
  min-height: 46px;
}
.request-scope-empty {
  border: 1px solid var(--line);
  background: #fff;
  padding: 18px;
  margin-bottom: 14px;
  font-size: 11px;
  color: var(--muted);
}
@media (max-width: 680px) {
  .service-request-create {
    grid-template-columns: 1fr;
  }
  .service-request-create .request-description,
  .service-request-create .request-photos,
  .service-request-create > button[type="submit"] {
    grid-column: 1;
  }
  .service-request-create .request-context-fixed {
    min-height: 48px;
  }
  .service-request-create input,
  .service-request-create select,
  .service-request-create textarea {
    font-size: 16px;
  }
  .request-scope-empty {
    font-size: 13px;
  }
}
