/*! Tom Select 2.6.2 / plugins (c) contributors; Sifter 1.1.0 (c) 2013–2020 Brian Reavis & contributors; Unicode Variants 1.1.2. Apache-2.0: see THIRD_PARTY_NOTICES.md and licenses/Apache-2.0.txt. */
/* phase1/js/organization.css */
.org-person {
  padding: 16px 0;
  border-top: 1px solid var(--line,#ddd);
  overflow-wrap: anywhere;
}
.org-person:first-of-type {
  border-top: 0;
}
.org-portal {
  max-width: 960px;
  margin: 32px auto;
  padding: 0 20px;
}
.org-portal .panel {
  margin: 18px 0;
}
.room-nav-item small {
  display: block;
  font-size: 11px;
}
.org-portal h1 {
  overflow-wrap: anywhere;
}
[data-org-form] .check-row {
  display: flex;
  gap: 10px;
  margin: 18px 0;
}
[data-org-form] select {
  max-width: 100%;
}
.org-person .row {
  gap: 8px;
}
@media (max-width: 600px) {
  .org-portal {
    margin: 16px auto;
  }
  .org-person .button {
    white-space: normal;
  }
  .commerce-grid {
    grid-template-columns: 1fr;
  }
}

/* shared/locale.css */
.locale-toolbar {
  display: flex;
  justify-content: flex-end;
  padding: 6px 24px;
  background: #f5f7f9;
  border-bottom: 1px solid #e1e6eb;
}
.language-switch {
  display: inline-flex;
  gap: 2px;
  padding: 2px;
  background: #e7edf1;
  border-radius: 8px;
  flex-shrink: 0;
}
.language-switch button {
  font: inherit;
  font-size: 12px;
  border: 0;
  background: transparent;
  color: #425466;
  padding: 5px 12px;
  border-radius: 6px;
  cursor: pointer;
}
.language-switch button[aria-pressed=true] {
  background: #fff;
  color: #153e56;
  box-shadow: 0 1px 3px #0002;
}
.language-switch button:focus-visible {
  outline: 2px solid #376e94;
  outline-offset: 2px;
}
.dialog-head .language-switch {
  margin-left: auto;
}
.full-demo-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 20px 24px;
  margin: 0 0 24px;
  background: #eef4f7;
  border: 1px solid #d4e3ec;
  border-radius: 12px;
}
.full-demo-banner p {
  margin: 4px 0;
  font-size: 13px;
}
.full-demo-banner .button {
  flex-shrink: 0;
}
@media (max-width: 700px) {
  .full-demo-banner {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .locale-toolbar {
    padding: 6px 16px;
  }
  .dialog-head {
    flex-wrap: wrap;
  }
}

/* phase1/js/experience.css */
.room-nav-secondary {
  display: block;
  margin: 0 0 2px 27px;
  padding: 6px 9px;
  border-left: 1px solid var(--line);
  font-size: 11px;
  color: var(--muted);
  line-height: 1.5;
}
.room-nav-secondary:hover,
.room-nav-secondary.active {
  color: var(--ink);
  background: #ece5d8;
  border-radius: 0 5px 5px 0;
}
.surface-tabs,
.review-material-tabs {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--line);
  padding: 0 0 9px;
  margin: 0 0 18px;
  font-size: 12px;
}
.surface-tabs a.active,
.review-material-tabs a[aria-current] {
  color: var(--gold);
  font-weight: 600;
}
.review-material-tabs {
  margin-top: -8px;
  font-size: 11px;
  border-bottom: 0;
}
.review-next,
.document-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  background: #f1ece1;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px 14px;
  margin: 0 0 16px;
  font-size: 11px;
  line-height: 1.6;
}
.review-next span {
  display: block;
  color: var(--muted);
}
.document-context a {
  color: var(--gold);
}
.opinion-list {
  display: grid;
  gap: 14px;
}
.opinion-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fffdf8;
  padding: 18px;
}
.opinion-row > div {
  min-width: 0;
}
.opinion-row h2 {
  font-size: 19px;
}
.opinion-row p {
  margin: 7px 0;
  overflow-wrap: anywhere;
}
@media (max-width: 800px) {
  .room-nav-secondary {
    display: none;
  }
  .opinion-row {
    flex-direction: column;
    align-items: stretch;
    padding: 14px;
  }
  .review-next {
    align-items: flex-start;
  }
  .surface-tabs,
  .review-material-tabs {
    gap: 12px;
  }
  .document-context {
    align-items: flex-start;
  }
  .opinion-row .button {
    white-space: normal;
  }
}

/* phase1/js/workspace-directory.css */
.workspace-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.workspace-section-heading h2 {
  margin: 0;
}
.workspace-section-heading .link {
  font-size: 13px;
  white-space: nowrap;
}
.space-list {
  display: grid;
  gap: 0;
  margin-top: 14px;
}
.space-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 96px;
  padding: 14px 0;
  color: var(--ink);
  text-decoration: none;
  border-top: 1px solid var(--line);
}
.space-row:hover {
  background: #f2f4ee;
}
.space-row:focus-visible {
  outline: 2px solid #285f53;
  outline-offset: 3px;
}
.space-row > .program-monogram {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  font-size: 15px;
}
.space-row-body {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 3px;
}
.space-row-body > strong {
  font-size: 16px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.space-row-id {
  font-size: 10px;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.space-row-meta {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
}
.space-row-status {
  flex-shrink: 0;
  max-width: 135px;
}
.space-row-status .badge {
  font-size: 10px;
  white-space: normal;
  text-align: center;
}
.space-row-arrow {
  flex-shrink: 0;
  display: flex;
  color: var(--muted);
}
.workspace-preview-note {
  font-size: 12px;
  color: var(--muted);
  margin: 10px 0 0;
}
.workspace-reviews-heading {
  margin: 26px 0 12px;
}
.workspace-reviews-heading h2 {
  font-size: 21px;
}
.space-directory {
  max-width: 1080px;
  padding: 22px;
  background: var(--surface,#fffdf8);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.space-search {
  display: grid;
  gap: 8px;
  max-width: 580px;
  font-size: 13px;
  font-weight: 600;
}
.space-search input {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  font: inherit;
}
.space-directory .space-row {
  padding: 16px 8px;
}
@media (max-width: 680px) {
  .space-directory {
    padding: 16px;
  }
  .space-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr)16px;
    gap: 7px 9px;
    padding: 12px 0;
  }
  .space-row-body {
    grid-column: 2;
    grid-row: 1;
  }
  .space-row-body > strong {
    font-size: 15px;
  }
  .space-row-status {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    max-width: none;
  }
  .space-row-arrow {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
  }
  .space-row > .program-monogram {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }
  .space-directory .space-row {
    padding: 14px 0;
  }
}

/* phase1/js/preflight.css */
.preflight-card {
  border: 1px solid var(--line,#ddd9cf);
  border-radius: 8px;
  background: #fbfaf7;
  margin: 12px 0;
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.study-service-copy {
  min-width: 0;
  flex: 1;
}
.study-service-copy .row {
  gap: 10px;
}
.study-service-copy strong {
  font-size: 14px;
}
.study-service-copy p {
  font-size: 13px;
  margin: 7px 0;
  color: var(--muted,#606456);
  line-height: 1.5;
}
.study-service-copy small,
.service-core-count {
  font-size: 12px;
  color: var(--muted,#606456);
}
.study-service-action {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
.service-detail-link {
  border: 0;
  background: transparent;
  color: var(--muted,#606456);
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
}
.preflight-ready {
  border-color: #8cb29b;
  background: #f4f9f5;
}
.preflight-pulse {
  animation: preflight-ready 2.4s ease-out 1;
}
@keyframes preflight-ready {
  0%, 100% {
    box-shadow: none;
  }
  40% {
    box-shadow: 0 0 0 5px #88b5a035;
  }
}
.application-next-step {
  border: 1px solid var(--line,#ddd9cf);
  border-left: 3px solid #a79764;
  border-radius: 8px;
  padding: 16px 18px;
  margin: 16px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.application-next-step p {
  margin: 7px 0;
  font-size: 13px;
}
.application-next-step small {
  color: var(--muted,#606456);
}
.application-next-step .eyebrow {
  font-size: 10px;
}
.application-page {
  max-width: 1240px;
  margin: 0 auto;
}
.application-back {
  font-size: 13px;
  color: var(--muted,#606456);
}
.application-page .room-heading {
  margin-top: 18px;
}
.application-page .room-heading h1 {
  font-size: 32px;
}
.application-steps {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.application-steps li {
  border-bottom: 2px solid #ddd9cf;
  padding: 10px 0;
  color: #77796e;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.application-steps li span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid #ddd9cf;
  border-radius: 50%;
  font-size: 12px;
}
.application-steps .current {
  border-color: #9e8c53;
  color: #292c24;
  font-weight: 600;
}
.application-steps .complete {
  border-color: #83a391;
}
.application-steps .current span {
  background: #292c24;
  color: #fff;
  border-color: #292c24;
}
.application-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 24px;
  align-items: start;
}
.application-main {
  min-width: 0;
}
.application-section {
  padding: 24px;
  border: 1px solid var(--line,#ddd9cf);
  border-radius: 10px;
  background: #fffdfa;
  margin-bottom: 16px;
}
.application-section .eyebrow {
  font-size: 10px;
  margin: 0 0 10px;
}
.application-section h2 {
  font-size: 21px;
  margin: 0 0 14px;
}
.application-section h3 {
  font-size: 14px;
  margin: 14px 0 8px;
}
.application-section p,
.application-section li {
  font-size: 14px;
  line-height: 1.7;
}
.application-section ul {
  padding-left: 20px;
  margin-bottom: 0;
}
.application-scope-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.application-limitations {
  background: #fcf8ed;
  border-color: #ddd0ac;
}
.application-materials td {
  font-size: 13px;
}
.application-materials small {
  display: block;
  color: #74766c;
  font-size: 11px;
  margin-top: 5px;
}
.application-quote {
  position: sticky;
  top: 86px;
  border: 1px solid #cfc8b2;
  border-radius: 10px;
  background: #fffdfa;
  padding: 22px;
  max-height: calc(100vh - 150px);
  overflow: auto;
}
.application-quote h2 {
  font-size: 22px;
  margin: 10px 0 16px;
}
.application-quote .eyebrow {
  font-size: 10px;
  line-height: 1.6;
}
.application-quote dl {
  margin: 0;
}
.application-quote dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0;
  font-size: 13px;
}
.application-quote dd {
  margin: 0;
  white-space: nowrap;
}
.application-total {
  border-top: 1px solid #ddd9cf;
  border-bottom: 1px solid #ddd9cf;
  padding: 15px 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.application-total span {
  font-size: 12px;
  color: #62655a;
}
.application-total strong {
  font-size: 30px;
}
.application-quote p {
  font-size: 12px;
  line-height: 1.6;
}
.application-consent {
  font-size: 12px;
  line-height: 1.5;
  margin: 14px 0;
}
.application-submit {
  width: 100%;
  position: sticky;
  bottom: -22px;
  box-shadow: 0 0 0 8px #fffdfa;
}
.application-demo-note {
  font-size: 10px !important;
  color: #77796e;
  border-top: 1px solid #ddd9cf;
  padding-top: 12px;
  margin-bottom: 0;
}
.application-status {
  border: 1px solid #d8d4c7;
  background: #f6f4ee;
  padding: 16px 20px;
  border-radius: 8px;
  margin-bottom: 24px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.application-status p {
  font-size: 13px;
  margin: 10px 0 0;
}
.application-status small {
  display: block;
  font-size: 11px;
  color: #74766c;
}
.application-status strong {
  display: block;
  font-size: 13px;
  margin-top: 6px;
}
.application-history {
  padding-left: 18px;
}
.application-history li {
  padding: 7px 0;
}
.application-history span {
  display: block;
  color: #74766c;
  font-size: 12px;
}
.application-intro {
  font-size: 14px;
  margin-bottom: 24px;
}
.application-wait {
  background: #f5f4ef;
  padding: 12px;
  margin-top: 16px;
  border-radius: 6px;
}
.application-wait strong {
  font-size: 13px;
}
.application-quote .button {
  font-size: 12px;
}
.review-example-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.review-example-card {
  padding: 22px;
  border: 1px solid #ddd9cf;
  border-radius: 10px;
  background: #fffdfa;
}
.review-example-card h2 {
  font-size: 22px;
  margin: 12px 0;
}
.review-example-card p {
  font-size: 14px;
  line-height: 1.7;
}
.review-example-card small {
  display: block;
  color: #74766c;
  margin: 10px 0;
}
.review-example-load {
  max-width: 700px;
  margin: 24px auto;
  padding: 30px;
  background: #fffdfa;
  border: 1px solid #ddd9cf;
  border-radius: 12px;
}
@media (prefers-reduced-motion: reduce) {
  .preflight-pulse {
    animation: none;
  }
}
@media (max-width: 1150px) {
  .application-layout {
    grid-template-columns: minmax(0, 1fr) 290px;
  }
  .application-scope-grid {
    grid-template-columns: 1fr;
  }
  .application-quote {
    padding: 18px;
  }
  .preflight-card {
    gap: 12px;
  }
}
@media (max-width: 750px) {
  .preflight-card,
  .application-next-step {
    flex-direction: column;
    align-items: stretch;
  }
  .study-service-action {
    align-items: flex-start;
  }
  .study-service-action .button {
    width: 100%;
  }
  .application-layout {
    display: flex;
    flex-direction: column;
  }
  .application-quote {
    position: relative;
    top: 0;
    max-height: none;
    overflow: visible;
    width: 100%;
    order: -1;
  }
  .application-submit {
    bottom: 12px;
  }
  .application-main {
    width: 100%;
  }
  .application-status {
    flex-direction: column;
  }
  .application-section {
    padding: 18px;
  }
  .application-page .room-heading h1 {
    font-size: 27px;
  }
  .application-steps li {
    font-size: 11px;
    align-items: flex-start;
  }
  .application-steps li span {
    flex-shrink: 0;
  }
  .review-example-grid {
    grid-template-columns: 1fr;
  }
}
.quote-limit-summary {
  border-left: 2px solid #b3a169;
  padding-left: 10px;
  color: #6d6041;
}
@media (max-width: 750px) {
  .application-layout {
    gap: 16px;
  }
  .application-main {
    display: contents;
  }
  .application-page .room-heading {
    margin: 0;
  }
  .application-back,
  .application-steps,
  .application-intro,
  .application-status {
    width: 100%;
    margin: 0;
  }
  .application-quote {
    order: 1;
  }
  .application-section {
    order: 2;
    width: 100%;
    margin: 0;
  }
}
.application-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.application-section > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  list-style: none;
  font-size: 16px;
  line-height: 1.4;
}
.application-section > summary:after {
  content: "\ff0b";
  flex-shrink: 0;
  color: #766943;
}
.application-section[open] > summary:after {
  content: "\2212";
}
.application-section > summary strong {
  flex: 1;
}
.application-section > summary span {
  color: #727467;
  font-size: 12px;
  max-width: 45%;
}
.application-section[open] > summary {
  border-bottom: 1px solid #e6e1d6;
  padding-bottom: 16px;
  margin-bottom: 18px;
}
.application-limits {
  font-size: 12px;
  line-height: 1.65;
  padding-left: 18px;
}
.scope-message {
  border: 1px solid #e0dbcf;
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 16px;
  overflow-wrap: anywhere;
}
.scope-message p {
  white-space: pre-wrap;
}
.scope-message small {
  display: block;
  color: #75776b;
  font-size: 11px;
  margin-top: 6px;
}
.scope-reply {
  border-left: 2px solid #94a38e;
  padding-left: 12px;
  margin-top: 14px;
}
.scope-request-context {
  border-left: 2px solid #ac985e;
  padding-left: 12px;
  white-space: pre-wrap;
}
.quote-editor .field,
.scope-discussion .field {
  margin: 12px 0;
}
.application-section form textarea {
  width: 100%;
  resize: vertical;
}
.application-section form .button {
  margin-top: 12px;
}
.receipt-table small {
  display: block;
  color: #727467;
  margin: 5px 0;
}
.receipt-table details {
  margin-top: 12px;
}
.receipt-table summary {
  cursor: pointer;
  color: #73603a;
}
.receipt-table article {
  margin-top: 12px;
}
.review-example-card.review-journey {
  grid-column: 1/-1;
  border-color: #b5a87b;
  background: #fbf9f1;
}
.review-example-card .eyebrow {
  font-size: 10px;
}
.review-example-card .button {
  margin: 5px 6px 0 0;
}
.review-example-card p {
  max-width: 800px;
}
.review-example-card small {
  margin-bottom: 18px;
}
.team-flow-examples {
  margin: 20px 0;
}
.team-flow-examples summary {
  cursor: pointer;
}
.team-flow-examples article {
  padding: 10px 0;
  border-bottom: 1px solid #ddd9cf;
}
@media (max-width: 750px) {
  .application-main {
    display: block;
    order: 1;
    width: 100%;
  }
  .application-quote {
    order: 2;
  }
  .application-section {
    margin-bottom: 14px;
  }
  .application-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 18px 0;
  }
  .application-status {
    margin-bottom: 18px;
  }
  .application-section > summary {
    flex-wrap: wrap;
    gap: 8px;
  }
  .application-section > summary span {
    max-width: 100%;
    width: 100%;
    order: 3;
  }
  .application-materials th:first-child {
    width: 44%;
  }
  .application-materials td {
    overflow-wrap: anywhere;
  }
  .application-quote {
    padding: 18px;
  }
  .application-submit {
    position: static;
    box-shadow: none;
  }
  .review-example-card.review-journey {
    grid-column: auto;
  }
  .application-status > div {
    min-width: 0;
  }
  .application-section .row {
    flex-wrap: wrap;
    gap: 8px;
  }
  .application-page .room-heading {
    margin: 18px 0;
  }
  .scope-message .row {
    align-items: flex-start;
  }
}
.service-template-page {
  max-width: 1180px;
  margin: auto;
  padding: 24px;
}
.service-template-grid {
  margin-top: 24px;
}
.service-template-grid h2 {
  font-size: 23px;
}
.service-template-grid details {
  margin: 16px 0;
}
.service-template-grid li {
  margin: 8px 0;
}
.service-template-grid form {
  margin-top: 18px;
}
.service-template-page .panel form {
  display: grid;
  gap: 12px;
}
.service-template-page .room-footnote {
  margin-top: 24px;
}
@media (max-width: 600px) {
  .service-template-page {
    padding: 16px;
  }
  .service-template-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .service-template-grid .review-example-card {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
.service-template-page .panel form {
  grid-template-columns: minmax(0, 1fr);
}
.service-template-page .panel form > * {
  min-width: 0;
  max-width: 100%;
}
.service-template-page .ts-wrapper,
.service-template-page select {
  min-width: 0;
  max-width: 100%;
}
.service-template-page .ts-control .item {
  white-space: normal;
  overflow-wrap: anywhere;
}

/* phase1/js/billing.css */
.billing-filter {
  display: flex;
  gap: 14px;
  align-items: end;
  flex-wrap: wrap;
  margin: 24px 0 12px;
}
.billing-filter .field {
  flex: 1;
  min-width: 180px;
  margin: 0;
}
.billing-filter .field:first-child {
  flex: 0 1 250px;
}
.billing-filter .button {
  margin-bottom: 2px;
}
.billing-list {
  display: grid;
  gap: 16px;
}
.billing-order {
  padding: 24px;
}
.billing-order-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}
.billing-order h2 {
  font: 600 22px var(--serif);
  margin: 6px 0;
}
.billing-amount {
  font-size: 24px;
  white-space: nowrap;
}
.billing-id {
  overflow-wrap: anywhere;
}
.billing-records {
  padding-left: 22px;
}
.billing-records p {
  overflow-wrap: anywhere;
  margin: 5px 0;
}
.billing-order .row {
  margin-top: 12px;
}
@media (max-width: 600px) {
  .billing-order {
    padding: 18px;
  }
  .billing-order-head {
    display: block;
  }
  .billing-amount {
    display: block;
    margin: 14px 0;
  }
  .billing-filter .field,
  .billing-filter .field:first-child {
    flex-basis: 100%;
    min-width: 0;
  }
  .billing-order .eyebrow {
    font-size: 10px;
  }
}

/* node_modules/tom-select/dist/css/tom-select.default.css */
.ts-control {
  border: 1px solid #d0d0d0;
  padding: 8px 8px;
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  display: flex;
  flex-wrap: wrap;
}
.ts-wrapper.multi.has-items .ts-control {
  padding: calc(8px - 2px - 1px) 8px calc(8px - 2px - 3px - 1px);
}
.full .ts-control {
  background-color: #fff;
}
.disabled .ts-control,
.disabled .ts-control * {
  cursor: default !important;
}
.focus .ts-control {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}
.ts-control > * {
  vertical-align: baseline;
  display: inline-block;
}
.ts-wrapper.multi .ts-control > div {
  cursor: pointer;
  margin: 0 3px 3px 0;
  padding: 2px 6px;
  background: #1da7ee;
  color: #fff;
  border: 1px solid #0073bb;
  overflow: auto;
}
.ts-wrapper.multi .ts-control > div.active {
  background: #92c836;
  color: #fff;
  border: 1px solid #00578d;
}
.ts-wrapper.multi.disabled .ts-control > div,
.ts-wrapper.multi.disabled .ts-control > div.active {
  color: hsl(0, 0%, 130%);
  background: #d2d2d2;
  border: 1px solid #aaaaaa;
}
.ts-control > input {
  flex: 1 1 auto;
  min-width: 7rem;
  display: inline-block !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-indent: 0 !important;
  border: 0 none !important;
  background: none !important;
  line-height: inherit !important;
  -webkit-user-select: auto !important;
  -moz-user-select: auto !important;
  -ms-user-select: auto !important;
  user-select: auto !important;
  box-shadow: none !important;
}
.ts-control > input::-ms-clear {
  display: none;
}
.ts-control > input:focus {
  outline: none !important;
}
.has-items .ts-control > input {
  margin: 0px 4px !important;
}
.ts-control.rtl {
  text-align: right;
}
.ts-control.rtl.single .ts-control:after {
  left: 15px;
  right: auto;
}
.ts-control.rtl .ts-control > input {
  margin: 0px 4px 0px -2px !important;
}
.disabled .ts-control {
  opacity: 0.5;
  background-color: #fafafa;
}
.input-hidden .ts-control > input {
  opacity: 0;
  position: absolute;
  left: -10000px;
}
.ts-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10;
  border: 1px solid #d0d0d0;
  background: #fff;
  margin: 0.25rem 0 0;
  border-top: 0 none;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 3px 3px;
}
.ts-dropdown [data-selectable] {
  cursor: pointer;
  overflow: hidden;
}
.ts-dropdown [data-selectable] .highlight {
  background: rgba(125, 168, 208, 0.2);
  border-radius: 1px;
}
.ts-dropdown .option,
.ts-dropdown .optgroup-header,
.ts-dropdown .no-results,
.ts-dropdown .create {
  padding: 5px 8px;
}
.ts-dropdown .option,
.ts-dropdown [data-disabled],
.ts-dropdown [data-disabled] [data-selectable].option {
  cursor: inherit;
  opacity: 0.5;
}
.ts-dropdown [data-selectable].option {
  opacity: 1;
  cursor: pointer;
}
.ts-dropdown .optgroup:first-child .optgroup-header {
  border-top: 0 none;
}
.ts-dropdown .optgroup-header {
  color: #303030;
  background: #fff;
  cursor: default;
}
.ts-dropdown .active {
  background-color: #f5fafd;
  color: #495c68;
}
.ts-dropdown .active.create {
  color: #495c68;
}
.ts-dropdown .create {
  color: rgba(48, 48, 48, 0.5);
}
.ts-dropdown .spinner {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 5px 8px;
}
.ts-dropdown .spinner::after {
  content: " ";
  display: block;
  width: 24px;
  height: 24px;
  margin: 3px;
  border-radius: 50%;
  border: 5px solid #d0d0d0;
  border-color: #d0d0d0 transparent #d0d0d0 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.ts-dropdown-content {
  overflow: hidden auto;
  max-height: 200px;
  scroll-behavior: smooth;
}
.ts-wrapper.plugin-drag_drop .ts-dragging {
  color: transparent !important;
}
.ts-wrapper.plugin-drag_drop .ts-dragging > * {
  visibility: hidden !important;
}
.plugin-checkbox_options:not(.rtl) .option input {
  margin-right: 0.5rem;
}
.plugin-checkbox_options.rtl .option input {
  margin-left: 0.5rem;
}
.plugin-clear_button {
  --ts-pr-clear-button: 1em;
}
.plugin-clear_button .clear-button {
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(8px - 6px);
  margin-right: 0 !important;
  background: transparent !important;
  transition: opacity 0.5s;
  cursor: pointer;
}
.plugin-clear_button.form-select .clear-button,
.plugin-clear_button.single .clear-button {
  right: max(var(--ts-pr-caret), 8px);
}
.plugin-clear_button.focus.has-items .clear-button,
.plugin-clear_button:not(.disabled):hover.has-items .clear-button {
  opacity: 1;
}
.ts-wrapper .dropdown-header {
  position: relative;
  padding: 10px 8px;
  border-bottom: 1px solid #d0d0d0;
  background: color-mix(#fff, #d0d0d0, 85%);
  border-radius: 3px 3px 0 0;
}
.ts-wrapper .dropdown-header-close {
  position: absolute;
  right: 8px;
  top: 50%;
  color: #303030;
  opacity: 0.4;
  margin-top: -12px;
  line-height: 20px;
  font-size: 20px !important;
}
.ts-wrapper .dropdown-header-close:hover {
  color: hsl(0, 0%, -6.1764705882%);
}
.plugin-dropdown_input.focus.dropdown-active .ts-control {
  box-shadow: none;
  border: 1px solid #d0d0d0;
}
.plugin-dropdown_input .dropdown-input {
  border: 1px solid #d0d0d0;
  border-width: 0 0 1px;
  display: block;
  padding: 8px 8px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  width: 100%;
  background: transparent;
}
.plugin-dropdown_input .items-placeholder {
  border: 0 none !important;
  box-shadow: none !important;
  width: 100%;
}
.plugin-dropdown_input.has-items .items-placeholder,
.plugin-dropdown_input.dropdown-active .items-placeholder {
  display: none !important;
}
.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input {
  min-width: 0;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input {
  flex: none;
  min-width: 4px;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-ms-input-placeholder {
  color: transparent;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder {
  color: transparent;
}
.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content {
  display: flex;
}
.ts-dropdown.plugin-optgroup_columns .optgroup {
  border-right: 1px solid #f2f2f2;
  border-top: 0 none;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}
.ts-dropdown.plugin-optgroup_columns .optgroup:last-child {
  border-right: 0 none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup::before {
  display: none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup-header {
  border-top: 0 none;
}
.ts-wrapper.plugin-remove_button .item {
  display: inline-flex;
  align-items: center;
}
.ts-wrapper.plugin-remove_button .item .remove {
  color: inherit;
  text-decoration: none;
  vertical-align: middle;
  display: inline-block;
  padding: 0 6px;
  border-radius: 0 2px 2px 0;
  box-sizing: border-box;
}
.ts-wrapper.plugin-remove_button .item .remove:hover {
  background: rgba(0, 0, 0, 0.05);
}
.ts-wrapper.plugin-remove_button.disabled .item .remove:hover {
  background: none;
}
.ts-wrapper.plugin-remove_button .remove-single {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 23px;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item {
  padding-right: 0 !important;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove {
  border-left: 1px solid #0073bb;
  margin-left: 6px;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove {
  border-left-color: #00578d;
}
.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove {
  border-left-color: #aaaaaa;
}
.ts-wrapper.plugin-remove_button.rtl .item {
  padding-left: 0 !important;
}
.ts-wrapper.plugin-remove_button.rtl .item .remove {
  border-right: 1px solid #0073bb;
  margin-right: 6px;
}
.ts-wrapper.plugin-remove_button.rtl .item.active .remove {
  border-right-color: #00578d;
}
.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove {
  border-right-color: #aaaaaa;
}
:root {
  --ts-pr-clear-button: 0px;
  --ts-pr-caret: 0px;
  --ts-pr-min: .75rem;
}
.ts-wrapper.single .ts-control,
.ts-wrapper.single .ts-control input {
  cursor: pointer;
}
.ts-control:not(.rtl) {
  padding-right: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;
}
.ts-control.rtl {
  padding-left: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;
}
.ts-wrapper {
  position: relative;
}
.ts-dropdown,
.ts-control,
.ts-control input {
  color: #303030;
  font-family: inherit;
  font-size: 13px;
  line-height: 18px;
}
.ts-control,
.ts-wrapper.single.input-active .ts-control {
  background: #fff;
  cursor: text;
}
.ts-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}
.ts-wrapper.single .ts-control {
  --ts-pr-caret: 2rem;
}
.ts-wrapper.single .ts-control::after {
  content: " ";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 5px 0 5px;
  border-color: #808080 transparent transparent transparent;
}
.ts-wrapper.single .ts-control:not(.rtl)::after {
  right: 15px;
}
.ts-wrapper.single .ts-control.rtl::after {
  left: 15px;
}
.ts-wrapper.single.dropdown-active .ts-control::after {
  margin-top: -4px;
  border-width: 0 5px 5px 5px;
  border-color: transparent transparent #808080 transparent;
}
.ts-wrapper.single.input-active .ts-control,
.ts-wrapper.single.input-active .ts-control input {
  cursor: text;
}
.ts-wrapper {
  display: flex;
  min-height: 36px;
}
.ts-wrapper.multi.has-items .ts-control {
  padding-left: 5px;
  --ts-pr-min: 5px;
}
.ts-wrapper.multi .ts-control [data-value] {
  text-shadow: 0 1px 0 rgba(0, 51, 83, 0.3);
  border-radius: 3px;
  background-color: color-mix(#1da7ee, #178ee9, 60%);
  background-image:
    linear-gradient(
      to bottom,
      #1da7ee,
      #178ee9);
  background-repeat: repeat-x;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), inset 0 1px rgba(255, 255, 255, 0.03);
}
.ts-wrapper.multi .ts-control [data-value].active {
  background-color: color-mix(#008fd8, #0075cf, 60%);
  background-image:
    linear-gradient(
      to bottom,
      #008fd8,
      #0075cf);
  background-repeat: repeat-x;
}
.ts-wrapper.multi.disabled .ts-control [data-value] {
  color: #999;
  text-shadow: none;
  background: none;
  box-shadow: none;
}
.ts-wrapper.multi.disabled .ts-control [data-value],
.ts-wrapper.multi.disabled .ts-control [data-value] .remove {
  border-color: #e6e6e6;
}
.ts-wrapper.multi.disabled .ts-control [data-value] .remove {
  background: none;
}
.ts-wrapper.single .ts-control {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  background-color: color-mix(#fefefe, #f2f2f2, 60%);
  background-image:
    linear-gradient(
      to bottom,
      #fefefe,
      #f2f2f2);
  background-repeat: repeat-x;
}
.ts-wrapper.single .ts-control,
.ts-dropdown.single {
  border-color: #b8b8b8;
}
.dropdown-active .ts-control {
  border-radius: 3px 3px 0 0;
}
.ts-dropdown .optgroup-header {
  padding-top: 7px;
  font-weight: bold;
  font-size: 0.85em;
}
.ts-dropdown .optgroup {
  border-top: 1px solid #f0f0f0;
}
.ts-dropdown .optgroup:first-child {
  border-top: 0 none;
}

/* shared/selects.css */
.xynx-select {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  font: 12px/1.5 var(--sans);
  color: var(--ink);
}
.xynx-select .ts-control {
  min-height: 38px;
  padding: 8px 32px 8px 11px;
  border: 1px solid #d9d3c6;
  border-radius: 8px;
  background: #fffefa !important;
  box-shadow: 0 1px 2px #27241c04;
  color: var(--ink);
  align-items: center;
  cursor: pointer;
  gap: 0;
  transition: border-color .15s, box-shadow .15s;
}
.xynx-select .ts-control:hover {
  border-color: #b7a787;
}
.xynx-select.focus .ts-control {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px #a58a4421;
}
.xynx-select .ts-control:focus-visible {
  outline: 0;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px #a58a4421;
}
select.ts-hidden-accessible[hidden] {
  display: none !important;
}
.xynx-select.single .ts-control:after {
  border: 0;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #83765f;
  border-bottom: 1.5px solid #83765f;
  right: 13px;
  margin-top: -5px;
  transform: rotate(45deg);
}
.xynx-select.dropdown-active.single .ts-control:after {
  border: 0;
  border-right: 1.5px solid #83765f;
  border-bottom: 1.5px solid #83765f;
  margin-top: -1px;
  transform: rotate(225deg);
}
.xynx-select .ts-control > .item {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  font-weight: 500;
  line-height: 20px;
}
.xynx-select .ts-control > input {
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  background: transparent !important;
  min-height: 0;
  width: 0 !important;
  min-width: 0 !important;
}
.xynx-select.disabled .ts-control {
  background: #efede7 !important;
  color: var(--muted);
  opacity: .65;
  cursor: not-allowed;
}
.xynx-select-menu.ts-dropdown {
  z-index: 120;
  margin: 0;
  padding: 5px;
  background: #fffefa;
  border: 1px solid #d9d3c6;
  border-radius: 10px;
  box-shadow: 0 8px 28px #2d29161c, 0 2px 6px #2d29160a;
  color: var(--ink);
  font: 12px/1.5 var(--sans);
}
.xynx-select-menu .ts-dropdown-content {
  padding: 0;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.xynx-select-menu .option {
  position: relative;
  padding: 10px 31px 10px 10px;
  border-radius: 6px;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.xynx-select-menu .option.active {
  background: #f1ece0;
  color: var(--ink);
}
.xynx-select-menu .option.selected {
  font-weight: 600;
  background: #f7f3e9;
  color: #705921;
}
.xynx-select-menu .option.selected::after {
  content: "\2713";
  position: absolute;
  right: 11px;
  top: 10px;
  color: #927336;
  font-size: 14px;
}
.xynx-select-menu .option[aria-disabled=true] {
  opacity: .45;
  cursor: not-allowed;
}
.xynx-select-menu .dropdown-input-wrap {
  padding: 5px 5px 9px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--line);
}
.xynx-select-menu .dropdown-input {
  width: 100%;
  height: 34px;
  min-height: 0;
  padding: 6px 9px;
  border: 1px solid #e1dacc;
  border-radius: 6px;
  outline: 0;
  background: #f8f5ee;
  color: var(--ink);
  font: 12px var(--sans);
  box-shadow: none;
}
.xynx-select-menu .dropdown-input:focus {
  border-color: #b9a575;
  box-shadow: 0 0 0 2px #a58a4412;
}
.xynx-select-menu .no-results {
  padding: 16px 10px;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.demo-bar label:has(.xynx-select) {
  display: flex;
  align-items: center;
  gap: 7px;
}
.demo-bar .xynx-select {
  width: 185px;
  font-size: 10px;
}
.demo-bar .xynx-select .ts-control {
  min-height: 28px;
  padding: 3px 29px 3px 9px;
  border-radius: 6px;
  background: #f5f2ea !important;
}
.reader-toolbar .xynx-select {
  width: 140px;
}
.review-panel .xynx-select {
  font-size: 11px;
}
@media (max-width: 680px) {
  .xynx-select .ts-control {
    min-height: 42px;
  }
  .xynx-select-menu .option {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .xynx-select-menu .dropdown-input {
    font-size: 16px;
    height: 40px;
  }
}

/* phase1/js/entitlements.css */
.commerce-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.commerce-grid .panel {
  min-width: 0;
}
.commerce-grid .panel h2,
.connection-list .panel h2 {
  margin-bottom: 16px;
}
.commerce-grid .panel p {
  line-height: 1.65;
}
.entitlement-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 18px;
  padding: 12px 16px;
  background: #faf8f3;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 12px;
}
.entitlement-strip > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.usage-total,
.candidate-price {
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -.7px;
  margin: 20px 0 12px;
}
.usage-total small,
.candidate-price small {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--muted);
}
.usage-track {
  height: 7px;
  background: #ece8df;
  border-radius: 8px;
  overflow: hidden;
}
.usage-track span {
  display: block;
  height: 100%;
  background: #876a38;
  border-radius: 8px;
}
.plan-options {
  display: grid;
  gap: 12px;
}
.plan-options > label {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 16px;
}
.plan-options label span {
  display: grid;
  gap: 8px;
}
.plan-options small {
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}
.plan-options input {
  margin-top: 5px;
}
.connection-list {
  display: grid;
  gap: 16px;
}
.commerce-scenarios {
  margin-top: 24px;
  padding: 16px;
  border: 1px dashed var(--border);
  border-radius: 8px;
}
.commerce-scenarios p {
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
  margin: 12px 0;
}
.ai-materials {
  max-height: 250px;
  overflow: auto;
}
.ai-materials label {
  align-items: flex-start;
  flex-wrap: wrap;
}
.ai-materials small {
  overflow-wrap: anywhere;
}
.connection-list p,
.commerce-grid dd {
  overflow-wrap: anywhere;
}
.room-card .badge {
  margin-top: 8px;
}
.room-card small {
  display: block;
  margin: 6px 0;
  color: var(--muted);
}
@media (max-width: 800px) {
  .commerce-grid {
    grid-template-columns: 1fr;
  }
  .entitlement-strip {
    align-items: flex-start;
    flex-direction: column;
  }
  .plan-options > label {
    padding: 12px;
  }
  .candidate-price {
    font-size: 26px;
  }
  .commerce-grid .facts > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .commerce-grid .facts dd {
    text-align: left;
  }
  .connection-list .row.between {
    flex-wrap: wrap;
  }
}
@media (min-width: 801px) {
  .room-nav {
    overflow-y: auto;
  }
  .room-nav-item,
  .room-brand,
  .nav-program,
  .nav-label-small,
  .room-nav-bottom {
    flex-shrink: 0;
  }
}
@media (min-width: 801px) {
  .room-nav {
    padding-top: 16px;
  }
  .room-brand {
    padding-bottom: 14px;
  }
  .nav-program {
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .nav-program strong {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .room-nav-item {
    padding-top: 7px;
    padding-bottom: 7px;
    margin-top: 1px;
    margin-bottom: 1px;
  }
  .nav-label-small {
    margin-top: 12px;
    margin-bottom: 6px;
  }
}

/* phase1/js/room-context.css */
.room-top {
  position: sticky;
  top: 0;
  z-index: 30;
  height: auto;
  min-height: 48px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.room-context {
  min-width: 0;
  flex: 1;
}
.room-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  font-size: 11px;
  line-height: 1.5;
  color: #898274;
}
.room-breadcrumb a:hover {
  text-decoration: underline;
}
.room-breadcrumb .crumb-room {
  font-weight: 600;
  color: #514632;
  overflow-wrap: anywhere;
}
.room-breadcrumb [aria-current] {
  color: #59564e;
}
.crumb-separator {
  color: #beb5a4;
}
.room-switcher {
  min-width: 0;
  position: relative;
}
.sidebar-room-switcher {
  margin: 0 0 12px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 8px 0;
  flex-shrink: 0;
}
.room-switcher summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 7px 5px;
  border-radius: 6px;
  color: #423b2e;
}
.room-switcher summary::-webkit-details-marker {
  display: none;
}
.room-switcher summary:hover {
  background: #e9e5dc;
}
.room-switcher summary:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.room-switch-name {
  min-width: 0;
  flex: 1;
}
.room-switch-name strong {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.room-switch-name small {
  display: block;
  font-size: 9px;
  color: #8a806b;
  margin-top: 3px;
}
.room-switch-chevron {
  flex: none;
  font-size: 11px;
  color: #84724f;
}
.room-switch-menu {
  background: #fffdf8;
  border: 1px solid #d8ccb3;
  border-radius: 7px;
  padding: 5px;
  max-height: 300px;
  overflow: auto;
  margin-top: 5px;
}
.room-switch-menu > p {
  padding: 7px;
  font-size: 10px;
  color: var(--muted);
}
.room-switch-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 6px;
  border-radius: 5px;
}
.room-switch-option:hover,
.room-switch-option.selected {
  background: #eee7d8;
}
.room-switch-option > span:last-child {
  min-width: 0;
}
.room-switch-option .program-monogram {
  width: 25px;
  height: 25px;
  font-size: 16px;
}
.room-switch-option strong {
  display: block;
  font-size: 11px;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
.room-switch-option small {
  display: block;
  font-size: 9px;
  color: #83704d;
  margin-top: 3px;
}
.room-switch-workbench {
  display: block;
  border-top: 1px solid var(--line);
  padding: 10px 6px;
  margin-top: 5px;
  font-size: 10px;
}
.mobile-room-switcher {
  display: none;
}
.room-card-id {
  display: block;
  font-size: 10px;
  color: var(--muted);
  margin-top: 10px;
}
@media (max-width: 1050px) {
  .sidebar-room-switcher {
    display: none;
  }
  .mobile-room-switcher {
    display: block;
    flex: none;
  }
  .mobile-room-switcher summary {
    padding: 4px 6px;
    font-size: 11px;
    border: 1px solid var(--line);
  }
  .mobile-room-switcher summary .program-monogram {
    width: 23px;
    height: 23px;
    font-size: 15px;
  }
  .mobile-room-switcher .room-switch-name {
    display: none;
  }
  .mobile-room-switcher .room-switch-menu {
    position: absolute;
    right: 0;
    top: 100%;
    width: 270px;
    box-shadow: 0 8px 24px #302a2026;
    max-height: 55vh;
  }
  .room-context {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .room-breadcrumb {
    flex: 1;
    min-width: 0;
  }
}
@media (max-width: 800px) {
  .room-top {
    padding: 8px 14px;
    min-height: 44px;
  }
  .room-context {
    width: 100%;
  }
  .room-breadcrumb {
    font-size: 10px;
    gap: 6px;
  }
  .room-top > .row > svg {
    display: none;
  }
  .room-top > .row:empty {
    display: none;
  }
}

/* phase1/js/account-menu.css */
body:has(.room-app) > .locale-toolbar {
  display: none;
}
.room-nav {
  overflow: visible;
  isolation: isolate;
  padding-bottom: 10px;
}
.room-nav-scroll {
  flex: 1;
  min-height: 0;
  overflow: auto;
  scrollbar-width: thin;
}
.room-nav-bottom {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  flex: none;
}
.account-trigger {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 9px 7px;
  background: transparent;
  border: 0;
  border-radius: 8px;
  text-align: left;
  color: var(--ink);
}
.account-trigger:hover {
  background: var(--soft);
}
.account-trigger .avatar,
.account-heading .avatar {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--gold-soft);
  color: var(--gold);
  font: 600 11px var(--sans);
  flex: none;
}
.account-trigger-name {
  flex: 1;
  min-width: 0;
}
.account-trigger-name strong {
  font-size: 12px;
  display: block;
}
.account-trigger-name small {
  font-size: 9px;
  display: block;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.account-chevron {
  font-size: 13px;
  color: var(--muted);
}
.space-management-trigger {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  margin-top: 18px;
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  width: 100%;
  text-align: left;
  font-size: 12px;
  border-radius: 6px;
}
.space-management-trigger svg {
  width: 16px;
  height: 16px;
}
.space-management-trigger span:last-child {
  margin-left: auto;
}
.space-management-trigger:hover,
.space-management-trigger.active {
  background: var(--soft);
  color: var(--gold);
}
.template-nav {
  margin-top: 5px;
  font-size: 11px;
}
.shell-popover {
  position: fixed;
  inset: auto;
  margin: 0;
  width: 306px;
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 8px;
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 42px #29271929;
  font: 12px/1.6 var(--sans);
  white-space: normal;
}
.shell-popover::backdrop {
  background: transparent;
}
.account-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 10px 14px;
  border-bottom: 1px solid var(--line);
}
.account-heading strong {
  display: block;
  font-size: 14px;
}
.account-heading small {
  display: block;
  color: var(--muted);
  font-size: 10px;
}
.account-usage,
.account-credit,
.account-preferences,
.account-connections {
  padding: 12px 10px;
  border-bottom: 1px solid var(--line);
}
.account-section-label {
  font-size: 10px;
  color: var(--muted);
  margin-bottom: 6px;
}
.account-room-name {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
  margin-bottom: 7px;
}
.account-usage .badge {
  font-size: 9px;
  margin-bottom: 8px;
}
.account-stat {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}
.account-stat strong {
  font-size: 11px;
  white-space: nowrap;
}
.account-usage small,
.account-credit small {
  display: block;
  font-size: 10px;
  color: var(--muted);
  line-height: 1.7;
  margin-top: 4px;
}
.account-usage meter {
  display: block;
  width: 100%;
  height: 8px;
  margin: 7px 0;
  appearance: none;
  background: var(--soft);
  border-radius: 5px;
  border: 0;
}
.account-usage meter::-webkit-meter-bar {
  background: var(--soft);
  border: 0;
  height: 5px;
}
.account-usage meter::-webkit-meter-optimum-value {
  background: var(--gold);
}
.account-usage meter::-moz-meter-bar {
  background: var(--gold);
}
.account-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  background: transparent;
  border: 0;
  border-radius: 6px;
  padding: 9px 10px;
  text-align: left;
  color: var(--ink);
  font-size: 12px;
}
.account-link:hover {
  background: var(--soft);
}
.account-usage .account-link {
  padding: 6px 0 0;
  color: var(--gold);
  font-size: 11px;
}
.account-setting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 9px;
}
.account-setting > span {
  font-size: 11px;
}
.account-setting .language-switch {
  background: var(--soft);
}
.account-setting .language-switch button {
  font-size: 11px;
  padding: 4px 10px;
}
.appearance-switch {
  display: flex;
  gap: 2px;
  background: var(--soft);
  padding: 2px;
  border-radius: 8px;
}
.appearance-switch button {
  font: inherit;
  font-size: 10px;
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 5px 8px;
  border-radius: 6px;
}
.appearance-switch button[aria-pressed=true] {
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 1px 3px #0002;
}
.account-note {
  font-size: 10px;
  color: var(--muted);
  padding: 4px 10px;
  line-height: 1.7;
}
.account-connections {
  padding: 6px 0;
}
.account-ai-spaces summary {
  cursor: pointer;
  padding: 8px 10px;
  list-style: none;
  display: flex;
  justify-content: space-between;
}
.account-ai-spaces summary::-webkit-details-marker {
  display: none;
}
.account-ai-spaces > small {
  display: block;
  padding: 0 10px;
  font-size: 10px;
  color: var(--muted);
}
.account-ai-spaces[open] {
  max-height: 185px;
  overflow: auto;
}
.account-exit {
  justify-content: flex-start;
  border-top: 1px solid var(--line);
  border-radius: 0;
  margin-top: 4px;
  color: var(--muted);
}
.space-management {
  padding: 15px 8px 8px;
}
.space-management > .account-room-name,
.space-management > .account-section-label {
  padding: 0 10px;
}
.space-management .room-nav-item {
  padding: 10px;
  justify-content: flex-start;
}
.space-management .room-nav-item span {
  display: inline !important;
  font-size: 12px !important;
}
.space-management .room-nav-item svg {
  display: block;
}
@media (min-width: 801px) {
  .room-nav {
    height: calc(100dvh - 41px);
    overflow: visible;
  }
  .room-nav-scroll > .room-brand {
    display: block;
  }
}
@media (max-width: 1050px) and (min-width: 801px) {
  .account-trigger {
    justify-content: center;
    padding: 8px 0;
  }
  .account-trigger-name,
  .account-chevron,
  .space-management-trigger > span {
    display: none;
  }
  .space-management-trigger {
    justify-content: center;
    padding: 12px 5px;
  }
  .room-nav-bottom {
    padding-top: 8px;
  }
}
@media (max-width: 800px) {
  .room-nav {
    overflow: visible;
    gap: 8px;
  }
  .room-nav-scroll {
    display: flex;
    align-items: center;
    overflow: auto;
    gap: 5px;
  }
  .room-nav-scroll .room-brand {
    flex: none;
  }
  .room-nav-scroll > .room-nav-item {
    flex: none;
  }
  .room-nav-bottom {
    display: block;
    padding: 0;
    border: 0;
    margin: 0;
    flex: none;
  }
  .account-trigger {
    width: 36px;
    padding: 2px;
  }
  .account-trigger-name,
  .account-chevron {
    display: none;
  }
  .space-management-trigger {
    margin: 0;
    padding: 8px;
    width: 32px;
    flex: none;
    border: 0;
  }
  .space-management-trigger > span {
    display: none;
  }
  .space-management-trigger svg {
    display: block;
  }
  .room-nav-scroll > .template-nav {
    display: none;
  }
  .shell-popover {
    width: 306px;
  }
  .account-setting {
    gap: 5px;
  }
}
:root[data-ui-theme=dark] {
  color-scheme: dark;
  --ink:#e4e2db;
  --muted:#aaa99f;
  --paper:#1c201f;
  --surface:#252a28;
  --soft:#303632;
  --line:#454b44;
  --gold:#d8b36f;
  --gold-soft:#3c3527;
  --green:#a4c5ac;
  --green-soft:#293d31;
  --red:#e3a397;
  --red-soft:#462f2b;
  --blue:#a5bdce;
  --blue-soft:#2b3941;
}
[data-ui-theme=dark] .room-app,
[data-ui-theme=dark] .room-main {
  background: var(--paper);
}
[data-ui-theme=dark] :is(.room-nav, .room-top, .room-switch-menu, .room-table-wrap, .space-row, .space-directory, .workbench-actions, .workspace-section, .panel, .full-demo-banner, .trial-card, .preflight-card, .dialog, .dialog-head, .dialog-body, .ts-control, .ts-dropdown, input, textarea, select) {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line);
}
[data-ui-theme=dark] :is(.room-nav-item, .room-top a, .room-switcher summary, .room-breadcrumb .crumb-room, .room-breadcrumb [aria-current], .space-row-title, .room-heading p) {
  color: var(--ink);
}
[data-ui-theme=dark] :is(.room-nav-item.active, .room-nav-item:hover, .room-switcher summary:hover, .room-switch-option:hover, .room-switch-option.selected, .room-nav-secondary:hover, .room-nav-secondary.active, .language-switch button[aria-pressed=true]) {
  background: var(--soft);
  color: var(--gold);
}
[data-ui-theme=dark] :is(.room-table th, .room-table td, .room-table tr, .surface-tabs, .entitlement-strip, .input-overview) {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line);
}
[data-ui-theme=dark] :is(.paper, .document, .parsed-section, .evidence-doc, .sample-evidence) {
  --ink:#25251f;
  --muted:#706f63;
  --paper:#f6f4ef;
  --surface:#fffefa;
  --soft:#edeae2;
  --line:#dddacf;
  --gold:#9a722e;
  --gold-soft:#f3e8d2;
  color: #25251f;
  background: #fffefa;
  color-scheme: light;
}
[data-ui-theme=dark] :is(.demo-bar, .room-count, .program-monogram, .room-welcome, .folder-tree, .document-toolbar, .room-footnote, .reader, .reader-tree, .reader-toolbar, .version-strip, .review-panel, .discussion-card, .thread-reply, .mapping, .upload-slot, .receipt-note, .browser-filters, .action-card, .baseline-counts, .workbench-rooms .room-card, .issue-followup, .request-next-step, .delivery-readiness .next-step-line, .first-value, .document-tool-rail, .draft-links, .editor-provenance, .editor-frame, .editor-toolbar, .editor-panel, .edit-proposal, .collaboration-bar, .draft-thread, .representation-tabs, .understand-index, .data-facts div, .schema-detail, .sql-detail, .analysis-history, .revision-history, .analysis-workbench form, .analysis-result, .sql-detail pre, .sample-loader, .derived-filter select, .parse-health span, .evidence-snapshot, .review-next, .document-context, .opinion-row, .application-section, .application-limitations, .application-quote, .application-status, .application-wait, .review-example-card, .review-example-load, .preflight-ready) {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line);
}
[data-ui-theme=dark] :is(.notice, .tree-item.selected, .reader-file.selected, .outline-link.selected, .region-link.selected, .space-row:hover) {
  background: var(--soft);
  color: var(--ink);
  border-color: var(--line);
}
[data-ui-theme=dark] :is(.field input, .field textarea, .field select, .demo-bar select, .ts-wrapper .ts-control, .ts-dropdown .option, .ts-control input) {
  background: var(--surface);
  color: var(--ink);
}
[data-ui-theme=dark] .button.primary {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--paper);
}
[data-ui-theme=dark] .language-switch button {
  color: var(--muted);
}
[data-ui-theme=dark] .room-app :is(.small, small, .muted, .scope-text, .next-step-line, .room-empty, .room-nav-secondary, .room-breadcrumb, .account-note) {
  color: var(--muted);
}
[data-ui-theme=dark] :is(.review-paper, .writing-paper) {
  --ink:#25251f;
  --muted:#706f63;
  --paper:#f6f4ef;
  --surface:#fffefa;
  --soft:#edeae2;
  --line:#dddacf;
  --gold:#9a722e;
  --gold-soft:#f3e8d2;
  color: #25251f;
  background: #fffefa;
  color-scheme: light;
}
