/* Shared document library. Load after the portal theme and phone styles. */
/* Office deposits stay in a dedicated dialog until the user confirms the send. */
dialog.office-deposit-dialog {
  box-sizing: border-box;
  width: min(620px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 28px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #d4dee7;
  border-radius: 18px;
  color: #102944;
  background: #fff;
  box-shadow: 0 24px 80px rgba(16, 41, 68, .24);
  font: inherit;
  font-size: 14px;
  line-height: 1.55;
}
dialog.office-deposit-dialog::backdrop { background: rgba(16, 41, 68, .58); }
.office-deposit-dialog :is(form, .office-deposit-confirmation) { display: grid; gap: 18px; min-width: 0; margin: 0; }
.office-deposit-dialog header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.office-deposit-dialog h2 { margin: 0; color: #102944; font-size: 24px; line-height: 1.3; overflow-wrap: anywhere; }
.office-deposit-dialog p { margin: 0; color: #526477; overflow-wrap: anywhere; }
.office-deposit-dialog .office-deposit-eyebrow { margin: 0 0 5px; color: #536b80; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.office-deposit-dialog header > button { flex: 0 0 36px; width: 36px; height: 36px; padding: 0; border: 1px solid #d4dee7; border-radius: 8px; color: #40566b; background: #fff; font-size: 22px; cursor: pointer; }
.office-deposit-dialog .office-deposit-file { display: flex; align-items: center; gap: 14px; min-width: 0; padding: 16px; border: 1px solid #d9e3ec; border-radius: 12px; background: #f5f8fb; }
.office-deposit-dialog .office-deposit-file > div { display: grid; gap: 4px; min-width: 0; }
.office-deposit-dialog .office-deposit-file strong { font-size: 16px; overflow-wrap: anywhere; }
.office-deposit-dialog .office-deposit-file :is(small, span:not(.office-deposit-file-type)) { color: #536477; font-size: 12px; }
.office-deposit-dialog .office-deposit-file-type { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 50px; border-radius: 8px; color: #245c9a; background: #e4edf9; font-size: 20px; font-weight: 750; }
.office-deposit-dialog dl { display: grid; gap: 12px; margin: 0; }
.office-deposit-dialog dl > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; }
.office-deposit-dialog dt { color: #536477; font-size: 13px; }
.office-deposit-dialog dd { min-width: 0; margin: 0; color: #102944; font-weight: 650; overflow-wrap: anywhere; }
.office-deposit-dialog .office-deposit-unsent { padding: 11px 13px; border-left: 3px solid #5b8cb9; border-radius: 5px; color: #31506e; background: #f0f6fb; font-size: 13px; }
.office-deposit-dialog label { display: grid; gap: 7px; min-width: 0; color: #102944; font-weight: 650; }
.office-deposit-dialog label small { color: #6a7887; font-size: 12px; font-weight: 400; }
.office-deposit-dialog :is(select, textarea) { box-sizing: border-box; display: block; width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid #acbecf; border-radius: 8px; color: #102944; background: #fff; font: inherit; font-weight: 400; }
.office-deposit-dialog textarea { min-height: 86px; resize: vertical; }
.office-deposit-dialog :is(select, textarea):focus { outline: 3px solid #b9d5ee; outline-offset: 2px; border-color: #3779b4; }
.office-deposit-dialog :is([data-deposit-recipient-hint], .office-deposit-limits) { font-size: 12px; line-height: 1.5; }
.office-deposit-dialog .office-deposit-error { color: #a13232; font-size: 13px; }
.office-deposit-dialog :is(.office-deposit-error, .office-deposit-limits):empty { display: none; }
.office-deposit-dialog footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; padding-top: 8px; border-top: 1px solid #e5ebf0; }
.office-deposit-dialog footer button { min-height: 44px; padding: 10px 16px; border: 1px solid #bbcbd8; border-radius: 8px; color: #102944; background: #fff; font: inherit; font-weight: 650; cursor: pointer; }
.office-deposit-dialog footer .primary-action { border-color: #78a71f; color: #fff; background: #78a71f; }
.office-deposit-dialog button:disabled { opacity: .55; cursor: wait; }
.office-deposit-dialog button[hidden] { display: none; }
.office-deposit-dialog .office-deposit-check { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; color: #396327; background: #eaf5df; font-size: 24px; font-weight: 700; }
.office-deposit-dialog .office-deposit-receipt { display: grid; gap: 16px; padding: 18px; border: 1px solid #b6d5af; border-radius: 12px; background: #f2f9ef; }
.office-deposit-dialog .office-deposit-receipt > strong { color: #234f29; font-size: 16px; overflow-wrap: anywhere; }
.office-deposit-dialog .office-deposit-receipt p { color: #3c5b3f; font-size: 13px; }
@media (max-width: 600px) {
  dialog.office-deposit-dialog { width: calc(100vw - 20px); max-width: calc(100vw - 20px); max-height: calc(100dvh - 20px); padding: 20px 16px; border-radius: 14px; }
  .office-deposit-dialog :is(form, .office-deposit-confirmation) { gap: 14px; }
  .office-deposit-dialog h2 { font-size: 21px; }
  .office-deposit-dialog dl > div { grid-template-columns: 1fr; gap: 2px; }
  .office-deposit-dialog .office-deposit-file { padding: 13px; gap: 10px; }
  .office-deposit-dialog footer { flex-direction: column-reverse; }
  .office-deposit-dialog footer button { width: 100%; }
}

#app_view #view_office {
  --office-library-ink: #102944;
  --office-library-muted: #536477;
  --office-library-line: #dce4e9;
  --office-library-soft: #f4f7f9;
  --office-library-accent: #72a61f;
  --office-library-green-ink: #426619;
}

#app_view #view_office .office-page {
  min-width: 0 !important;
  gap: 16px;
}

#app_view #view_office .office-suite-header.portal-page-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  margin-bottom: 0 !important;
  padding: 20px !important;
  border: 1px solid var(--office-library-line);
  border-radius: 14px;
  background: #fff;
}

#app_view #view_office .office-suite-identity,
#app_view #view_office .office-suite-identity > div {
  min-width: 0;
}

#app_view #view_office .office-suite-identity h2 {
  color: var(--office-library-ink);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

#app_view #view_office #office_subtitle {
  display: block !important;
  max-width: 680px;
  margin-top: 7px;
  color: var(--office-library-muted);
  font-size: 13px;
  line-height: 1.5;
}

#app_view #view_office .office-kind-switch {
  grid-column: 1 / -1;
  grid-row: auto;
  justify-self: start;
}

#app_view #view_office .office-header-actions {
  display: flex !important;
  align-items: stretch;
  flex-wrap: wrap !important;
  justify-content: flex-end;
  gap: 8px !important;
  min-width: 0;
}

#app_view #view_office .office-header-actions .office-new-button,
#app_view #view_office .office-header-actions .office-import-button,
#app_view #view_office .office-header-actions .office-new-button:not(.is-active) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 14px !important;
  border: 1px solid var(--office-library-line);
  border-radius: 8px;
  color: var(--office-library-ink) !important;
  background: #fff !important;
  font-size: 13px;
  line-height: 1.3;
  white-space: normal !important;
}

#app_view #view_office .office-header-actions .office-new-button:hover,
#app_view #view_office .office-header-actions .office-import-button:hover {
  border-color: #a8bac8;
  background: var(--office-library-soft) !important;
}

#app_view #view_office .office-library-context,
#app_view #view_office .office-library-notice {
  padding: 13px 16px;
  border: 1px solid #d7e3cf;
  border-left: 3px solid var(--office-library-accent);
  border-radius: 9px;
  color: #334d27;
  background: #f5f9f1;
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

#app_view #view_office .office-library-context p,
#app_view #view_office .office-library-notice p {
  margin: 0;
}

#app_view #view_office .office-library-notice.is-warning {
  border-color: #e8d5a3;
  border-left-color: #a76b0e;
  color: #755013;
  background: #fff9eb;
}

#app_view #view_office .office-library-notice.is-error {
  border-color: #ebc6c6;
  border-left-color: #b44747;
  color: #8d3030;
  background: #fff5f5;
}

#app_view #view_office .office-library-toolbar {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--office-library-line);
  border-radius: 12px;
  background: #fff;
}

#app_view #view_office .office-library-toolbar > label {
  display: grid;
  flex: 1 1 160px;
  gap: 6px;
  min-width: 0;
  color: var(--office-library-muted);
  font-size: 12px;
  font-weight: 650;
}

#app_view #view_office .office-library-toolbar > label:has(#office_search) {
  flex: 2 1 240px;
}

#app_view #view_office .office-library-toolbar input,
#app_view #view_office .office-library-toolbar select,
#app_view #view_office .office-library-form input,
#app_view #view_office .office-library-form select,
#app_view #view_office .office-library-form textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #bbc9d4;
  border-radius: 8px;
  color: var(--office-library-ink);
  background: #fff;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
}

#app_view #view_office .office-library-toolbar > #office_search {
  flex: 2 1 240px;
  width: auto;
}

#app_view #view_office .office-library-toolbar > select {
  flex: 1 1 150px;
  width: auto;
}

#app_view #view_office .office-library-toolbar button,
#app_view #view_office .office-library-row-actions button,
#app_view #view_office .office-library-actions button,
#app_view #view_office .office-library-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  max-width: 100%;
  padding: 9px 13px;
  border: 1px solid #cbd6df;
  border-radius: 8px;
  color: var(--office-library-ink);
  background: #fff;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
  text-align: center;
  white-space: normal;
  cursor: pointer;
}

#app_view #view_office .office-library-toolbar button:hover,
#app_view #view_office .office-library-row-actions button:hover,
#app_view #view_office .office-library-actions button:hover,
#app_view #view_office .office-library-form button:hover {
  background: #edf3f7;
  border-color: #a6b9c8;
}

#app_view #view_office .office-library-actions .primary-action,
#app_view #view_office .office-library-form .primary-action {
  border-color: var(--office-library-ink);
  color: #fff;
  background: var(--office-library-ink);
}

#app_view #view_office .office-library-row-actions .is-danger,
#app_view #view_office .office-library-actions .is-danger {
  color: #9b3232;
}

#app_view #view_office :is(.office-library-toolbar, .office-library-row-actions, .office-library-actions, .office-library-form) button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

#app_view #view_office :is(button, input, select, textarea, summary, a):focus-visible {
  outline: 3px solid #2963a5;
  outline-offset: 3px;
}

#app_view #view_office .office-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

#app_view #view_office .office-sidebar,
#app_view #view_office .office-editor-panel {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  border: 1px solid var(--office-library-line) !important;
  border-radius: 12px !important;
  background: #fff;
  box-shadow: 0 3px 12px rgba(16, 41, 68, .035);
}

#app_view #view_office .office-layout:not(.has-selection) .office-editor-panel,
#app_view #view_office .office-layout.has-selection .office-sidebar {
  display: none !important;
}

#app_view #view_office .office-layout:not(.has-selection) .office-sidebar {
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: start;
  padding: 0;
  overflow: hidden;
}

#app_view #view_office .office-layout.has-selection .office-editor-panel {
  display: block !important;
  min-height: 650px !important;
  padding: 0;
  overflow: visible;
}

#app_view #view_office .office-sidebar-heading {
  min-height: 64px !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--office-library-line);
}

#app_view #view_office .office-sidebar-heading span {
  color: var(--office-library-ink);
  font-size: 15px;
}

#app_view #view_office .office-sidebar-heading small {
  color: var(--office-library-muted);
  font-size: 12px;
}

#app_view #view_office .office-document-list {
  display: grid;
  gap: 0;
  min-width: 0;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

#app_view #view_office .office-library-row {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  padding: 10px 16px;
  border-bottom: 1px solid #e6ecf0;
}

#app_view #view_office .office-library-row:last-child {
  border-bottom: 0;
}

#app_view #view_office .office-library-row:hover {
  background: #f8fafc;
}

#app_view #view_office .office-library-row .office-document-item {
  display: grid;
  flex: 1 1 0;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: auto;
  min-width: 0;
  min-height: 76px !important;
  padding: 8px !important;
  border: 1px solid transparent;
  color: var(--office-library-ink);
  background: transparent;
  box-shadow: none;
  text-align: left;
}

#app_view #view_office .office-library-row .office-document-item:hover {
  border-color: #cbd9e4;
  background: #fff;
}

#app_view #view_office .office-document-type {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 44px;
  border-radius: 7px;
  font-size: 16px;
}

#app_view #view_office .office-document-copy {
  gap: 5px;
  min-width: 0;
}

#app_view #view_office .office-document-copy strong {
  color: var(--office-library-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

#app_view #view_office .office-document-copy small {
  color: var(--office-library-muted);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

#app_view #view_office .office-document-chevron {
  display: none;
}

#app_view #view_office .office-library-row-actions,
#app_view #view_office .office-library-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

#app_view #view_office .office-library-row-actions {
  flex: 0 1 auto;
  max-width: 48%;
}

#app_view #view_office .office-library-status {
  display: inline-flex;
  align-items: center;
  align-self: start;
  justify-self: start;
  width: fit-content;
  max-width: 100%;
  padding: 3px 8px;
  border: 1px solid #d9e2e9;
  border-radius: 6px;
  color: #4b6073;
  background: #f3f6f9;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.5;
  white-space: normal;
}

#app_view #view_office .office-library-status.is-sent,
#app_view #view_office .office-library-status.is-success {
  border-color: #d6e5c8;
  color: var(--office-library-green-ink);
  background: #f0f7e9;
}

#app_view #view_office .office-library-empty,
#app_view #view_office .office-native-placeholder {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 12px;
  min-width: 0;
  min-height: 280px;
  padding: 40px 24px;
  color: var(--office-library-muted);
  background: #fff;
  text-align: center;
}

#app_view #view_office .office-library-empty h3,
#app_view #view_office .office-native-placeholder h3 {
  margin: 0;
  color: var(--office-library-ink);
  font-size: 19px;
  line-height: 1.4;
}

#app_view #view_office .office-library-empty p,
#app_view #view_office .office-native-placeholder p {
  max-width: 590px;
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

#app_view #view_office .office-library-form {
  display: grid;
  gap: 18px;
  width: 100%;
  min-width: 0;
  color: var(--office-library-ink);
}

#app_view #view_office .office-library-dialog {
  box-sizing: border-box;
  width: min(560px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 24px;
  overflow: auto;
  border: 1px solid #cfdae2;
  border-radius: 16px;
  color: var(--office-library-ink);
  background: #fff;
  box-shadow: 0 24px 80px rgba(16, 41, 68, .22);
}

#app_view #view_office .office-library-dialog::backdrop {
  background: rgba(16, 41, 68, .5);
}

#app_view #view_office .office-library-dialog header,
#app_view #view_office .office-library-dialog-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
}

#app_view #view_office .office-library-dialog :is(h2, h3) {
  margin: 0;
  color: var(--office-library-ink);
  font-size: 21px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#app_view #view_office .office-library-dialog p {
  margin: 0;
  color: var(--office-library-muted);
  font-size: 14px;
  line-height: 1.65;
}

#app_view #view_office .office-library-dialog footer,
#app_view #view_office .office-library-dialog-footer {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 8px;
}

#app_view #view_office .office-library-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
}

#app_view #view_office .office-library-form small {
  color: var(--office-library-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}

#app_view #view_office .office-native-frame,
#app_view #view_office .office-native-frame iframe {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: calc(100dvh - 230px);
  min-height: 650px;
  border: 0;
  background: #f4f6f9;
}

#app_view #view_office .office-native-placeholder {
  min-height: 480px;
}

#app_view #view_office .office-document-chrome {
  height: auto !important;
  min-height: 0 !important;
  border-radius: 12px;
}

#app_view #view_office .office-document-chrome .office-editor-head {
  display: flex !important;
  align-items: flex-start;
  flex-direction: column;
  gap: 12px !important;
  padding: 16px !important;
  border-radius: 12px 12px 0 0;
}

#app_view #view_office .office-document-titlebar {
  display: flex !important;
  flex-wrap: wrap;
  flex: 0 1 auto;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0;
}

#app_view #view_office .office-title-field {
  flex: 1 1 220px;
  min-width: 0;
  margin: 0;
}

#app_view #view_office .office-title-field input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  border: 1px solid #c9d5df;
  background: #fff;
}

#app_view #view_office .office-mobile-back {
  display: inline-flex !important;
  align-items: center;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid #cbd6df;
  border-radius: 8px;
  color: var(--office-library-ink);
  background: #f5f8fa;
  font-size: 13px;
  font-weight: 650;
}

#app_view #view_office .office-editor-statusline {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
}

#app_view #view_office .office-save-state,
#app_view #view_office .office-version-chip {
  display: inline-flex !important;
  color: var(--office-library-muted);
  font-size: 12px;
  line-height: 1.5;
  white-space: normal;
}

#app_view #view_office .office-dirty-chip:not(.hidden) {
  display: inline-flex !important;
}

#app_view #view_office .office-document-chrome .office-editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100% !important;
  max-width: none !important;
}

#app_view #view_office .office-editor-commandbar {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px !important;
  min-width: 0;
  max-width: 100%;
  overflow: visible !important;
}

#app_view #view_office .office-editor-commandbar > button,
#app_view #view_office .office-editor-commandbar > .office-file-menu,
#app_view #view_office .office-file-menu > summary {
  min-width: 0 !important;
  min-height: 42px;
  width: auto !important;
  font-size: 13px;
  line-height: 1.4;
  white-space: normal;
}

#app_view #view_office .office-editor-commandbar > .office-share-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-color: var(--office-library-ink);
  color: #fff;
  background: var(--office-library-ink);
}

#app_view #view_office .office-file-menu {
  margin-left: 0;
}

#app_view #view_office .office-file-menu > div {
  width: min(240px, calc(100vw - 48px));
}

#app_view #view_office .office-file-menu > div > button {
  min-height: 40px;
  padding: 9px 10px;
  font-size: 13px;
  line-height: 1.4;
  white-space: normal;
}

#app_view #view_office .office-library-history {
  display: grid;
  gap: 0;
  padding: 0;
  list-style: none;
}

#app_view #view_office .office-library-history > * {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid var(--office-library-line);
  color: var(--office-library-muted);
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

#app_view #view_office .office-library-history strong {
  color: var(--office-library-ink);
}

@media (max-width: 1050px) {
  #app_view #view_office .office-suite-header.portal-page-header {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #app_view #view_office .office-header-actions {
    justify-content: flex-start;
  }

  #app_view #view_office .office-library-row {
    flex-wrap: wrap;
    gap: 4px;
  }

  #app_view #view_office .office-library-row .office-document-item {
    flex-basis: 100%;
  }

  #app_view #view_office .office-library-row-actions {
    justify-content: flex-start;
    max-width: 100%;
    padding: 0 8px 8px 60px;
  }
}

@media (max-width: 600px) {
  #app_view #view_office .office-page {
    gap: 12px;
  }

  #app_view #view_office .office-suite-header.portal-page-header {
    gap: 14px !important;
    padding: 16px 12px !important;
  }

  #app_view #view_office .office-suite-identity {
    grid-column: auto !important;
    gap: 9px;
  }

  #app_view #view_office .office-suite-identity h2 {
    font-size: 20px !important;
  }

  #app_view #view_office .office-app-mark {
    flex: 0 0 36px;
    width: 36px;
    height: 40px;
  }

  #app_view #view_office .office-header-actions .office-new-button {
    flex: 1 1 120px;
    min-height: 46px !important;
  }

  #app_view #view_office .office-header-actions > button {
    min-height: 46px !important;
  }

  #app_view #view_office .office-library-toolbar {
    gap: 12px;
    padding: 12px;
  }

  #app_view #view_office .office-library-toolbar > label,
  #app_view #view_office .office-library-toolbar > label:has(#office_search),
  #app_view #view_office .office-library-toolbar > input,
  #app_view #view_office .office-library-toolbar > select {
    flex-basis: 100%;
    width: 100%;
  }

  #app_view #view_office .office-library-toolbar button {
    flex: 1 1 110px;
  }

  #app_view #view_office :is(.office-library-toolbar, .office-library-form) :is(input, select, textarea) {
    min-height: 46px;
    font-size: 16px;
  }

  #app_view #view_office :is(.office-library-toolbar, .office-library-row-actions, .office-library-actions, .office-library-form) button {
    min-height: 44px;
  }

  #app_view #view_office .office-library-context,
  #app_view #view_office .office-library-notice {
    padding: 12px;
  }

  #app_view #view_office .office-sidebar-heading {
    padding: 14px 12px !important;
  }

  #app_view #view_office .office-library-row {
    padding: 8px 6px;
  }

  #app_view #view_office .office-library-row .office-document-item {
    gap: 10px;
  }

  #app_view #view_office .office-library-row-actions {
    width: 100%;
    gap: 6px;
    padding: 0 8px 10px;
  }

  #app_view #view_office .office-library-row-actions button {
    flex: 1 1 100px;
  }

  #app_view #view_office .office-library-empty,
  #app_view #view_office .office-native-placeholder {
    padding: 28px 16px;
  }

  #app_view #view_office .office-document-chrome .office-editor-head {
    padding: 12px !important;
  }

  #app_view #view_office .office-title-field {
    flex: 1 1 160px;
  }

  #app_view #view_office .office-title-field input {
    min-height: 46px !important;
    font-size: 16px !important;
  }

  #app_view #view_office .office-editor-commandbar {
    width: 100%;
  }

  #app_view #view_office .office-editor-commandbar > button,
  #app_view #view_office .office-editor-commandbar > .office-file-menu {
    flex: 1 1 110px;
    min-height: 46px !important;
    margin: 0 !important;
  }

  #app_view #view_office .office-mobile-back,
  #app_view #view_office .office-file-menu > summary,
  #app_view #view_office .office-file-menu > div > button {
    min-height: 44px !important;
  }

  #app_view #view_office .office-native-frame,
  #app_view #view_office .office-native-frame iframe,
  #app_view #view_office .office-layout.has-selection .office-editor-panel {
    min-height: 480px !important;
  }

  #app_view #view_office .office-native-frame,
  #app_view #view_office .office-native-frame iframe {
    height: calc(100dvh - 180px);
  }

  #app_view #view_office .office-library-actions {
    justify-content: stretch;
  }

  #app_view #view_office .office-library-actions button {
    flex: 1 1 120px;
  }

  #app_view #view_office .office-library-dialog {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
    padding: 20px 16px;
    border-radius: 12px;
  }

  #app_view #view_office .office-library-dialog :is(h2, h3) {
    font-size: 19px;
  }

  #app_view #view_office .office-library-dialog footer button,
  #app_view #view_office .office-library-dialog-footer button {
    flex: 1 1 100px;
  }
}

/* Explicit visibility remains authoritative for application state. */
#app_view #view_office :is(.office-document-type, .office-kind-tab-mark, .office-app-mark).is-word {
  display: inline-flex !important;
  background: #e8f0fb !important;
  color: #24518b !important;
}

#app_view #view_office :is(.office-document-type, .office-kind-tab-mark).is-excel {
  display: inline-flex !important;
  background: #edf4e4 !important;
  color: #426619 !important;
}

#app_view #view_office .hidden,
#app_view #view_office [hidden] {
  display: none !important;
}

/* The tracking view reached after a deposit must also fit narrow phones. */
@media (max-width: 600px) {
  #app_view #view_documents,
  #app_view #view_documents .document-workbench-header {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  #app_view #view_documents .document-workbench-header > *,
  #app_view #view_documents .document-workbench-layout {
    min-width: 0;
    max-width: 100%;
  }
}

/* Working source versus deposited copy: status is readable without colour. */
#app_view #view_office .office-workflow-switch { display:flex; gap:12px; margin:22px 0 10px; }
#app_view #view_office .office-workflow-switch button { flex:1; display:grid; gap:5px; min-width:0; padding:16px 20px; text-align:left; border:1px solid #ccd9df; border-radius:12px; background:#fff; color:#233e4b; cursor:pointer; font:inherit; }
#app_view #view_office .office-workflow-switch button strong { font-size:17px; }
#app_view #view_office .office-workflow-switch button span { font-size:13px; }
#app_view #view_office .office-workflow-switch button.is-active { border-color:#24624f; background:#edf6f1; box-shadow:inset 4px 0 #24624f; }
#app_view #view_office .office-workflow-switch button:focus-visible { outline:3px solid #346ab5; outline-offset:3px; }
#app_view #view_office .office-collection-help { margin:8px 0 18px; color:#526575; font-size:14px; }
#app_view #view_office .office-working-status { display:block; margin:6px 0; color:#355f77; font-size:12px; font-weight:650; }
#app_view #view_office .office-document-list.is-deposited { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); gap:16px; padding:16px; }
#app_view #view_office .office-final-card { display:flex; flex-direction:column; min-width:0; gap:10px; padding:20px; border:1px solid #d5e0dc; border-radius:12px; background:#fff; overflow-wrap:anywhere; }
#app_view #view_office .office-final-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; align-items:center; }
#app_view #view_office .office-state-chip { padding:5px 9px; border-radius:6px; font-size:12px; font-weight:700; background:#e8f3ed; color:#245741; }
#app_view #view_office .office-treatment { font-size:12px; color:#56626e; }
#app_view #view_office .office-final-card h3 { margin:6px 0 0; font-size:18px; color:#183743; }
#app_view #view_office .office-final-card p { margin:0; font-size:13px; color:#566573; }
#app_view #view_office .office-final-card dl { display:grid; gap:8px; margin:8px 0; font-size:13px; }
#app_view #view_office .office-final-card dl>div { display:grid; grid-template-columns:95px minmax(0,1fr); gap:10px; }
#app_view #view_office .office-final-card dt { color:#62737c; }
#app_view #view_office .office-final-card dd { margin:0; color:#213b48; }
#app_view #view_office .office-final-source { padding:10px; background:#f5f7f8; border-radius:6px; }
#app_view #view_office .office-final-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:6px; }
#app_view #view_office .office-kind-tab { min-width:0; }
@media(max-width:600px) {
  #app_view #view_office .office-workflow-switch { gap:8px; }
  #app_view #view_office .office-workflow-switch button { padding:13px 11px; }
  #app_view #view_office .office-workflow-switch button strong { font-size:14px; }
  #app_view #view_office .office-workflow-switch button span { font-size:12px; }
  #app_view #view_office .office-kind-switch { flex-wrap:wrap; }
  #app_view #view_office .office-final-card { padding:15px; }
  #app_view #view_office .office-final-actions button { width:100%; min-height:44px; }
}

#app_view #view_office .office-header-actions .hidden { display:none !important; }
#app_view #view_office .office-suite-header { padding:24px; gap:16px; }

#app_view #view_office .office-library-toolbar .hidden { display:none !important; }

#app_view #view_office .office-header-actions .office-new-button.hidden:not(.is-active) { display:none !important; }
