/* Windows 95 Microsoft Excel-style bookmark workbook */
.win-body.xls-win {
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: var(--w95-face);
  display: flex;
}

.xls-app {
  min-width: 0;
  min-height: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  color: #000;
  background: var(--w95-face);
  animation: xls-open 160ms cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes xls-open {
  from { opacity: .72; transform: scale(.992); }
  to { opacity: 1; transform: scale(1); }
}

.xls-menubar {
  height: 23px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 1px;
  padding: 1px 4px;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  border-bottom: 1px solid var(--w95-shadow);
  scrollbar-width: none;
}

.xls-menubar::-webkit-scrollbar { display: none; }
.xls-menubar span { padding: 3px 7px; }

.xls-toolbar {
  min-height: 34px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 3px 5px;
  border-top: 1px solid var(--w95-white);
  border-bottom: 1px solid var(--w95-shadow);
}

.xls-tool {
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  border: 0;
  display: grid;
  place-items: center;
  padding: 0;
  color: #111;
  background: var(--w95-face);
  cursor: pointer;
  font: 700 12px/1 "Tahoma", "MS Sans Serif", sans-serif;
  box-shadow: inset -1px -1px 0 var(--w95-dark), inset 1px 1px 0 var(--w95-white), inset -2px -2px 0 var(--w95-shadow), inset 2px 2px 0 var(--w95-face-lt);
}

.xls-tool:hover:not(:disabled),
.xls-tool:focus-visible { background: #fff; }

.xls-tool:active:not(:disabled) {
  box-shadow: inset -1px -1px 0 var(--w95-white), inset 1px 1px 0 var(--w95-dark), inset -2px -2px 0 var(--w95-face-lt), inset 2px 2px 0 var(--w95-shadow);
}

.xls-tool:focus-visible {
  outline: 1px dotted #000;
  outline-offset: -5px;
}

.xls-tool:disabled {
  color: #808080;
  cursor: default;
  text-shadow: 1px 1px #fff;
}

.xls-divider {
  width: 2px;
  height: 24px;
  flex: 0 0 auto;
  margin: 0 2px;
  box-shadow: inset 1px 0 var(--w95-shadow), inset -1px 0 var(--w95-white);
}

.xls-search {
  min-width: 190px;
  max-width: 360px;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 3px;
}

.xls-search span { flex: 0 0 auto; }

.xls-search input,
.xls-formula input {
  min-width: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  color: #000;
  background: #fff;
  font: inherit;
  box-shadow: inset 1px 1px 0 var(--w95-shadow), inset -1px -1px 0 var(--w95-white), inset 2px 2px 0 var(--w95-dark);
}

.xls-search input {
  width: 100%;
  height: 24px;
  padding: 4px 7px;
}

.xls-search input:focus,
.xls-formula input:focus {
  box-shadow: inset 1px 1px 0 #000080, inset -1px -1px 0 #000080, inset 2px 2px 0 #fff;
}

.xls-formula {
  height: 27px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 2px 4px;
  border-top: 1px solid var(--w95-white);
  border-bottom: 1px solid var(--w95-shadow);
}

.xls-name {
  width: 54px;
  height: 21px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  background: #fff;
  box-shadow: inset 1px 1px 0 var(--w95-shadow), inset -1px -1px 0 var(--w95-white), inset 2px 2px 0 var(--w95-dark);
}

.xls-fx {
  width: 28px;
  flex: 0 0 auto;
  color: #2f6f44;
  text-align: center;
  font: italic 700 13px/1 Georgia, serif;
}

.xls-formula input {
  height: 21px;
  flex: 1;
  padding: 3px 6px;
  color: #333;
}

.xls-grid-wrap {
  min-width: 0;
  min-height: 0;
  flex: 1;
  overflow: auto;
  background: #fff;
  box-shadow: inset 1px 1px 0 var(--w95-dark);
}

.xls-grid-wrap:focus-visible {
  outline: 2px solid #000080;
  outline-offset: -2px;
}

.xls-grid-wrap::-webkit-scrollbar { width: 16px; height: 16px; }
.xls-grid-wrap::-webkit-scrollbar-track { background: #dfdfdf; }
.xls-grid-wrap::-webkit-scrollbar-thumb {
  background: var(--w95-face);
  box-shadow: inset -1px -1px 0 var(--w95-dark), inset 1px 1px 0 var(--w95-white), inset -2px -2px 0 var(--w95-shadow), inset 2px 2px 0 var(--w95-face-lt);
}

.xls-table {
  width: 100%;
  min-width: 840px;
  border-spacing: 0;
  border-collapse: separate;
  table-layout: fixed;
  background: #fff;
  font-size: 11px;
}

.xls-table col.row-number { width: 38px; }
.xls-table col.site-label { width: 25%; }
.xls-table col.page-title { width: 24%; }
.xls-table col.shelf { width: 19%; }
.xls-table col.topic { width: auto; }
.xls-table col.visit { width: 42px; }

.xls-table th,
.xls-table td {
  height: 31px;
  padding: 4px 7px;
  overflow: hidden;
  border-right: 1px solid #c8c8c8;
  border-bottom: 1px solid #d6d6d6;
  text-align: left;
  vertical-align: middle;
}

.xls-table .xls-letters th {
  position: sticky;
  top: 0;
  z-index: 4;
  height: 20px;
  padding: 2px 5px;
  text-align: center;
  font-weight: 400;
  background: var(--w95-face);
  border-color: var(--w95-shadow);
  box-shadow: inset 1px 1px 0 var(--w95-white);
}

.xls-table .xls-fields th {
  position: sticky;
  top: 20px;
  z-index: 3;
  height: 27px;
  padding: 0;
  background: #e7e7e7;
  border-color: var(--w95-shadow);
}

.xls-table .xls-fields th:first-child,
.xls-table .xls-letters th:first-child {
  left: 0;
  z-index: 6;
}

.xls-table .xls-fields th:first-child {
  padding: 4px 7px;
  text-align: right;
  font-weight: 400;
}

.xls-head {
  width: 100%;
  height: 26px;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  padding: 4px 7px;
  color: #000;
  background: transparent;
  cursor: pointer;
  font: 700 11px/1 "Tahoma", "MS Sans Serif", sans-serif;
  text-align: left;
}

.xls-head:hover,
.xls-head:focus-visible {
  color: #fff;
  background: #000080;
  outline: 0;
}

.xls-sort-mark {
  min-width: 9px;
  font-size: 9px;
  text-align: center;
}

.xls-table tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  padding-right: 7px;
  color: #333;
  background: #e7e7e7;
  text-align: right;
  font-weight: 400;
  border-color: var(--w95-shadow);
}

.xls-table tbody tr { cursor: default; }
.xls-table tbody tr:hover td { background: #fffbe1; }
.xls-table tbody tr[aria-selected="true"] td { background: #cfe1f7; }
.xls-table tbody tr[aria-selected="true"] td:first-of-type { box-shadow: inset 0 0 0 2px #000080; }
.xls-table tbody tr:focus-visible { outline: 2px dotted #000; outline-offset: -3px; }

.xls-title-cell {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}

.xls-site {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: #fff;
  background: #555;
  border: 1px solid rgba(0, 0, 0, .45);
  font-size: 10px;
  font-weight: 700;
}

.xls-site-type-color { background: #8e3f30; }
.xls-site-image-form { background: #6c4d8a; }
.xls-site-ux-systems { background: #2f5f91; }
.xls-site-maker-kit { background: #9a651c; }
.xls-site-work-together { background: #2e6a57; }
.xls-site-rabbit-holes { background: #555; }

.xls-title-copy {
  min-width: 0;
  display: block;
}

.xls-title-copy strong,
.xls-title-copy small {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.xls-title-copy strong { font-weight: 400; }
.xls-title-copy small { margin-top: 1px; color: #555; font-size: 9px; }
.xls-shelf-cell { font-weight: 700; }
.xls-shelf-cell[data-shelf="Type & Color"] { color: #783326; }
.xls-shelf-cell[data-shelf="Image & Form"] { color: #5f3e7f; }
.xls-shelf-cell[data-shelf="UX & Systems"] { color: #234f7d; }
.xls-shelf-cell[data-shelf="Maker Kit"] { color: #7d510d; }
.xls-shelf-cell[data-shelf="Work Together"] { color: #245a49; }
.xls-shelf-cell[data-shelf="Rabbit Holes"] { color: #333; }

.xls-open-link {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  margin: auto;
  color: #000080;
  background: var(--w95-face);
  text-decoration: none;
  box-shadow: inset -1px -1px 0 var(--w95-dark), inset 1px 1px 0 var(--w95-white), inset -2px -2px 0 var(--w95-shadow), inset 2px 2px 0 var(--w95-face-lt);
}

.xls-open-link:hover,
.xls-open-link:focus-visible {
  color: #fff;
  background: #000080;
  outline: 0;
}

.xls-empty {
  height: 90px !important;
  padding: 22px !important;
  color: #555;
  text-align: center !important;
}

.xls-sheets {
  min-height: 28px;
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
  gap: 1px;
  padding: 3px 5px 0;
  overflow-x: auto;
  overflow-y: hidden;
  background: var(--w95-face);
  border-top: 1px solid var(--w95-white);
  scrollbar-width: thin;
}

.xls-tab {
  min-width: 82px;
  height: 24px;
  flex: 0 0 auto;
  border: 0;
  padding: 4px 9px;
  color: #222;
  background: #d0d0d0;
  cursor: pointer;
  font: 11px/1 "Tahoma", "MS Sans Serif", sans-serif;
  white-space: nowrap;
  box-shadow: inset -1px 0 0 var(--w95-dark), inset 1px 1px 0 var(--w95-white), inset 0 -1px 0 var(--w95-shadow);
}

.xls-tab:hover,
.xls-tab:focus-visible {
  background: #e7e7e7;
  outline: 1px dotted #000;
  outline-offset: -4px;
}

.xls-tab[aria-selected="true"] {
  color: #0f5d35;
  background: #fff;
  font-weight: 700;
  box-shadow: inset -1px 0 0 var(--w95-dark), inset 1px 1px 0 var(--w95-white), inset 0 3px 0 #177345;
}

.xls-tab span { color: #555; font-size: 9px; font-weight: 400; }

.xls-status {
  height: 23px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 2px 4px;
  background: var(--w95-face);
}

.xls-status span {
  min-width: 0;
  height: 18px;
  padding: 3px 7px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  box-shadow: inset 1px 1px 0 var(--w95-shadow), inset -1px -1px 0 var(--w95-white);
}

.xls-ready { width: 160px; flex: 0 1 160px; }
.xls-count { flex: 1; }
.xls-hint { flex: 0 1 190px; color: #444; }

@media (max-width: 720px) {
  .xls-menubar span { padding-inline: 6px; }
  .xls-toolbar { gap: 2px; padding-inline: 4px; }
  .xls-tool { width: 30px; height: 30px; }
  .xls-divider { margin-inline: 1px; }
  .xls-search { min-width: 100px; margin-left: 1px; }
  .xls-search span { display: none; }
  .xls-formula { padding-inline: 3px; }
  .xls-name { width: 43px; }
  .xls-fx { width: 22px; }
  .xls-table { min-width: 760px; }
  .xls-tab { min-width: 88px; height: 34px; font-size: 12px; }
  .xls-ready { width: 92px; flex-basis: 92px; }
  .xls-hint { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .xls-app { animation: none; }
}