a, a:active {text-decoration: none; color: blue;}
a:visited {color: #48468F;}
a:hover, a:focus {text-decoration: underline; color: red;}
body {font: 100% sans-serif; background-color: #f2f2f9; margin: 0;}
h2 {display: none; margin-bottom: 12px;}
.site-navbar {
	align-items: center;
	background: #ffffff;
	display: flex;
	gap: 18px;
	margin-bottom: 8px;
	padding: 12px 20px;
}
.site-logo {flex: 0 0 auto; line-height: 0; order: 1;}
.site-logo img {display: block; max-height: 56px; max-width: 160px; width: auto;}
.breadcrumbs {align-items: center; display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; order: 2;}
.breadcrumbs a {color: #1f1f1f; font-weight: 600;}
.breadcrumb-separator {color: #767676;}
.file-tools {display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; order: 3;}
.tool-button {
	align-items: center;
	background: #ffffff;
	border: 1px solid #d2d2dc;
	border-radius: 8px;
	color: #1f1f1f;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	gap: 6px;
	justify-content: center;
	padding: 8px;
}
.tool-button[hidden] {display: none;}
.tool-button:hover {border-color: #8b8ba3;}
.tool-button:focus-visible, .file-check:focus-visible, a:focus-visible {outline: 3px solid #ffbf47; outline-offset: 2px;}
.tool-button.danger {border-color: #e3b6b6;}
.tool-icon {height: 18px; width: 18px;}
.check-col {text-align: center; width: 1%;}
.file-check, .file-check-all {height: 18px; width: 18px;}
.share-menu {
	background: #ffffff;
	border: 1px solid #d2d2dc;
	border-radius: 8px;
	box-shadow: 0 4px 16px rgba(0,0,0,.12);
	display: flex;
	gap: 4px;
	padding: 6px;
	position: fixed;
	right: 20px;
	top: 76px;
	z-index: 1000;
}
.share-menu[hidden] {display: none;}
.share-item {background: #fff; border: 0; border-radius: 6px; color: #1f1f1f; cursor: pointer; font: inherit; padding: 8px 10px;}
.share-item:hover, .share-item:focus-visible {background: #f2f2f9;}
.file-status {
	background: #1f1f1f;
	border-radius: 8px;
	bottom: 16px;
	color: #ffffff;
	left: 50%;
	max-width: 90vw;
	padding: 10px 14px;
	position: fixed;
	transform: translateX(-50%);
	z-index: 1000;
}
.file-preview {
	background: #ffffff;
	box-shadow: -4px 0 24px rgba(0,0,0,.18);
	display: flex;
	flex-direction: column;
	inset: 0 0 0 auto;
	max-width: 92vw;
	position: fixed;
	width: 460px;
	z-index: 1500;
}
.file-preview-head {
	align-items: center;
	border-bottom: 1px solid #d2d2dc;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 12px;
}
.file-preview-head strong {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.file-preview-actions {display: flex; flex: 0 0 auto; gap: 8px;}
.file-preview-actions a, .preview-button {
	background: #ffffff;
	border: 1px solid #d2d2dc;
	border-radius: 8px;
	color: #1f1f1f;
	cursor: pointer;
	font: inherit;
	padding: 7px 9px;
}
.file-preview-actions a:hover, .preview-button:hover {border-color: #8b8ba3; text-decoration: none;}
.file-preview-body {flex: 1; overflow: auto; padding: 0;}
.file-preview-media {display: block; height: auto; margin: auto; max-height: 100%; max-width: 100%;}
.file-preview-frame {border: 0; height: 100%; width: 100%;}
.file-preview-audio {width: 100%;}
.file-preview-text {font: 13px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; margin: 0; white-space: pre-wrap; word-break: break-word;}
.file-preview-empty {color: #767676;}
body.drag-uploading::after {
	align-items: center;
	background: rgba(31,31,31,.72);
	border: 4px dashed #ffffff;
	box-sizing: border-box;
	color: #ffffff;
	content: "Drop files to upload here";
	display: flex;
	font-size: 24px;
	font-weight: 700;
	inset: 16px;
	justify-content: center;
	pointer-events: none;
	position: fixed;
	z-index: 2000;
}
@media (max-width: 600px) {
	.site-navbar {align-items: flex-start; flex-direction: column; gap: 10px; padding: 12px;}
	.site-logo img {max-height: 48px;}
	.file-tools {margin-left: 0;}
	.file-preview {inset: 0; max-width: none; width: auto;}
	.file-preview-head {align-items: flex-start; flex-direction: column;}
	.file-preview-actions {flex-wrap: wrap;}
}
table {max-width: 98%; width: 100%;  margin-bottom: 20px; background-color: #ffffff;}
table > thead > tr > th, table > tbody > tr > th, table > tfoot > tr > th, table > thead > tr > td, table > tbody > tr > td, table > tfoot > tr > td {padding: 8px; line-height: 1.42; vertical-align: top; border-bottom: 1px solid #dddddd;}
table > thead > tr > th {vertical-align: bottom; }
table > tbody + tbody {border-bottom: 2px solid #dddddd;}
th, td {text-align: left;}
th {font-weight: bold; padding-right: 14px; padding-bottom: 3px;}
td {
	padding-right: 14px;
	text-overflow: ellipsis;
	overflow: hidden;
}
tr:hover { background-color: #F5F5F5; }
td.s, th.s {text-align: right;}
div.list {background-color: white; padding: 12px; }
div.foot {font: 90% sans-serif; color: #787878; padding-top: 4px;}
a,a:visited { color: #1f1f1f; }

td:nth-child(2) a::before {
	content: url("assets/file-16.png");
	margin-right: 8px;
}

td:nth-child(2) a[href$=".pdf"]::before {
	content: url("assets/pdf-16.png");
	margin-right: 8px;
}

td:nth-child(2) a[href$=".jpg"]::before,
td:nth-child(2) a[href$=".jpeg"]::before,
td:nth-child(2) a[href$=".png"]::before,
td:nth-child(2) a[href$=".webp"]::before {
	content: url("assets/photo-16.png");
	margin-right: 8px;
}

td:nth-child(2) a[href$=".svg"]::before,
td:nth-child(2) a[href$=".eps"]::before,
td:nth-child(2) a[href$=".ai"]::before {
	content: url("assets/vector-16.png");
	margin-right: 8px;
}

td:nth-child(2) a[href$="/"]::before {
	content: url("assets/folder-16.png");
	margin-right: 8px;
}


th:nth-child(3) { color: #767676; }
td:nth-child(3) { color: #767676; }
th:nth-child(5) { display: none; }
td:nth-child(5) { display: none; }


.griot-editor-checklist__row {
    display: flex;
}

.griot-editor-quiz__opt-row {
    display: flex;
}
.file-preview-actions .preview-close {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #8b8ba3;
  font-size: 22px;
  line-height: 1;
  padding: 2px 4px;
}
.file-preview-actions .preview-close:hover {
  background: transparent;
  border: 0;
  color: #4b5563;
}
.file-preview-actions .file-editor-status {
  align-self: center;
  color: #64748b;
  font-size: 12px;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-preview-head .file-editor-star {
  display: inline-block;
  margin-left: 6px;
  min-width: 1em;
  font-size: 15px;
  line-height: 1;
  vertical-align: middle;
}
.file-preview-head .file-editor-star.is-dirty { color: #dc2626; }
.file-preview-head .file-editor-star.is-saving { color: #9ca3af; }

.file-preview-head .file-editor-star {
  margin-left: 2px !important;
  min-width: 0 !important;
  font-size: 13px !important;
  font-weight: 700;
  vertical-align: super;
}
.griot-format-toolbar { display: none !important; }
.file-preview.is-expanded {
  inset: 0;
  max-width: none;
  width: auto;
}
.file-preview-actions .preview-expand {
  color: #64748b;
  font-size: 16px;
  line-height: 1;
  padding: 7px 8px;
}
@media (max-width: 600px) {
  .file-preview { inset: 0; max-width: none; width: auto; }
  .file-preview-actions .preview-expand { display: none; }
}
/* Strong Griot clean-surface overrides; intentionally in site CSS. */
.griot-editor .griot-editor-block {
  border: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.griot-editor .griot-editor-block:hover,
.griot-editor .griot-editor-block.is-focused {
  border: 0 !important;
  background: rgba(255,255,255,.18) !important;
}
.griot-editor .griot-editor-block__input,
.griot-editor .griot-editor-block__input:focus,
.griot-editor .griot-editor-block__special {
  border-color: transparent !important;
  background: transparent !important;
}
.griot-editor .griot-key-value,
.griot-editor .griot-key-value-editor {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.griot-editor .griot-editor-block.is-toolbar-active > .griot-editor-block__side-actions,
.griot-editor .griot-editor-block:hover > .griot-editor-block__side-actions,
.griot-editor .griot-editor-block:focus-within > .griot-editor-block__side-actions {
  opacity: 1 !important;
  pointer-events: auto !important;
}
.griot-editor .griot-editor-block__drag-handle {
  position: static !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.tool-button.action-button {
  background: #fff !important;
  border-color: #d2d2dc !important;
  color: #374151 !important;
  font-size: 18px;
  font-weight: 700;
}
.tool-button.action-button:hover {
  background: #f3f4f6 !important;
  border-color: #9ca3af !important;
  color: #111827 !important;
}
.veneer-action-palette {
  position: fixed;
  inset: 0;
  z-index: 3000;
  background: rgba(15,23,42,.22);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12vh;
}
.veneer-action-palette__box {
  width: min(640px, calc(100vw - 28px));
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 24px 80px rgba(15,23,42,.28);
  border: 1px solid rgba(15,23,42,.12);
  overflow: hidden;
}
.veneer-action-palette__input {
  width: 100%;
  box-sizing: border-box;
  border: 0;
  border-bottom: 1px solid rgba(15,23,42,.10);
  padding: 14px 16px;
  font: 16px/1.4 system-ui, -apple-system, sans-serif;
  outline: none;
}
.veneer-action-palette__list { max-height: 360px; overflow: auto; padding: 6px; }
.veneer-action-palette__row {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 10px 12px;
  text-align: left;
  color: #111827;
  cursor: pointer;
  font: 14px/1.35 system-ui, -apple-system, sans-serif;
}
.veneer-action-palette__row:hover,
.veneer-action-palette__row.is-active { background: #eef2ff; }
.veneer-action-palette__empty { color: #64748b; padding: 16px; }
.veneer-user {
  order: 4;
  flex: 0 0 auto;
  margin-left: 0;
  display: inline-flex;
  align-items: center;
}
.veneer-user sso-user-button {
  --sso-user-bg: #f8fafc;
  --sso-user-hover-bg: #eef2f7;
  --sso-user-color: #374151;
  --sso-user-menu-bg: #ffffff;
  --sso-user-menu-color: #111827;
  --sso-user-menu-border: rgba(15,23,42,.12);
  --sso-user-radius: 999px;
  --sso-user-avatar-size: 1.35rem;
  --sso-user-avatar-bg: #374151;
}
.file-preview-title-group {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 1 1 auto;
}
.file-preview-title-group strong { min-width: 0; }
.file-preview-head strong.is-editable-title {
  border-radius: 6px;
  padding: 2px 4px;
  outline: none;
}
.file-preview-head strong.is-editable-title:focus {
  background: #fff;
  box-shadow: 0 0 0 2px #bfdbfe;
}
