.domus-library,
.domus-library * { box-sizing: border-box; }
.domus-library {
  --dl-navy: #15105f;
  --dl-yellow: #ffdc22;
  --dl-line: #dfe2ed;
  --dl-muted: #646a7d;
  width: 100%;
  color: var(--dl-navy);
  background: #fff;
  border: 1px solid var(--dl-line);
  border-radius: 16px;
  overflow: hidden;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}
.domus-library button {
  appearance: none;
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 6px;
  margin: 0;
  min-height: 32px;
  cursor: pointer;
  text-align: left;
  letter-spacing: normal;
  text-transform: none;
  box-shadow: none;
}
.domus-library button:focus-visible,
.domus-library .dl-folder-title:focus-visible {
  outline: 3px solid #8a73dc;
  outline-offset: 2px;
}
.domus-library svg { display: block; width: 20px; height: 20px; flex: 0 0 auto; }
.domus-library .dl-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; border-bottom: 1px solid var(--dl-line); }
.domus-library .dl-title { margin: 0; font-size: 22px; line-height: 1.3; color: var(--dl-navy); font-weight: 750; letter-spacing: -.3px; }
.domus-library .dl-subtitle { margin: 5px 0 0; color: var(--dl-muted); font-size: 14px; }
.domus-library .dl-status { display: inline-flex; align-items: center; gap: 8px; background: #f3f4f9; border: 1px solid #e5e7f0; color: #555b6e; font-size: 14px; border-radius: 30px; padding: 6px 11px; flex-shrink: 0; }
.domus-library .dl-status::before { content: ""; width: 7px; height: 7px; background: #969bad; border-radius: 50%; }
.domus-library .dl-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); min-height: 380px; }
.domus-library .dl-sidebar { background: #f8f9fc; border-right: 1px solid var(--dl-line); min-width: 0; padding: 17px 0; }
.domus-library .dl-sidebar-title { margin: 0 18px 11px; color: #535974; font-size: 14px; font-weight: 700; }
.domus-library .dl-tree { overflow: auto; max-height: 570px; padding: 0 7px; scrollbar-width: thin; }
.domus-library .dl-tree-root,
.domus-library .dl-tree-group { list-style: none; padding: 0; margin: 0; }
.domus-library .dl-tree-group[hidden] { display: none; }
.domus-library .dl-tree-item { margin: 0; padding: 0; list-style: none; }
.domus-library .dl-tree-row { display: flex; align-items: center; min-height: 38px; padding-left: calc(var(--dl-depth) * 13px + 2px); padding-right: 4px; border-radius: 7px; margin: 1px 0; }
.domus-library .dl-tree-row:hover { background: #edefF6; }
.domus-library .dl-tree-row[data-current="true"] { background: #fff1a5; color: var(--dl-navy); }
.domus-library .dl-toggle,
.domus-library .dl-toggle-space { width: 22px; min-width: 22px; height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.domus-library .dl-toggle svg { width: 13px; height: 13px; transition: transform .15s ease; }
.domus-library .dl-toggle[aria-expanded="true"] svg { transform: rotate(90deg); }
.domus-library .dl-tree-open { display: flex; align-items: center; gap: 7px; min-width: 0; width: 100%; padding: 3px 2px; }
.domus-library .dl-tree-open svg { width: 17px; height: 17px; color: #746512; fill: #ffe575; }
.domus-library .dl-tree-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.domus-library .dl-tree-open[aria-current="page"] { font-weight: 700; }
.domus-library .dl-content { min-width: 0; padding: 0 22px 16px; display: flex; flex-direction: column; }
.domus-library .dl-breadcrumbs { min-height: 55px; display: flex; align-items: center; padding: 10px 0; border-bottom: 1px solid #ebedf4; }
.domus-library .dl-crumb-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.domus-library .dl-crumb { display: flex; align-items: center; gap: 4px; margin: 0; font-size: 14px; }
.domus-library .dl-crumb > svg { width: 12px; height: 12px; color: #9398ad; }
.domus-library .dl-crumb-button { color: #514893; padding: 2px 3px; }
.domus-library .dl-crumb-button:hover { background: #f1eefb; text-decoration: underline; }
.domus-library .dl-current-crumb { font-size: 14px; font-weight: 600; padding: 2px 3px; }
.domus-library .dl-folder-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 22px 0 17px; }
.domus-library .dl-folder-label { display: flex; align-items: center; gap: 10px; min-width: 0; flex-wrap: wrap; }
.domus-library .dl-folder-label > svg { width: 25px; height: 25px; color: #9e8112; fill: #ffe575; }
.domus-library .dl-folder-title { margin: 0; color: var(--dl-navy); font-size: 19px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.domus-library .dl-list-mode { display: inline-flex; align-items: center; gap: 7px; color: #5d6479; font-size: 14px; flex-shrink: 0; }
.domus-library .dl-list-mode svg { width: 18px; height: 18px; }
.domus-library .dl-items { flex: 1; min-width: 0; }
.domus-library .dl-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; border: 1px solid var(--dl-line); border-radius: 9px; overflow: hidden; margin: 0; }
.domus-library .dl-table th { background: #f5f6fa; color: #63697c; font-size: 14px; font-weight: 600; padding: 9px 13px; text-align: left; border: 0; border-bottom: 1px solid var(--dl-line); }
.domus-library .dl-table td { padding: 0 13px; font-size: 14px; border: 0; border-bottom: 1px solid #e9ebf2; height: 49px; text-align: left; }
.domus-library .dl-table tr:last-child td { border-bottom: 0; }
.domus-library .dl-file-row { cursor: pointer; background: #fff; }
.domus-library .dl-file-row:hover { background: #f9f8ff; }
.domus-library .dl-folder-button { padding: 9px 0; width: 100%; min-height: 48px; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: var(--dl-navy); font-weight: 600; }
.domus-library .dl-folder-button > svg { color: #9e8112; fill: #ffe575; width: 19px; height: 19px; }
.domus-library .dl-folder-button > span { font-size: 14px; }
.domus-library .dl-type-cell { width: 85px; color: #72778a; white-space: nowrap; }
.domus-library .dl-proposed { display: inline-block; border-radius: 5px; border: 1px solid #dedaf1; background: #f5f2ff; color: #625491; font-size: 14px; font-weight: 500; line-height: 1.4; padding: 2px 6px; }
.domus-library .dl-empty { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; min-height: 205px; padding: 28px 15px; background: #fafbfe; border: 1px dashed #d9deeb; border-radius: 10px; }
.domus-library .dl-empty > svg { width: 45px; height: 45px; color: #aa98bd; fill: #f5eef9; margin-bottom: 10px; }
.domus-library .dl-empty h4 { font-size: 17px; color: var(--dl-navy); font-weight: 650; margin: 4px 0 5px; line-height: 1.4; }
.domus-library .dl-empty p { max-width: 395px; color: var(--dl-muted); font-size: 14px; margin: 0; }
.domus-library .dl-back { display: inline-flex; align-items: center; justify-content: center; gap: 7px; font-size: 14px; padding: 7px 11px; margin-top: 16px; background: #fff; border: 1px solid #dbdeeb; color: var(--dl-navy); }
.domus-library .dl-back:hover { background: #fff5b9; border-color: #e8d769; }
.domus-library .dl-back svg { width: 16px; height: 16px; }
.domus-library .dl-item-count { font-size: 14px; color: #747b8f; margin: 12px 0 0; }
.domus-library .dl-notice { display: flex; align-items: center; gap: 10px; padding: 14px 22px; background: #fffbeb; border-top: 1px solid #eee5b9; color: #625623; }
.domus-library .dl-notice > svg { width: 18px; height: 18px; }
.domus-library .dl-notice p { margin: 0; font-size: 14px; }
.domus-library .dl-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .domus-library .dl-header { align-items: flex-start; flex-direction: column; gap: 11px; padding: 18px; }
  .domus-library .dl-layout { grid-template-columns: 1fr; }
  .domus-library .dl-sidebar { border-right: 0; border-bottom: 1px solid var(--dl-line); padding: 13px 0; }
  .domus-library .dl-tree { max-height: 200px; }
  .domus-library .dl-content { min-height: 350px; padding: 0 16px 15px; }
  .domus-library .dl-folder-header { padding-top: 18px; }
  .domus-library .dl-folder-title { font-size: 18px; }
  .domus-library .dl-table th, .domus-library .dl-table td { padding-left: 10px; padding-right: 10px; }
  .domus-library .dl-notice { align-items: flex-start; padding: 14px 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .domus-library .dl-toggle svg { transition: none; }
}
