.library-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.library-tools {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto minmax(170px, auto);
  gap: 14px;
  align-items: center;
  padding: 0 0 18px;
}
.library-tools label { display: block; margin-bottom: 6px; color: light-dark(#59647b, var(--web-muted)); font-size: .72rem; font-weight: 700; }
.library-tools input,.library-tools select { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid light-dark(#cbd2df, var(--web-border)); border-radius: 9px; background: light-dark(white, var(--web-surface)); }
.search-control { position: relative; }
.search-control input { padding-inline-end: 44px; }
#clear-document-search { position: absolute; inset-inline-end: 7px; top: 50%; width: 34px; height: 34px; margin-top: -17px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: light-dark(#536078, var(--web-muted)); font-size: 1.2rem; cursor: pointer; }
#clear-document-search:hover,#clear-document-search:focus-visible { background: light-dark(#eef2f8, var(--web-surface-subtle)); }
.filter-control { position: relative; }
.filter-control>summary { min-height: 46px; display: inline-flex; align-items: center; list-style: none; padding: 10px 16px; }
.filter-control>summary::-webkit-details-marker { display: none; }
.filter-icon { width: 17px; height: 17px; margin-inline-end: 8px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.filter-menu { position: absolute; top: calc(100% + 7px); right: 0; z-index: 35; min-width: 180px; padding: 7px; border: 1px solid light-dark(#dce2ed, var(--web-border)); border-radius: 10px; background: light-dark(#fff, var(--web-surface)); box-shadow: var(--shadow); }
.filter-menu button { width: 100%; padding: 9px 11px; border: 0; border-radius: 7px; background: transparent; color: light-dark(#35435f, var(--web-muted)); text-align: start; cursor: pointer; }
.filter-menu button:hover,.filter-menu button:focus-visible,.filter-menu button.active { background: light-dark(#edf1ff, var(--web-surface-subtle)); color: light-dark(#2448b6, var(--web-link)); }
.filter-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-inline-start: 7px; padding: 0 6px; border-radius: 99px; background: #315bea; color: #fff; font-size: .68rem; font-weight: 800; }
.filter-count[hidden],.active-filter-bar[hidden],.library-results-summary[hidden] { display: none !important; }
.segmented { grid-column: 1/-1; display: flex; gap: 24px; flex-wrap: wrap; padding: 0; border: 0; border-bottom: 1px solid light-dark(#dfe4ed, var(--web-border)); border-radius: 0; background: transparent; }
.segmented button { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; margin-bottom: -1px; padding: 7px 1px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; box-shadow: none; color: light-dark(#566174, var(--web-muted)); font-size: .78rem; font-weight: 700; cursor: pointer; }
.segmented button.active { border-bottom-color: #315bea; background: transparent; box-shadow: none; color: light-dark(#2448b6, var(--web-link)); }
.segmented [data-library-count] { display: inline-grid; place-items: center; min-width: 24px; height: 22px; padding: 0 7px; border-radius: 99px; background: light-dark(#eef1f6, var(--web-surface-subtle)); color: light-dark(#657086, var(--web-muted)); font-size: .68rem; }
.segmented button.active [data-library-count] { background: light-dark(#e4eaff, var(--web-selection-surface)); color: light-dark(#2448b6, var(--web-link)); }
.active-filter-bar { grid-column: 1/-1; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.active-filter-label { color: light-dark(#687188, var(--web-muted)); font-size: .72rem; font-weight: 700; }
.active-filter-chips { display: flex; gap: 7px; flex-wrap: wrap; }
.active-filter-chip { min-height: 34px; padding: 6px 10px; border: 1px solid light-dark(#c6d2ee, var(--web-border)); border-radius: 99px; background: light-dark(#f1f5ff, var(--web-surface-subtle)); color: light-dark(#2f51b6, var(--web-link)); font-size: .73rem; font-weight: 700; cursor: pointer; }
.library-results-summary { grid-column: 1/-1; margin: -2px 0 0; color: light-dark(#687188, var(--web-muted)); font-size: .76rem; }
.favorite-toggle[aria-pressed="true"] { color: light-dark(#8a6411, var(--web-warning)); }

/* Compact document identity with quiet, labeled high-frequency actions. */
.table-head,.document-row {
  grid-template-columns: minmax(0, 1fr) 100px 220px;
  gap: 16px;
}
.table-head { padding: 8px 18px; border: 1px solid var(--border); border-radius: 13px 13px 0 0; background: light-dark(#f9fafe, var(--web-surface-subtle)); font-size: .72rem; font-weight: 500; text-transform: none; letter-spacing: normal; }
.documents { border: 1px solid var(--border); border-top: 0; border-radius: 0 0 13px 13px; background: light-dark(#fff, var(--web-surface)); }
.document-row { min-height: 72px; padding: 10px 18px; align-items: center; transition: background-color .15s ease; }
.document-row:hover,.document-row:focus-within { background: light-dark(#fbfcff, var(--web-surface)); }
.document-name { align-items: center; gap: 10px; }
#library .doc-icon { width: 34px; height: 36px; flex: 0 0 34px; font-size: .68rem; color: var(--web-muted); background: var(--web-surface-subtle); }
.document-identity { display: grid; justify-items: start; gap: 3px; min-width: 0; color: inherit; text-align: start; }
.document-identity-action { width: 100%; min-height: 44px; margin: -5px; padding: 5px; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.document-identity-action:hover { background: light-dark(#f1f4fb, var(--web-surface-subtle)); }
.document-title { color: light-dark(#172033, var(--web-ink)); font-size: .88rem; overflow-wrap: anywhere; }
.document-meta { color: var(--muted); font-size: .72rem; }
.document-context { display: flex; align-items: center; gap: 4px 7px; flex-wrap: wrap; }
.document-meta::after { content: '·'; margin-inline-start: 7px; }
.relationship-label { color: var(--web-muted); font-size: .72rem; font-weight: 400; }
.sharer-email { direction: ltr; unicode-bidi: isolate; color: light-dark(#687188, var(--web-muted)); font-size: .7rem; }
.classification-label { padding: 2px 7px; border-radius: 99px; background: light-dark(#f0f2f7, var(--web-surface-subtle)); color: light-dark(#556178, var(--web-muted)); font-size: .68rem; font-weight: 700; }
.document-context .document-classification { padding: 2px 6px; border-radius: 5px; font-size: .68rem; font-weight: 500; }
.document-context [data-classification="unclassified"] { border-color: var(--web-border); background: var(--web-surface); color: var(--web-ink); }
.document-state { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-top: 4px; }
.document-state>small { color: light-dark(#687188, var(--web-muted)); font-size: .7rem; }
.document-added { display: block; min-width: 0; color: var(--web-muted); font-size: .72rem; line-height: 1.4; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.row-actions { display: grid; grid-template-columns: 80px 88px 36px; align-items: center; justify-content: end; gap: 8px; }
.row-primary-action { grid-column: 1; }
.row-secondary-action { grid-column: 2; }
.row-labeled-action { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 10px; }
#library .row-labeled-action { border: 1px solid var(--web-border); background: transparent; color: var(--web-ink); font-size: .8rem; font-weight: 500; }
#library .row-labeled-action:hover { border-color: var(--web-control-border); background: var(--web-surface-subtle); }
.row-labeled-action>span:last-child { min-width: 0; overflow-wrap: anywhere; }
.row-labeled-action .row-action-icon-glyph { display: grid; place-items: center; }
.row-labeled-action svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#library .row-more-actions>summary { width: 36px; min-width: 36px; height: 34px; padding: 0; border-color: transparent; background: transparent; color: var(--web-muted); }
#library .row-more-actions>summary:hover { background: var(--web-surface-subtle); }
#library .row-more-actions>summary svg { width: 18px; height: 18px; }
.row-more-actions { position: relative; z-index: 1; grid-column: 3; justify-self: end; }
.row-more-actions[open] { z-index: 25; }
.row-more-menu {
  position: absolute;
  top: calc(100% + 7px);
  inset-inline-end: 0;
  z-index: 30;
  display: grid;
  justify-items: stretch;
  gap: 2px;
  width: 280px;
  max-width: calc(100vw - 80px);
  min-width: 0;
  margin-top: 0;
  padding: 6px;
  background: var(--web-surface);
  border-color: var(--web-border);
  overflow: visible;
}
.row-more-menu button {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--web-ink);
  text-align: start;
  font-size: .85rem;
  font-weight: 500;
  cursor: pointer;
}
.row-more-menu button:hover,.row-more-menu button:focus-visible { background: light-dark(#f2f5fb, var(--web-surface-subtle)); }
.row-more-menu button[aria-pressed="true"] { background: light-dark(#edf1ff, var(--web-surface-subtle)); color: light-dark(#2448b6, var(--web-link)); }
.row-more-menu .text-danger { color: var(--web-danger); }
.row-menu-action .row-action-icon-glyph { flex: 0 0 18px; }
.row-menu-action svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.row-menu-label { min-width: 0; overflow-wrap: anywhere; }
.row-menu-separator { width: calc(100% - 8px); margin: 5px 4px; border: 0; border-top: 1px solid var(--web-border); }
@media(prefers-reduced-motion:reduce) { .document-row { transition: none; } }
@media(max-width:900px) {
  .document-row { grid-template-columns: minmax(0, 1fr) auto; }
  .document-added { grid-column: 2; grid-row: 1; }
  .row-actions { grid-column: 1/-1; justify-content: flex-end; }
}
@media(max-width:650px) {
  .library-tools { grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding: 0 0 16px; }
  .search-control,.segmented,.active-filter-bar,.library-results-summary { grid-column: 1/-1; }
  .filter-control>summary,.sort-control select { width: 100%; justify-content: center; }
  .filter-menu { left: 0; right: auto; }
  .segmented { gap: 18px; overflow-x: auto; }
  .active-filter-bar { align-items: flex-start; }
  .document-row { grid-template-columns: 1fr; min-height: 0; gap: 10px; padding: 14px 17px; }
  .document-added { grid-column: auto; grid-row: auto; }
  .row-actions { grid-column: auto; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 36px; justify-content: stretch; }
  .row-labeled-action { width: 100%; }
}
@media(pointer:coarse) {
  #library .row-labeled-action,#library .row-more-actions>summary { min-height: 44px; }
}
