/* BAIKAL management workspace: brand yellow, charcoal, and quiet surfaces. */
.admin-page {
  --ink: #252629;
  --muted: #787b77;
  --line: #e5e6e1;
  --paper: #f5f5f2;
  --soft: #fff9d8;
  font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
  background: var(--paper);
  color: var(--ink);
  line-height: 1.6;
}
.admin-page .topbar {
  height: 76px;
  padding: 0 30px 0 22px;
  background: #202124;
  border-bottom: 1px solid #333438;
}
.admin-page .admin-brand { gap: 20px; color: #fff; }
.admin-page .brand-logo { display: block; width: 145px; height: 52px; object-fit: contain; }
.admin-page .brand-divider { display: block; height: 24px; width: 1px; margin: 0; background: #48494c; }
.admin-page .brand-product { font-size: 14px; font-weight: 500; color: #e6e7e2; letter-spacing: 1px; }
.admin-page .top-actions { gap: 24px; }
.admin-page .top-actions .desk-link, .admin-page .top-actions .text-button { color: #d1d3ca; font-size: 12px; }
.admin-page .top-actions .desk-link[hidden] { display: none !important; }
.admin-page .top-actions .desk-link:hover, .admin-page .top-actions .text-button:hover { color: #f7d700; }
.admin-page .admin-role { border: 1px solid #4b4c46; border-radius: 6px; padding: 5px 10px; color: #c7c9be; font-size: 11px; }
.admin-page .admin-layout { grid-template-columns: 224px minmax(0, 1fr); min-height: calc(100dvh - 76px); }
.admin-page .admin-sidebar {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 76px);
  background: #202124;
  padding: 27px 16px 22px;
  position: sticky;
  top: 0;
  box-sizing: border-box;
  border-right: 1px solid #2b2c2f;
  overflow-y: auto;
}
.admin-page .sidebar-heading { color: #a1a39a; font-size: 10px; padding: 0 14px 22px; letter-spacing: 1.8px; }
.admin-page .sidebar-heading span { display: block; color: #bfc1b8; letter-spacing: 2px; font-size: 12px; margin-top: 7px; }
.admin-page .admin-sidebar nav { display: flex; flex-direction: column; gap: 18px; }
.admin-page .sidebar-group { display: grid; gap: 5px; }
.admin-page .sidebar-group-title { color: #979a90; font-size: 11px; letter-spacing: 1px; margin: 0 14px 5px; }
.admin-page .admin-sidebar nav button { border-radius: 8px; padding: 10px 14px; color: #c1c4ba; min-height: 43px; gap: 12px; font-size: 13px; }
.admin-page .admin-sidebar nav button:hover { background: #303133; color: #fff; }
.admin-page .admin-sidebar nav button.active { background: #f7d700; color: #252629; font-weight: 650; box-shadow: none; }
.admin-page .admin-sidebar nav button > span { color: inherit; }
.admin-page .nav-icon { width: 19px; height: 19px; flex: none; }
.admin-page #queue-count { color: inherit; font-size: 11px; }
.admin-page #queue-count:not(:empty) { background: #ffffff22; padding: 1px 7px; border-radius: 4px; }
.admin-page .sidebar-note { margin-top: auto; border-top: 1px solid #3b3c37; color: #909489; padding: 22px 14px 0; font-size: 10px; line-height: 1.9; }
.admin-page .sidebar-note p { color: #b4b8aa; margin: 7px 0 2px; font-size: 12px; }
.admin-page .sidebar-note-label { color: #e7e9de; font-size: 10px; letter-spacing: 2px; }
.admin-page .admin-main { padding: 34px 36px 60px; max-width: 1640px; width: 100%; box-sizing: border-box; }
.admin-page .admin-heading { margin-bottom: 25px; align-items: center; }
.admin-page .admin-heading h1 { font-size: 28px; font-weight: 650; letter-spacing: -.6px; line-height: 1.5; }
.admin-page .section-label { color: #85897f; font-size: 10px; letter-spacing: 2px; margin-bottom: 7px; }
.admin-page .admin-heading-description { font-size: 12px; color: #85887e; margin: 6px 0 0; }
.admin-page .muted, .admin-page .field-help { color: #797e73; }
.admin-page .primary { min-height: 42px; border: 1px solid #f7d700; background: #f7d700; color: #252629; border-radius: 7px; font-weight: 600; font-size: 13px; }
.admin-page .primary:hover:not(:disabled) { border-color: #e6c600; background: #e6c600; color: #252629; }
.admin-page .secondary { color: #555a4e; background: #fff; border-color: #dfe1d8; border-radius: 7px; font-size: 12px; }
.admin-page .secondary:hover:not(:disabled) { border-color: #aaa891; background: #faf9f1; }
.admin-page .text-button { color: #686d60; }
.admin-page button:disabled { opacity: .46; }
.admin-page input[type="checkbox"], .admin-page input[type="radio"] { accent-color: #8a7400; }
.admin-page :focus-visible { outline: 2px solid #9b8300; outline-offset: 3px; }
.admin-page input:focus, .admin-page select:focus, .admin-page textarea:focus { border-color: #a28b13 !important; box-shadow: 0 0 0 3px #f7d7001a !important; }
.admin-page .stack-form label, .admin-page .ops-field { color: #565b4e; }
.admin-page .stack-form input, .admin-page .stack-form select, .admin-page .stack-form textarea,
.admin-page .admin-photo-filter input, .admin-page .admin-photo-filter select { background: #fff; color: #252629; border-color: #dfe1d8; border-radius: 7px; }
.admin-page .admin-card { border: 1px solid #e4e6dd; border-radius: 12px; padding: 26px; box-shadow: 0 2px 6px #25262902; }
.admin-page .card-heading h2 { font-size: 17px; font-weight: 650; }
.admin-page .card-heading { margin-bottom: 24px; }
.admin-page .settings-fieldset { border-color: #e4e6dd; background: #fff; }
.admin-page .settings-fieldset legend { color: #555a4e; font-weight: 600; }
.admin-page .queue-notice { background: #f7f7f0; color: #6c715f; border-color: #e7e8da; border-radius: 8px; line-height: 1.9; }
.admin-page .section-tag { font-size: 11px; color: #7b7042; background: #fbf6de; border: 1px solid #ece5bf; border-radius: 5px; padding: 4px 9px; }

/* The library is the everyday home screen. */
.admin-page .overview-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0 0 30px; border: 1px solid #e4e6dd; background: #fff; border-radius: 11px; padding: 18px 0; }
.admin-page .overview-grid[hidden] { display: none; }
.admin-page .overview-card { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 0 22px; border: 0; border-right: 1px solid #e8e9e2; border-radius: 0; background: transparent; }
.admin-page .overview-card:last-child { border-right: 0; }
.admin-page .overview-card > span { color: #7e8376; font-size: 11px; }
.admin-page .overview-card > strong { color: #33382b; font-size: 25px; font-weight: 600; line-height: 1.5; font-variant-numeric: tabular-nums; }
.admin-page .album-library-toolbar { gap: 18px; align-items: center; margin-bottom: 16px; }
.admin-page .album-library-toolbar h2 { font-size: 17px; letter-spacing: -.3px; }
.admin-page .album-library-toolbar h2 #album-library-title { margin-left: 0; font-weight: 600; }
.admin-page #album-library-count { display: inline-block; font-size: 11px; background: #e7e9df; color: #747969; border-radius: 5px; padding: 1px 7px; vertical-align: 2px; }
.admin-page .album-library-toolbar > div > p { display: none; }
.admin-page .album-library-actions { gap: 9px; }
.admin-page .album-library-search { background: #fff; border: 1px solid #dfe1d8; min-height: 40px; border-radius: 7px; }
.admin-page .album-library-search input { font-size: 12px; width: 195px; }
.admin-page .album-library-search > span { color: #919684; }
.admin-page .album-view-options { background: #e9ebe3; border-color: #e1e3d8; padding: 3px; border-radius: 7px; }
.admin-page .album-view-options button { color: #818775; }
.admin-page .album-view-options button[aria-pressed="true"] { background: #fff; color: #424938; box-shadow: 0 1px 3px #2526290a; }
.admin-page .library-advanced { margin: 0 0 18px; }
.admin-page .library-advanced > summary { display: inline-block; list-style: none; font-size: 11px; color: #858b78; cursor: pointer; }
.admin-page .library-advanced > summary::before { content: "+"; margin-right: 6px; font-size: 14px; }
.admin-page .library-advanced[open] > summary::before { content: "−"; }
.admin-page .library-advanced .album-date-range { background: #eeefe8; padding: 14px; border-radius: 9px; margin: 10px 0 0; }
.admin-page .event-list.album-card-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px; }
.admin-page .event-card { gap: 6px; border: 1px solid #e4e6dd; border-radius: 11px; box-shadow: 0 3px 8px #25262903; padding-bottom: 0; transition: border-color .16s, box-shadow .16s, transform .16s; }
.admin-page .event-card:hover { border-color: #b9b69a; box-shadow: 0 8px 24px #2526290a; transform: translateY(-2px); }
.admin-page .event-card.active { border-color: #c7bd79; background: #fff; }
.admin-page .event-card-cover { position: relative; aspect-ratio: 1.85; max-height: 240px; background: #292b2b; }
.admin-page .event-card-cover .image-frame { position: absolute; inset: 0; }
.admin-page .event-card-cover .event-card-brand { width: 60%; height: 65%; object-fit: contain; opacity: .9; }
.admin-page .event-card-badge { position: absolute; z-index: 1; top: 13px; left: 13px; font-size: 10px; padding: 3px 8px; color: #fff; background: #20212499; backdrop-filter: blur(8px); border: 1px solid #ffffff20; border-radius: 4px; }
.admin-page .event-card > strong { font-size: 15px; font-weight: 600; padding: 11px 20px 0; }
.admin-page .event-card > .event-card-meta { color: #8a8e81; font-size: 11px; padding: 0 20px; }
.admin-page .event-card > .event-card-rule { color: #777e6b; font-size: 11px; padding: 0 20px 12px; }
.admin-page .event-card > .event-card-entry { border-top: 1px solid #f0f0e9; color: #696f5d; font-size: 11px; padding: 12px 20px; margin-top: auto; text-align: right; }
.admin-page .event-card:hover > .event-card-entry { color: #786400; background: #fffdf1; }
.admin-page .event-list.album-list-view .event-card { padding: 14px; transform: none; }
.admin-page .event-list.album-list-view .event-card > .event-card-entry { border: 0; padding: 4px 12px; grid-column: auto; }

/* Each album has one focused screen for each kind of work. */
.admin-page .album-detail-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; align-items: center; border-color: #e2e5d9; margin-bottom: 22px; padding-bottom: 18px; }
.admin-page .album-detail-heading .album-breadcrumb { grid-column: 1; grid-row: 1; }
.admin-page .album-detail-heading .album-context-meta { grid-column: 1; grid-row: 2; margin: 0; }
.admin-page .album-detail-heading #album-trash { grid-column: 2; grid-row: 1 / 3; align-self: center; white-space: nowrap; }
.admin-page .album-breadcrumb button { color: #777e69; }
.admin-page .album-context-meta { color: #909684; }
.admin-page #album-trash { color: #9c766c; }
.admin-page .album-detail-layout { grid-template-columns: 158px minmax(0, 1fr); gap: 24px; }
.admin-page .album-context-nav.settings-nav { display: grid; padding: 0; gap: 20px; background: transparent; border-radius: 0; top: 22px; }
.admin-page .album-nav-group { display: grid; gap: 3px; }
.admin-page .album-nav-label { margin: 0 0 5px; padding: 0 12px; font-size: 10px; color: #949b86; letter-spacing: 1px; }
.admin-page .album-context-nav button { display: flex; align-items: center; gap: 8px; color: #7b836d; min-height: 39px; padding: 10px 12px; border: 1px solid transparent; border-radius: 6px; font-size: 12px; }
.admin-page .album-context-nav button:hover { background: #eceee3; color: #4b543c; }
.admin-page .album-context-nav button.active { background: #fff8cc; color: #635411; border-color: #e9dfa6; box-shadow: none; font-weight: 650; }
.admin-page .album-context-nav button.active::before { content: ""; width: 4px; height: 14px; background: #d0b500; border-radius: 2px; }
.admin-page .event-workspace { max-width: none; }
.admin-page .upload-panel { background: #fff; }
.admin-page .upload-disclosure-action { color: #5d622f; background: #fff9d8; border: 1px solid #e9e2b6; border-radius: 6px; padding: 7px 12px; font-size: 11px; }
.admin-page .file-drop { background: #fffdf1; border-color: #ded6a4; color: #7e7b5f; }
.admin-page .admin-search { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; padding-bottom: 0; max-width: none; }
.admin-page .admin-search > .admin-photo-filter { flex: 1 1 180px; }
.admin-page .admin-photo-filter { color: #777f69; font-size: 11px; }
.admin-page .admin-search > button { min-height: 40px; }
.admin-page .photo-filter-advanced { width: 100%; }
.admin-page .photo-filter-advanced > summary { cursor: pointer; color: #858d77; font-size: 11px; width: max-content; }
.admin-page .photo-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-top: 14px; }
.admin-page .photo-batch-toolbar { background: #f7f8f2; border-color: #e6e9db; padding: 13px; border-radius: 8px; }
.admin-page .photo-batch-actions { gap: 6px; }
.admin-page .photo-batch-actions button { background: #fff; }
.admin-page .photo-batch-actions:not(:has(button:enabled)),
.admin-page #open-bib-ocr:disabled,
.admin-page #open-batch-labels:disabled { display: none; }
.admin-page .photo-operation-help { margin: 12px 0 17px; color: #858b78; font-size: 11px; }
.admin-page .photo-operation-help > summary { cursor: pointer; }
.admin-page .admin-photo-card { border-color: #e2e6d6; border-radius: 9px; }
.admin-page .admin-photo-info { background: #fff; }
.admin-page .admin-photo-info > strong { color: #535e40; }
.admin-page .feature-panel .feature-options { grid-template-columns: 1fr; }
.admin-page .feature-panel .feature-options label { display: flex; align-items: center; gap: 12px; border-color: #ecede4; }
.admin-page .feature-options input { width: 17px; height: 17px; flex: none; }
.admin-page .follow-guide-settings { border: 0; padding: 0; margin: 0; }
.admin-page .follow-guide-settings h3 { margin: 0 0 10px; }
.admin-page .follow-guide-settings > .field-help { max-width: 720px; }
.admin-page #follow-account-form { max-width: 520px; margin: 25px 0; }
.admin-page #follow-qr-form { max-width: 520px; border-top: 1px solid #e5e8da; padding-top: 24px; }
.admin-page .branding-preview, .admin-page .opening-image-preview { background: #f7f8f2; border-color: #e0e5d3; }
.admin-page .face-service-status { border: 0; padding: 0; margin: 0; }
.admin-page .face-index-management { border-color: #e5e8d9; }
.admin-page .advanced-execution { margin-top: 25px; border: 1px solid #e5e0c9; border-radius: 8px; background: #fffdf4; padding: 15px 18px; }
.admin-page .advanced-execution > summary { color: #7c7251; cursor: pointer; font-size: 12px; font-weight: 600; }
.admin-page .face-index-action { border-top: 0; padding-top: 16px; margin-top: 0; }
.admin-page .opening-enabled { background: #fff9d8; }
.admin-page .platform-phone { border-color: #30332b; }
.admin-page .platform-phone-header { background: #fff; }
.admin-page .platform-phone-body { background: #f7f8f2; }
.admin-page .platform-phone-tabs button.active { color: #827000; }
.admin-page .platform-preview-placeholder { background: #e9ecdf; color: #7f896c; }
.admin-page .stats-card > strong { color: #444e32; }
.admin-page .staff-account.active { border-color: #d4bf60; background: #fffbe7; }

/* A quiet branded sign-in screen. */
.admin-page .login-shell { min-height: calc(100dvh - 76px); display: grid; place-items: center; margin: 0 auto; padding: 50px 24px; background: transparent; box-sizing: border-box; }
.admin-page .login-card { width: min(440px, 100%); border: 1px solid #e2e5d8; background: #fff; border-radius: 16px; padding: 38px; box-shadow: none; box-sizing: border-box; }
.admin-page .login-brand { width: 174px; margin-bottom: 30px; }
.admin-page .login-brand img { width: 100%; display: block; filter: url(#login-logo-ink); }
.admin-page .auth-switch { display:flex; gap:6px; border-bottom:1px solid #e8e9e2; margin:20px 0 22px; }
.admin-page .auth-switch button { flex:1; padding:10px 4px; border:0; border-bottom:2px solid transparent; background:transparent; color:#7a7d74; font-size:12px; }
.admin-page .auth-switch button.active { color:#252629; border-color:#d4b800; font-weight:650; }
.admin-page .phone-code-row { display:flex; gap:10px; }
.admin-page .phone-code-row input { min-width:0; flex:1; border:1px solid #dfe1d8; border-radius:7px; padding:11px 12px; font:inherit; }
.admin-page .phone-code-row button { white-space:nowrap; padding:0 12px; }
.admin-page .staff-login-link { color:#717566; font-size:12px; text-align:center; }
.admin-page .registered-account { border-top:1px solid #e8e9e2; padding:22px 0; }
.admin-page .registered-account-heading { display:flex; justify-content:space-between; gap:12px; margin-bottom:14px; }
.admin-page .registered-account form { max-width:620px; }
.admin-page .registered-account form > button { align-self:flex-start; }
.admin-page .registered-grants label { display:flex; flex-direction:row; align-items:center; gap:8px; margin:8px 0; }
.admin-page .registered-grants input { width:16px; height:16px; }
.admin-page .login-card h1 { font-size: 25px; color: #303629; margin: 9px 0; }
.admin-page .login-card .stack-form { margin-top: 26px; }
.admin-page .login-card .fine-print { color: #969e88; margin-top: 20px; font-size: 11px; }

@media (min-width: 1600px) {
  .admin-page .admin-main { padding: 42px 48px 70px; }
}
@media (max-width: 1150px) {
  .admin-page .admin-layout { grid-template-columns: 196px minmax(0, 1fr); }
  .admin-page .admin-main { padding: 27px 24px 45px; }
  .admin-page .album-library-toolbar { align-items: flex-start; }
  .admin-page .album-library-actions { width: 100%; }
  .admin-page .album-library-search { flex: 1; }
  .admin-page .album-library-search input { width: 100%; }
  .admin-page .album-detail-layout { grid-template-columns: 140px minmax(0, 1fr); gap: 18px; }
  .admin-page .photo-filter-grid { grid-template-columns: 1fr; }
  .admin-page .event-list.album-card-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
}
@media (max-width: 950px) {
  .admin-page .admin-layout { display: block; }
  .admin-page .admin-sidebar { height: auto; position: static; padding: 10px 16px; }
  .admin-page .sidebar-heading, .admin-page .sidebar-note, .admin-page .sidebar-group-title { display: none; }
  .admin-page .admin-sidebar nav { flex-direction: row; flex-wrap: wrap; gap: 5px; }
  .admin-page .sidebar-group { display: contents; }
  .admin-page .admin-sidebar nav button { font-size: 11px; padding: 9px 11px; min-height: 39px; gap: 7px; }
  .admin-page .nav-icon { width: 16px; height: 16px; }
}
@media (max-width: 680px) {
  .admin-page .topbar { height: 65px; padding: 0 16px; }
  .admin-page .brand-logo { width: 122px; height: 44px; }
  .admin-page .admin-brand { gap: 12px; }
  .admin-page .brand-product { font-size: 11px; letter-spacing: 0; }
  .admin-page .top-actions { gap: 0; }
  .admin-page .admin-role { display: none; }
  .admin-page .top-actions .text-button { font-size: 11px; }
  .admin-page .admin-main { padding: 23px 16px 40px; }
  .admin-page .admin-heading { margin-bottom: 20px; gap: 10px; align-items: flex-start; }
  .admin-page .admin-heading h1 { font-size: 23px; }
  .admin-page .admin-heading-description { max-width: 230px; line-height: 1.8; }
  .admin-page .admin-heading > button { padding: 0 12px; min-height: 35px; font-size: 11px; }
  .admin-page .admin-sidebar { padding: 9px 12px; }
  .admin-page .admin-sidebar nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  .admin-page .admin-sidebar nav button { justify-content: center; padding: 9px 5px; white-space: nowrap; }
  .admin-page .overview-grid { padding: 13px 0; margin-bottom: 23px; }
  .admin-page .overview-card { padding: 0 9px; }
  .admin-page .overview-card > span { font-size: 9px; }
  .admin-page .overview-card > strong { font-size: 21px; }
  .admin-page .album-library-actions { gap: 7px; }
  .admin-page .album-library-search { flex-basis: 100%; }
  .admin-page .album-library-actions > .primary { width: auto; margin-left: auto; font-size: 12px; padding: 0 12px; }
  .admin-page #album-state-switch { font-size: 11px; padding: 0 10px; }
  .admin-page .album-view-options { font-size: 10px; }
  .admin-page .event-list.album-card-grid { grid-template-columns: 1fr; gap: 18px; }
  .admin-page .event-card-cover { aspect-ratio: 1.9; }
  .admin-page .event-card > strong { font-size: 16px; }
  .admin-page .album-detail-layout { display: block; }
  .admin-page .album-detail-heading { grid-template-columns: 1fr; }
  .admin-page .album-detail-heading #album-trash { grid-column: 1; grid-row: 3; justify-self: start; padding-left: 0; }
  .admin-page .album-context-nav.settings-nav { display: flex; gap: 10px; overflow-x: auto; flex-wrap: nowrap; padding: 0 0 13px; margin-bottom: 15px; }
  .admin-page .album-nav-group { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 4px; max-width: 284px; border-right: 1px solid #e1e6d5; padding-right: 10px; }
  .admin-page .album-nav-label { width: 100%; padding-left: 4px; font-size: 9px; margin-bottom: 1px; }
  .admin-page .album-context-nav button { min-height: 34px; padding: 7px 10px; font-size: 11px; white-space: nowrap; }
  .admin-page .admin-card { padding: 20px; }
  .admin-page .admin-search > .admin-photo-filter { flex: 1 1 100%; }
  .admin-page .admin-search > button { flex: 1; width: auto; }
  .admin-page .photo-filter-grid { grid-template-columns: 1fr; }
  .admin-page .login-shell { min-height: calc(100dvh - 65px); padding: 32px 18px; }
  .admin-page .login-card { padding: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .admin-page .event-card { transition: none; }
}

/* Refined workspace hierarchy and compact album navigation. */
.admin-page { --paper:#f6f6f3; --ink:#242528; }
.admin-page .admin-sidebar { padding-top:24px; }
.admin-page .sidebar-heading { padding-bottom:18px; }
.admin-page .sidebar-group-title { color:#b5b6ae; font-size:11px; letter-spacing:.5px; }
.admin-page .admin-sidebar nav { gap:16px; }
.admin-page .admin-sidebar nav button { min-height:44px; font-size:13px; }
.admin-page .admin-sidebar nav button.active { background:#f7d700; }
.admin-page .admin-heading-description { color:#686d63; font-size:13px; }
.admin-page .admin-card { border-color:#e6e7df; box-shadow:0 6px 24px rgba(28,30,24,.035); }
.admin-page .overview-grid { border-color:#e6e7df; box-shadow:0 6px 24px rgba(28,30,24,.035); }
.admin-page .overview-card > span { color:#666c60; font-size:12px; }
.admin-page .album-detail-layout { grid-template-columns:170px minmax(0,1fr); }
.admin-page .album-context-nav.settings-nav { border:1px solid #e8e9e2; background:#fff; border-radius:12px; padding:14px 9px; gap:15px; }
.admin-page .album-nav-label { color:#70756b; font-size:11px; letter-spacing:0; }
.admin-page .album-context-nav button { color:#545b4e; font-size:13px; }
.admin-page .album-context-nav button.active { background:#fff7c2; color:#4a3d00; border-color:#eee19d; }
.admin-page .album-section-picker { display:none; }
@media (max-width:1150px) and (min-width:951px) {
  .admin-page .album-detail-layout { grid-template-columns:155px minmax(0,1fr); }
}
@media (max-width:950px) {
  .admin-page .admin-sidebar { overflow:visible; }
  .admin-page .admin-sidebar nav { flex-wrap:nowrap; overflow-x:auto; padding-bottom:3px; scrollbar-width:thin; }
  .admin-page .admin-sidebar nav button { flex:0 0 auto; }
}
@media (max-width:680px) {
  .admin-page .admin-sidebar nav { display:flex; gap:5px; }
  .admin-page .admin-sidebar nav button { justify-content:flex-start; padding:9px 12px; font-size:12px; }
  .admin-page .album-context-nav.settings-nav { display:none; }
  .admin-page .album-section-picker { display:grid; gap:6px; margin:0 0 18px; color:#666c60; font-size:12px; font-weight:600; }
  .admin-page .album-section-picker select { width:100%; min-height:44px; padding:8px 12px; border:1px solid #dedfd6; border-radius:8px; background:#fff; color:#252629; font:inherit; font-size:14px; }
  .admin-page .overview-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 0; }
  .admin-page .overview-card:nth-child(3) { border-right:0; }
  .admin-page .overview-card > span { font-size:11px; }
}
.admin-page .overview-grid { gap:12px; padding:0; background:transparent; border:0; box-shadow:none; }
.admin-page .overview-card { min-height:92px; box-sizing:border-box; padding:17px 18px; background:#fff; border:1px solid #e6e7df; border-radius:10px; box-shadow:0 3px 14px rgba(28,30,24,.025); }
.admin-page .overview-card:last-child { border-right:1px solid #e6e7df; }
.admin-page .overview-card > strong { color:#252629; }
.admin-page .sidebar-note { padding-top:13px; }
.admin-page .sidebar-note p { margin-top:4px; }
.admin-page .album-library-toolbar h2 { font-size:19px; }
.admin-page .event-card { overflow:hidden; }
@media (max-width:680px) {
  .admin-page .overview-grid { gap:8px; }
  .admin-page .overview-card { min-height:76px; padding:10px; }
  .admin-page .overview-card:nth-child(3) { border-right:1px solid #e6e7df; }
}
/* User invitations, compact account management, and common operational actions. */
.admin-page .invitation-card { margin-bottom:22px; }
.admin-page .invitation-form { display:grid; grid-template-columns:minmax(160px,1fr) minmax(140px,.65fr); gap:16px; }
.admin-page .invitation-form > label,.admin-page .account-filters label { display:grid; gap:7px; color:#555b50; font-size:13px; }
.admin-page .invitation-form input:not([type=checkbox]),.admin-page .invitation-form select,.admin-page .account-filters input,.admin-page .account-filters select,.admin-page #queue-pickup { min-height:42px; width:100%; box-sizing:border-box; padding:9px 11px; border:1px solid #dfe1d8; border-radius:7px; background:#fff; color:#252629; font:inherit; }
.admin-page .invitation-form > fieldset,.admin-page .invitation-form > p { grid-column:1/-1; }
.admin-page .invitation-form > button { justify-self:start; padding-inline:22px; }
.admin-page .invitation-grants label { display:flex; align-items:center; gap:8px; margin:8px 0; }
.admin-page .invitation-list-heading { margin-top:26px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.admin-page .invitation-list-heading h3 { font-size:15px; }
.admin-page .invitation-record { display:flex; align-items:start; justify-content:space-between; gap:16px; padding:14px 0; border-top:1px solid #eeeeea; }
.admin-page .invitation-record p { margin:4px 0 0; }
.admin-page .account-filters { display:grid; grid-template-columns:2fr 1fr 1fr auto; align-items:end; gap:12px; margin:20px 0; }
.admin-page .account-filters button { padding-inline:22px; }
.admin-page .account-result-count { font-size:12px; color:#70766a; }
.admin-page details.registered-account { padding:0; }
.admin-page .registered-account-heading { cursor:pointer; align-items:center; padding:17px 2px; margin:0; list-style:none; }
.admin-page .registered-account-heading::-webkit-details-marker { display:none; }
.admin-page .account-person,.admin-page .account-tags { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.admin-page .account-role-chip,.admin-page .account-request-chip { border-radius:5px; padding:3px 8px; background:#f0f1eb; color:#555b50; font-size:12px; }
.admin-page .account-request-chip { background:#fff5bf; color:#6b5500; }
.admin-page .account-edit-hint { color:#6d7367; font-size:12px; }
.admin-page .registered-account form { padding:0 0 20px; }
.admin-page .account-pagination { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding-top:18px; }
.admin-page .photo-quick-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:-8px 0 20px; color:#6d7468; font-size:12px; }
.admin-page .platform-state { margin:0 0 4px; padding:11px 14px; border-radius:8px; background:#f1f2ed; color:#4e5749; font-size:13px; font-weight:600; }
.admin-page .platform-state[data-state=editing],.admin-page .platform-state[data-state=draft] { background:#fff6ca; color:#675300; }
.admin-page .platform-group-title { margin:12px 0 0; padding-top:16px; border-top:1px solid #eceee6; font-size:15px; }
@media(max-width:680px) { .admin-page .invitation-form,.admin-page .account-filters { grid-template-columns:1fr; } .admin-page .invitation-form > fieldset,.admin-page .invitation-form > p { grid-column:auto; } .admin-page .registered-account-heading { align-items:flex-start; flex-direction:column; } .admin-page .invitation-record { flex-direction:column; } }
.admin-page .invitation-form > .invitation-consent { grid-column:1/-1; display:flex; align-items:flex-start; gap:8px; line-height:1.6; }
.admin-page .invitation-consent input { margin-top:3px; accent-color:#8a7400; }
