.photoPrivacyBannerV18,
.photoLibraryMessageV18,
.photoExportBoxV18,
.photoRecordCardV18,
.photoCategoryTabV18,
.photoSummaryV18 article,
.photoPickerBoxV18 {
  border: 1px solid rgba(86, 174, 220, .28);
  background: linear-gradient(145deg, rgba(7, 25, 39, .96), rgba(5, 19, 30, .94));
  border-radius: 24px;
}

.photoLibraryMessageV18 {
  margin: 0 0 18px;
  padding: 14px 16px;
  color: #8ff0c3;
  font-weight: 700;
}

.photoLibraryMessageV18.error,
.photoEditorMessageV18.error {
  border-color: rgba(255, 112, 132, .5);
  color: #ffb7c2;
  background: rgba(96, 23, 42, .26);
}

.photoPrivacyBannerV18 {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 18px;
  margin-bottom: 18px;
}

.photoPrivacyBannerV18 > span { font-size: 34px; }
.photoPrivacyBannerV18 b { display: block; font-size: 17px; margin-bottom: 4px; }
.photoPrivacyBannerV18 small { color: #9fb1c0; line-height: 1.45; }

.photoCategoryTabsV18 {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
  margin-bottom: 16px;
}

.photoCategoryTabV18 {
  min-width: 180px;
  padding: 16px;
  color: #dceaf4;
  text-align: left;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 10px;
  row-gap: 4px;
}

.photoCategoryTabV18 span { font-size: 24px; grid-row: 1 / span 2; }
.photoCategoryTabV18 b { font-size: 16px; }
.photoCategoryTabV18 small { color: #8ca3b4; }
.photoCategoryTabV18.active {
  background: linear-gradient(145deg, rgba(37, 180, 235, .3), rgba(8, 65, 94, .6));
  border-color: #36c1f4;
  box-shadow: 0 0 0 1px rgba(54, 193, 244, .18) inset;
}

.photoSummaryV18 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 18px;
}

.photoSummaryV18 article { padding: 14px; text-align: center; }
.photoSummaryV18 small { color: #8da3b4; display: block; margin-bottom: 4px; }
.photoSummaryV18 b { font-size: 24px; }

.photoToolbarV18,
.photoExportGridV18,
.photoFormGridV18 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.photoToolbarV18 { margin-bottom: 18px; }
.photoToolbarV18 label,
.photoExportGridV18 label,
.photoDialogV18 label {
  display: grid;
  gap: 7px;
  color: #dce8f1;
  font-weight: 700;
}

.photoToolbarV18 input,
.photoToolbarV18 select,
.photoExportGridV18 input,
.photoExportGridV18 select,
.photoDialogV18 input,
.photoDialogV18 select,
.photoDialogV18 textarea {
  width: 100%;
  border: 1px solid rgba(77, 153, 196, .38);
  background: #071724;
  color: #edf8ff;
  border-radius: 16px;
  padding: 13px 14px;
  font: inherit;
  box-sizing: border-box;
}

.photoDialogV18 textarea { resize: vertical; min-height: 92px; }

.photoExportBoxV18 { padding: 18px; margin-bottom: 20px; }
.photoExportHeadV18 h4 { margin: 0 0 5px; font-size: 20px; }
.photoExportHeadV18 p { margin: 0 0 16px; color: #9db0bf; line-height: 1.45; }
.photoExportActionsV18,
.photoDialogActionsV18,
.photoCardActionsV18 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.photoExportActionsV18 { margin: 16px 0 10px; }
.photoExportActionsV18 button { flex: 1 1 170px; }
.photoExportBoxV18 > small { color: #8ca2b3; }

.photoRecordListV18 { display: grid; gap: 16px; }
.photoRecordCardV18 { padding: 18px; overflow: hidden; }
.photoRecordHeadV18 { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; }
.photoRecordHeadV18 small { color: #89b8d1; font-weight: 800; }
.photoRecordHeadV18 h4 { margin: 5px 0 0; font-size: 21px; line-height: 1.25; }
.photoStatusPillV18 { border-radius: 999px; padding: 7px 10px; font-size: 12px; font-weight: 900; white-space: nowrap; border: 1px solid; }
.photoStatusOpenV18 { color: #ffb4bd; border-color: rgba(255, 105, 128, .5); background: rgba(103, 23, 40, .35); }
.photoStatusReadyV18 { color: #ffe6a6; border-color: rgba(251, 190, 55, .48); background: rgba(92, 67, 12, .35); }
.photoStatusDoneV18 { color: #8df0bd; border-color: rgba(54, 210, 142, .46); background: rgba(14, 82, 56, .35); }

.photoCardImagesV18 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 14px;
  min-height: 120px;
}
.photoCardImagesV18 img,
.photoMoreV18 {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 15px;
  border: 1px solid rgba(92, 159, 197, .28);
  background: #06121c;
}
.photoMoreV18 { display: grid; place-items: center; font-size: 24px; font-weight: 900; color: #83d8fa; }

.photoMetaV18 { display: flex; flex-wrap: wrap; gap: 8px 14px; color: #99adbc; font-size: 13px; margin-bottom: 14px; }
.photoPrimaryDetailV18,
.photoNotesV18 { border-top: 1px solid rgba(105, 159, 190, .2); padding-top: 13px; margin-top: 10px; }
.photoPrimaryDetailV18 b,
.photoNotesV18 b { color: #9edcf5; }
.photoPrimaryDetailV18 p,
.photoNotesV18 p { margin: 6px 0 0; color: #d8e4eb; line-height: 1.5; white-space: pre-wrap; }
.photoCardActionsV18 { margin-top: 16px; }
.photoCardActionsV18 button { flex: 1 1 130px; }

.photoEmptyV18 {
  padding: 34px 18px;
  border: 1px dashed rgba(105, 173, 212, .34);
  border-radius: 22px;
  text-align: center;
  color: #a5b8c6;
  display: grid;
  gap: 7px;
}
.photoEmptyV18 span { font-size: 38px; }
.photoEmptyV18 b { color: #e3eff6; font-size: 18px; }

.photoDialogV18 {
  width: min(720px, calc(100vw - 24px));
  max-height: calc(100vh - 26px);
  overflow-y: auto;
  box-sizing: border-box;
  border: 1px solid rgba(68, 177, 226, .42);
  border-radius: 26px;
  background: #071824;
  color: #f1f8fc;
  padding: 20px;
}
.photoDialogV18::backdrop { background: rgba(0, 8, 15, .78); backdrop-filter: blur(5px); }
.photoDialogV18 form { display: grid; gap: 15px; }
.photoSmallDialogV18 { max-width: 520px; }
.photoSmallDialogV18 p { color: #b8c8d2; line-height: 1.5; }
.photoEditorMessageV18 { border: 1px solid rgba(60, 203, 145, .4); border-radius: 14px; padding: 11px 13px; color: #8ff0c3; background: rgba(13, 79, 53, .24); }
.photoCategoryFieldsV18 { display: grid; gap: 12px; }

.photoPickerBoxV18 { padding: 16px; display: grid; gap: 12px; }
.photoPickerBoxV18 > div:first-child small { display: block; color: #95a9b8; line-height: 1.45; margin-top: 4px; }
.photoPickerButtonV18 {
  position: relative;
  display: inline-flex !important;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 14px;
  background: #123348;
  border: 1px solid #2ca8df;
  color: #e9f8ff;
  cursor: pointer;
}
.photoPickerButtonV18 input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.photoPreviewGridV18 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.photoEditorPreviewV18 { position: relative; margin: 0; }
.photoEditorPreviewV18 img { width: 100%; height: 130px; object-fit: cover; border-radius: 13px; border: 1px solid rgba(90, 169, 210, .34); }
.photoEditorPreviewV18 button { position: absolute; top: 6px; right: 6px; width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .5); background: rgba(20, 25, 31, .88); color: white; font-size: 20px; }
.photoNoPreviewV18 { grid-column: 1 / -1; color: #8da3b3; padding: 16px; text-align: center; border: 1px dashed rgba(94, 154, 189, .3); border-radius: 13px; }
.photoPickerBoxV18 > small { color: #879eae; }
.photoDialogActionsV18 { margin-top: 4px; }
.photoDialogActionsV18 button { flex: 1 1 180px; }

@media (max-width: 720px) {
  .photoCategoryTabsV18 { grid-template-columns: repeat(3, 185px); }
  .photoSummaryV18 { grid-template-columns: repeat(2, 1fr); }
  .photoToolbarV18,
  .photoExportGridV18,
  .photoFormGridV18 { grid-template-columns: 1fr; }
  .photoCardImagesV18 { grid-template-columns: repeat(2, 1fr); }
  .photoCardImagesV18 img,
  .photoMoreV18 { height: 135px; }
  .photoPreviewGridV18 { grid-template-columns: repeat(2, 1fr); }
  .photoRecordHeadV18 { flex-direction: column; }
  .photoStatusPillV18 { align-self: flex-start; }
}

@media (max-width: 430px) {
  .photoDialogV18 { width: calc(100vw - 14px); padding: 15px; border-radius: 20px; }
  .photoPreviewGridV18 { grid-template-columns: 1fr 1fr; }
  .photoEditorPreviewV18 img { height: 115px; }
}
