/* Readability pass: typography is 15% larger; spreadsheet iframe stays independent. */
html { font-size: 18.4px; }
.sidebar { height: 72px; gap: 22px; padding-inline: clamp(18px, 2vw, 32px); }
.sidebar .brand { flex-basis: 178px; gap: 10px; }
.sidebar .brand b { font-size: 24px; }
.sidebar .brand img { width: 38px; height: 38px; }
.sidebar .main-nav { gap: 10px; }
.sidebar .nav-item { font-size: 16px; gap: 9px; padding-inline: 11px; }
.workspace { padding-top: 72px; }
.topbar { height: 72px; }
.user-copy b { font-size: 16px; }
.language-switch button { font-size: 13.8px; min-height: 34px; }
.button { min-height: 38px; line-height: 1.4; padding-inline: 14px; }
.button-large { min-height: 46px; }
.button-small { min-height: 34px; }
.icon-button { width: 36px; height: 36px; }
.field > input, .field > select, .field > textarea, .input-wrap input { min-height: 44px; line-height: 1.5; }
.input-wrap input { padding-left: 44px; padding-right: 44px; }
.login-view { height: calc(100dvh / .804); min-height: max(calc(100dvh / .804), 680px); }
.file-main { padding: 26px clamp(18px, 2.25vw, 36px); min-width: 0; }
.file-heading { min-height: 88px; gap: 16px; padding-bottom: 22px; }
.company-picker-title, .file-heading h1 { font-size: 25.3px; line-height: 1.35; }
.file-heading p { font-size: 15px; line-height: 1.6; }
.file-heading-actions { flex-shrink: 0; }
.file-heading-actions .button { min-height: 38px; font-size: 13.8px; padding-inline: 12px; }
.file-heading-actions p { font-size: 12.7px; }
.workspace-breadcrumb { font-size: 15px; gap: 10px; padding-block: 20px; line-height: 1.6; overflow-wrap: anywhere; }
.file-tabs button { font-size: 16.1px; padding-block: 12px; }
.file-tabs button span { font-size: 12.7px; }
.workspace-search { min-height: 39px; }
.workspace-search input { height: 37px; font-size: 16px; }
.workspace-bulk-toolbar { flex-wrap: wrap; min-height: 48px; gap: 10px 14px; font-size: 12.7px; padding: 12px 14px; }
.workspace-bulk-toolbar label { min-width: 0; line-height: 1.5; }
.workspace-bulk-toolbar input[type="checkbox"], .workspace-document-select, .workspace-folder-select { width: 18px; height: 18px; flex-shrink: 0; }
.workspace-list-head.has-file-actions { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 12px; padding: 10px 0; overflow: visible; align-items: start; }
.is-grid .workspace-list-head.has-file-actions { display: grid; grid-column: 1 / -1; }
.workspace-list-head.has-file-actions select { width: 100%; min-width: 0; min-height: 38px; font-size: 13.8px; }
.workspace-sort-actions { flex-wrap: wrap; gap: 7px; overflow: visible; min-width: 0; }
.workspace-sort-actions .button { font-size: 12.7px; min-height: 36px; padding: 7px 10px; white-space: normal; text-align: left; }
.workspace-sort-actions .ui-icon { font-size: 16px; flex-shrink: 0; }
.workspace-sort-actions .file-permission-note { flex-basis: 100%; margin: 2px 4px 0; font-size: 12.7px; white-space: normal; text-align: left; }
.workspace-document { min-height: 60px; padding: 11px 12px; }
.workspace-document-name { gap: 12px; }
.workspace-document-name b { font-size: 15px; line-height: 1.5; }
.workspace-document-name small { font-size: 11.5px; line-height: 1.5; }
.workspace-file-icon { width: 33px; height: 38px; flex-shrink: 0; }
.workspace-file-icon > .ui-icon { font-size: 29px; }
.workspace-document-date { font-size: 12.7px; }
.workspace-file-count { font-size: 13.8px; }
.workspace-document .status, .file-detail .status { font-size: 11.5px; }
.workspace-folder b { font-size: 15px; line-height: 1.5; }
.workspace-folder small { font-size: 11.5px; }
.page-intro h2 { font-size: clamp(25px, 1.55vw, 30px); }
.page-intro p, .data-table td { font-size: 15px; line-height: 1.5; }
.data-table th { font-size: 12.7px; padding: 12px; }
.data-table td { padding: 12px; }
.panel-head h3 { font-size: 18.4px; }
.panel-head p { font-size: 13.8px; }
.login-info-table thead th { font-size: 13.8px; }
.login-info-table tbody td { font-size: 15px; }
.file-detail { padding: 22px 20px; }
.file-detail-heading h2 { font-size: 20.7px; }
.file-detail-title h3 { font-size: 17.25px; }
.file-properties { font-size: 15px; }
.file-login-info-heading h3, .file-detail.has-company-login-info .file-login-info-heading h3 { font-size: 16.1px; }
.file-login-info-group dt, .file-login-info-group dd, .file-login-info-heading p, .file-detail.has-company-login-info .file-login-info-heading p { font-size: 12.7px; line-height: 1.6; }
.file-login-info-group h4 { font-size: 11.5px; }
.company-login-info-action { font-size: 12.7px; min-height: 40px; }
@media (max-width: 1400px) {
  .sidebar { gap: 12px; padding-inline: 18px; }
  .sidebar .brand { flex-basis: 165px; }
  .sidebar .main-nav { gap: 3px; }
  .sidebar .nav-item { font-size: 15px; padding-inline: 9px; }
  .file-heading { flex-wrap: wrap; }
  .file-heading-actions { max-width: 100%; }
  .file-heading-actions > div { flex-wrap: wrap; }
}
@media (max-width: 1000px) {
  .sidebar { height: 104px; }
  .sidebar .brand { flex: 1 1 auto; }
  .sidebar .main-nav { height: 46px; }
  .workspace { padding-top: 104px; }
  .file-heading-actions p { text-align: left; }
  .file-detail { padding-inline: 20px; }
}
@media (max-width: 980px) {
  .login-view { height: auto; min-height: calc(100dvh / .804); }
  .login-form-panel { min-height: calc(100dvh / .804); }
}
@media (max-width: 650px) {
  html { font-size: 17.25px; }
  .sidebar { height: 100px; padding-inline: 12px; gap: 8px; }
  .sidebar .brand { height: 52px; }
  .sidebar .brand b { font-size: 22px; }
  .sidebar .brand img { width: 32px; height: 32px; }
  .sidebar .main-nav { height: 48px; }
  .sidebar .nav-item { font-size: 14px; min-width: 74px; max-width: none; }
  .workspace { padding-top: 100px; }
  .file-main { padding: 20px 14px; }
  .company-picker-title { font-size: 23px; }
  .file-heading { min-height: 0; }
  .file-toolbar { flex-wrap: wrap; gap: 12px; }
  .file-view-controls { flex-wrap: wrap; width: 100%; }
  .file-view-controls .workspace-search { flex: 1 1 180px; }
  .workspace-list-head.has-file-actions { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .workspace-list-head.has-file-actions select { width: 100%; min-width: 0; }
  .workspace-sort-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .workspace-sort-actions .button { width: 100%; min-width: 0; min-height: 40px; }
  .workspace-sort-actions .file-permission-note { grid-column: 1 / -1; }
  .workspace-document-name b { font-size: 14px; }
  .workspace-document-name small { font-size: 11.5px; }
  .workspace-bulk-toolbar .button { min-height: 40px; }
  .data-table td { font-size: 14px; }
}


/* Selected file actions stay in one horizontal row. */
.workspace-list-head.has-file-actions,
.is-grid .workspace-list-head.has-file-actions {
  display: flex;
  align-items: center;
  min-width: 0;
  width: 100%;
  gap: 0;
  overflow: hidden;
}
.workspace-list-head.has-file-actions .workspace-sort-actions {
  display: flex;
  flex: 1 1 auto;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
}
.workspace-list-head.has-file-actions .workspace-sort-actions > .button {
  display: inline-flex;
  flex: 0 0 auto;
  width: auto;
  min-width: max-content;
  white-space: nowrap;
}
.workspace-list-head.has-file-actions > span {
  display: none;
}
