:root{--sky:#55c7d8;--forest:#0f3c35;--fox:#ef6a32;--ink:#1d2e29;--muted:#718078;--danger:#b93f38}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at 15% 0%,rgba(85,199,216,.22),transparent 28rem),linear-gradient(#edf4ef,#f8f5ed)}
.admin-shell{width:min(1180px,calc(100% - 32px));margin:auto;padding-bottom:48px}.admin-header{min-height:110px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 2px 20px}.admin-header h1{margin:2px 0 0;font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.05em}.admin-header nav{display:flex;gap:8px;flex-wrap:wrap}.admin-header nav a{padding:10px 13px;border-radius:999px;text-decoration:none;font-size:.86rem;font-weight:800}.admin-header nav a:hover{background:rgba(15,60,53,.08)}
.eyebrow{margin:0;color:var(--fox);font-size:.68rem;font-weight:900;letter-spacing:.16em}.panel,.memory-card{background:rgba(255,255,255,.84);border:1px solid rgba(15,60,53,.1);box-shadow:0 14px 40px rgba(15,60,53,.08)}.panel{border-radius:22px;padding:22px}.narrow{max-width:520px;margin:60px auto}.lead{color:var(--muted);line-height:1.6}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin:10px 0 22px}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.memory-card{overflow:hidden;border-radius:22px}.preview-image{display:block;aspect-ratio:16/10;background:#062923;overflow:hidden}.preview-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.preview-image:hover img{transform:scale(1.025)}.memory-card-body{padding:18px}.card-kicker{margin:0 0 7px;color:var(--fox);font-size:.67rem;font-weight:900;letter-spacing:.12em}.memory-card h2{margin:0 0 12px}.memory-card code,.code-panel code{display:block;overflow-wrap:anywhere;color:#527067;font-size:.72rem}.card-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.card-actions form{margin:0}
.button{min-height:42px;border:0;border-radius:999px;padding:9px 14px;display:inline-grid;place-items:center;text-align:center;text-decoration:none;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer;transition:.18s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--forest);color:#fff}.button.subtle{background:#edf3ee;color:var(--forest)}.button.danger{width:100%;background:#faecea;color:var(--danger)}
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.form-side{display:grid;gap:16px;position:sticky;top:18px}.form-stack{display:grid;gap:16px}label{display:grid;gap:7px}label>span{font-size:.79rem;font-weight:800;color:#425b52}input,textarea{width:100%;border:1px solid rgba(15,60,53,.18);border-radius:12px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit}input:focus,textarea:focus{border-color:var(--sky);outline:3px solid rgba(85,199,216,.12)}textarea{resize:vertical;min-height:140px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:13px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.current-image{width:100%;max-height:270px;object-fit:cover;border-radius:14px}.or{text-align:center;color:var(--muted);font-size:.73rem}.save-button{width:100%;min-height:52px;background:var(--fox)!important}.notice{padding:12px 14px;border-radius:12px;margin-bottom:16px}.notice.error{background:#fae7e5;color:#862f2a}.empty{grid-column:1/-1;text-align:center;padding-block:70px}
@media(max-width:900px){.memory-grid{grid-template-columns:repeat(2,1fr)}.editor-layout{grid-template-columns:1fr}.form-side{position:static}}@media(max-width:620px){.admin-header{align-items:flex-start;flex-direction:column}.memory-grid,.two-col{grid-template-columns:1fr}}

/* ADMIN HERO PREVIEW V35 */
.hero-preview-admin {
  aspect-ratio: 16 / 9;
  max-height: none;
}


/* ============================================================
   EVENT SUBMISSION ADMIN V37
   ============================================================ */
.generated-codes {
  min-height: 9rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .08em;
}

.admin-table-wrap {
  overflow-x: auto;
  margin-top: 1rem;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .76rem;
}

.admin-table th,
.admin-table td {
  padding: .75rem .65rem;
  border-bottom: 1px solid rgba(15,60,53,.09);
  text-align: left;
  white-space: nowrap;
}

.admin-table th {
  color: #60736b;
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: .28rem .55rem;
  border-radius: 999px;
  background: #edf3ee;
  color: #31564d;
  font-size: .6rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.status-used,
.status-approved {
  background: #e4f2ea;
  color: #28704f;
}

.status-expired,
.status-rejected {
  background: #fae7e5;
  color: #9b4039;
}

.status-pending {
  background: #fff1d9;
  color: #936320;
}

.submission-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.submission-private-thumb {
  aspect-ratio: 16/10;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 35%, rgba(85,199,216,.18), transparent 9rem),
    #0d3d35;
  color: rgba(255,255,255,.72);
  font-size: .7rem;
  font-weight: 850;
}

.submission-excerpt {
  color: #65756f;
  font-size: .75rem;
  line-height: 1.5;
}

.submission-meta {
  display: flex;
  justify-content: space-between;
  gap: .6rem;
  color: #8a9691;
  font-size: .62rem;
}

.submission-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .6rem;
  margin-top: 1rem;
}

.submission-user-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #73817b;
  font-size: .7rem;
}

.submission-private-image img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: contain;
  border-radius: 16px;
  background: #0f3c35;
}

select {
  width: 100%;
  border: 1px solid rgba(15,60,53,.18);
  border-radius: 12px;
  padding: 11px 12px;
  background: white;
  color: var(--ink);
  font: inherit;
}

@media(max-width:900px){
  .submission-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:620px){
  .submission-grid{grid-template-columns:1fr}
}


/* COMMUNITY MEMORIES V38 */
.community-success,
.community-edit-notice {
  background: linear-gradient(135deg, #eef8f2, #fff4e8);
  color: #31564d;
  border: 1px solid rgba(239,106,50,.16);
}
.community-edit-notice {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .35rem;
}
.community-edit-notice strong {
  color: var(--fox);
  font-size: .72rem;
  letter-spacing: .1em;
}
.community-edit-notice span {
  width: 100%;
  color: #718078;
  font-size: .7rem;
}
.memory-admin-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}
.memory-admin-label-row .card-kicker { margin-bottom: 0; }
.community-admin-badge {
  display: inline-flex;
  padding: .25rem .45rem;
  border-radius: 999px;
  background: rgba(239,106,50,.10);
  color: var(--fox);
  font-size: .52rem;
  font-weight: 950;
  letter-spacing: .09em;
}
.community-admin-event {
  margin: -.2rem 0 .7rem;
  color: #74847d;
  font-size: .65rem;
}
.community-publish-panel,
.community-published-panel {
  border-color: rgba(239,106,50,.16);
  background: radial-gradient(circle at 100% 0%, rgba(239,106,50,.08), transparent 10rem), rgba(255,255,255,.84);
}
.community-publish-panel h3,
.community-published-panel h3 { margin: 0; }
.community-publish-button {
  background: var(--fox);
  color: white;
}
.status-published {
  background: linear-gradient(135deg, #e4f2ea, #fff0df);
  color: #a25028;
}


/* CODE MANAGEMENT V39 */
.full-submission-code {
  font-size: .78rem;
  letter-spacing: .1em;
  color: #203730;
  user-select: all;
}

.code-delete-button {
  border: 0;
  background: transparent;
  color: #a5423c;
  font: inherit;
  font-size: .62rem;
  font-weight: 850;
  cursor: pointer;
}

.code-delete-button:hover {
  text-decoration: underline;
}

.code-locked {
  color: #98a29e;
  font-size: .6rem;
  font-weight: 750;
}

.code-delete-bulk {
  display: flex;
  align-items: end;
  gap: .7rem;
  flex-wrap: wrap;
}

.code-delete-bulk label {
  min-width: min(100%, 240px);
}

.button.danger {
  background: #a5423c;
  color: white;
}

@media(max-width:620px){
  .code-delete-bulk {
    align-items: stretch;
    flex-direction: column;
  }
}


/* ============================================================
   REGISTERED USERS V46
   ============================================================ */
.users-toolbar {
  align-items: center;
  gap: 1rem;
}

.users-search-form {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-left: auto;
}

.users-search-form input[type="search"] {
  min-width: 260px;
  min-height: 2.45rem;
  border: 1px solid rgba(15,60,53,.15);
  border-radius: 999px;
  padding: .55rem .85rem;
  background: rgba(255,255,255,.9);
  color: var(--ink);
  font: inherit;
}

.users-panel {
  overflow: hidden;
}

.users-table .user-email {
  color: #31564d;
  font-weight: 850;
  text-decoration: none;
}

.users-table .user-email:hover {
  text-decoration: underline;
}

.user-stat {
  display: inline-flex;
  min-width: 2rem;
  min-height: 1.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(15,60,53,.07);
  color: #31564d;
  font-size: .66rem;
  font-weight: 900;
}

.users-privacy-note {
  margin-top: 1rem;
}

.users-privacy-note .lead {
  margin-bottom: 0;
}

@media(max-width:720px){
  .users-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .users-search-form {
    width: 100%;
    margin-left: 0;
    flex-wrap: wrap;
  }

  .users-search-form input[type="search"] {
    min-width: 0;
    width: 100%;
    flex: 1 1 100%;
  }
}


/* EVENT COLLECTIONS V48 */
.event-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}

.event-admin-card {
  display: grid;
  gap: .7rem;
}

.event-admin-card-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.event-admin-card h2 {
  margin: .15rem 0 0;
}

.event-memory-count {
  flex: 0 0 auto;
  padding: .3rem .5rem;
  border-radius: 999px;
  background: rgba(85,199,216,.10);
  color: #3f8fbd;
  font-size: .58rem;
  font-weight: 900;
}

.event-admin-date {
  margin: 0;
  color: #75857d;
  font-size: .68rem;
}

.event-admin-actions {
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
}

.checkbox-row {
  display: flex !important;
  align-items: center;
  gap: .55rem;
}

.checkbox-row input {
  width: auto;
}

.treasure-settings-panel {
  border-color: rgba(85,199,216,.16);
  background:
    radial-gradient(circle at 100% 0%, rgba(85,199,216,.08), transparent 11rem),
    rgba(255,255,255,.84);
}

.event-assignment-badge {
  display: inline-flex;
  width: fit-content;
  margin: .15rem 0 .55rem;
  padding: .22rem .4rem;
  border-radius: 999px;
  background: rgba(85,199,216,.10);
  color: #3f8fbd;
  font-size: .5rem;
  font-weight: 900;
  letter-spacing: .07em;
}

@media(max-width:800px){
  .event-admin-grid {
    grid-template-columns: 1fr;
  }
}


/* STANDARD + BONUS EVENT MEMORIES V49 */
.event-assignment-badge.is-bonus {
  background: rgba(139,99,170,.10);
  color: #80579f;
}


/* ============================================================
   EVENT LOGOS V50
   ============================================================ */
.event-admin-identity {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}

.event-admin-logo {
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(15,60,53,.05);
  border: 1px solid rgba(15,60,53,.06);
}

.event-admin-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}

.event-logo-editor {
  display: grid;
  gap: .55rem;
}

.event-logo-preview {
  width: 132px;
  height: 96px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(15,60,53,.10);
  background:
    linear-gradient(45deg, rgba(15,60,53,.035) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(15,60,53,.035) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(15,60,53,.035) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(15,60,53,.035) 75%);
  background-size: 16px 16px;
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
}

.event-logo-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.event-assignment-wrap {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  margin: .15rem 0 .55rem;
}

.event-assignment-logo {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 7px;
  background: rgba(15,60,53,.05);
}

.event-assignment-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 2px;
}

.event-assignment-wrap .event-assignment-badge {
  margin: 0;
}


/* ============================================================
   SUBMISSION MANUAL CLEANUP V60
   ============================================================ */
.submission-card-actions {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
}

.inline-delete-form {
  display: inline-flex;
  margin: 0;
}

.button.danger-subtle {
  border-color: rgba(171,67,55,.22);
  background: rgba(171,67,55,.07);
  color: #9f463b;
}

.button.danger-subtle:hover,
.button.danger-subtle:focus-visible {
  border-color: rgba(171,67,55,.38);
  background: rgba(171,67,55,.12);
  color: #87382f;
}

.submission-delete-panel {
  border-color: rgba(171,67,55,.18);
  background:
    radial-gradient(circle at 100% 0%, rgba(171,67,55,.06), transparent 10rem),
    rgba(255,255,255,.84);
}


/* ============================================================
   POLAROID SHOWCASE ADMIN V61
   ============================================================ */
.polaroid-effect-panel {
  border-color: rgba(82,174,190,.18);
  background:
    radial-gradient(circle at 100% 0%, rgba(82,174,190,.08), transparent 12rem),
    rgba(255,255,255,.85);
}

.effect-admin-preview-list {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}

.effect-chip,
.memory-effect-badge {
  display:inline-flex;
  align-items:center;
  width:fit-content;
  padding:.22rem .42rem;
  border-radius:999px;
  font-size:.5rem;
  font-weight:900;
  letter-spacing:.04em;
}

.effect-chip.spirit {
  background:rgba(91,194,166,.10);
  color:#397c6b;
}
.effect-chip.firefly {
  background:rgba(164,190,70,.12);
  color:#65762b;
}
.effect-chip.rift {
  background:rgba(134,99,205,.11);
  color:#6c4ea4;
}

.effect-chip.gold {
  background:rgba(199,145,48,.12);
  color:#916522;
}

.memory-effect-badge {
  margin:.15rem 0 .45rem;
  background:rgba(82,174,190,.09);
  color:#3e7f8b;
}

/* SHOWCASE EFFECT CHIPS V63 */
.effect-chip.butterfly{background:rgba(63,166,230,.11);color:#3479a7}
.effect-chip.forest{background:rgba(70,164,103,.11);color:#397b50}

.effect-chip.fading{background:rgba(116,128,123,.10);color:#626e69}
.effect-chip.aurora{background:linear-gradient(90deg,rgba(67,198,190,.12),rgba(143,103,220,.12));color:#65558e}


/* ============================================================
   MEMORY TYPE V66
   ============================================================ */

.memory-type-panel {
  border-color:rgba(126,96,58,.14);
  background:
    radial-gradient(circle at 100% 0%,rgba(187,141,76,.07),transparent 12rem),
    rgba(255,255,255,.85);
}

.memory-type-badge {
  display:inline-flex;
  align-items:center;
  width:fit-content;
  margin:.12rem .25rem .4rem 0;
  padding:.22rem .42rem;
  border-radius:999px;
  font-size:.5rem;
  font-weight:900;
  letter-spacing:.07em;
}

.memory-type-badge.memory-type-physical {
  color:#855b2c;
  background:rgba(178,126,61,.11);
}

.memory-type-badge.memory-type-digital {
  color:#377c8c;
  background:rgba(70,165,184,.11);
}


/* ============================================================
   SPECIAL MEMORY / SUBMISSION CODE UNLOCK V74
   ============================================================ */
.memory-unlock-panel {
  border-color: rgba(157,111,241,.18);
  background:
    radial-gradient(circle at 100% 0%,rgba(92,210,206,.10),transparent 13rem),
    radial-gradient(circle at 0% 100%,rgba(157,111,241,.07),transparent 13rem),
    rgba(255,255,255,.88);
}

.special-memory-toggle {
  display:flex !important;
  align-items:flex-start;
  gap:.7rem;
  padding:.78rem;
  border:1px solid rgba(73,126,118,.12);
  border-radius:14px;
  background:rgba(255,255,255,.62);
}

.special-memory-toggle input {
  width:1.15rem;
  height:1.15rem;
  margin-top:.12rem;
  flex:0 0 auto;
}

.special-memory-toggle > span {
  display:grid;
  gap:.22rem;
}

.special-memory-toggle strong {
  font-size:.84rem;
}

.special-memory-admin-note {
  display:grid;
  gap:.22rem;
  padding:.72rem .8rem;
  border-radius:12px;
  background:linear-gradient(135deg,rgba(91,215,205,.08),rgba(157,111,241,.07));
  color:#4a615c;
  font-size:.72rem;
  line-height:1.45;
}


/* ============================================================
   USER RESET ACTIONS V79
   ============================================================ */
.users-table .user-admin-actions {
  min-width:190px;
}

.user-admin-actions {
  display:flex;
  align-items:center;
  gap:.4rem;
  flex-wrap:wrap;
}

.user-admin-actions form {
  margin:0;
}

.user-reset-button {
  white-space:nowrap;
  font-size:.68rem;
  padding:.46rem .62rem;
}

.user-reset-button:disabled {
  opacity:.35;
  cursor:not-allowed;
  pointer-events:none;
}


/* ============================================================
   COMPACT MEMORY ADMIN V83
   ============================================================ */

.memory-admin-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:8px 0 16px;
}

.memory-admin-summary {
  display:flex;
  align-items:baseline;
  gap:.42rem;
  color:#73817b;
  font-size:.72rem;
}

.memory-admin-summary strong {
  color:var(--forest);
  font-size:1.05rem;
}

.memory-admin-summary i {
  width:1px;
  height:1.1rem;
  margin:0 .25rem;
  background:rgba(15,60,53,.12);
}

.memory-admin-add {
  flex:0 0 auto;
}

.memory-admin-filters {
  padding:14px 16px;
  margin-bottom:22px;
}

.memory-admin-filter-grid {
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) minmax(160px,.8fr) auto;
  gap:10px;
  align-items:end;
}

.memory-admin-filter-grid label {
  gap:4px;
}

.memory-admin-filter-grid label > span {
  font-size:.67rem;
}

.memory-admin-filter-grid input,
.memory-admin-filter-grid select {
  min-height:39px;
  padding:8px 10px;
  border-radius:10px;
  font-size:.76rem;
}

.memory-admin-filter-actions {
  display:flex;
  gap:6px;
}

.memory-admin-filter-actions .button {
  min-height:39px;
  padding:8px 12px;
  font-size:.74rem;
}

.memory-admin-section {
  margin-top:22px;
}

.memory-admin-community-section {
  margin-top:30px;
  padding-top:22px;
  border-top:1px dashed rgba(91,154,145,.24);
}

.memory-admin-section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin:0 2px 10px;
}

.memory-admin-section-heading h2 {
  margin:.12rem 0 0;
  color:var(--forest);
  font-size:1.3rem;
  letter-spacing:-.025em;
}

.memory-admin-section-heading > span {
  min-width:2rem;
  padding:.26rem .48rem;
  border-radius:999px;
  background:rgba(15,60,53,.07);
  color:#5d736a;
  font-size:.63rem;
  font-weight:900;
  text-align:center;
}

.memory-admin-community-section .memory-admin-section-heading > span {
  background:rgba(73,169,158,.10);
  color:#3c8279;
}

.memory-admin-section-description {
  max-width:48rem;
  margin:-2px 2px 11px;
  color:#7d8a85;
  font-size:.68rem;
  line-height:1.45;
}

.memory-admin-list {
  display:grid;
  gap:6px;
}

.memory-admin-row {
  min-height:78px;
  display:grid;
  grid-template-columns:62px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:8px 10px;
  border:1px solid rgba(15,60,53,.085);
  border-radius:14px;
  background:rgba(255,255,255,.74);
  box-shadow:0 5px 14px rgba(15,60,53,.035);
  transition:
    background .16s ease,
    border-color .16s ease,
    transform .16s ease;
}

.memory-admin-row:hover {
  border-color:rgba(15,60,53,.15);
  background:rgba(255,255,255,.94);
  transform:translateY(-1px);
}

.memory-admin-row.is-community {
  border-color:rgba(65,158,147,.13);
  background:
    linear-gradient(
      90deg,
      rgba(73,180,165,.045),
      rgba(255,255,255,.82) 26%
    );
}

.memory-admin-polaroid {
  position:relative;
  width:48px;
  height:55px;
  display:block;
  padding:4px 4px 10px;
  justify-self:center;
  border-radius:2px;
  background:linear-gradient(145deg,#fffefa,#f2eadc);
  box-shadow:
    0 4px 9px rgba(24,54,46,.14),
    0 1px 2px rgba(24,54,46,.09);
  transform:rotate(-1.4deg);
  transition:transform .16s ease;
}

.memory-admin-row:nth-child(even) .memory-admin-polaroid {
  transform:rotate(1.2deg);
}

.memory-admin-polaroid:hover {
  transform:rotate(0) scale(1.04);
}

.memory-admin-polaroid img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:1px;
  background:#e9efeb;
}

.memory-admin-main {
  min-width:0;
  display:grid;
  gap:4px;
}

.memory-admin-meta {
  min-width:0;
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}

.memory-admin-event {
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#4b857d;
  font-size:.58rem;
  font-weight:950;
  letter-spacing:.04em;
}

.memory-admin-badge {
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:2px 6px;
  border-radius:999px;
  background:#edf3ee;
  color:#60736b;
  font-size:.5rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.memory-admin-badge-event-type {
  background:rgba(129,103,164,.08);
  color:#745c91;
}

.memory-admin-badge-special {
  background:rgba(85,199,216,.11);
  color:#357d87;
}

.memory-admin-title-line {
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:8px;
}

.memory-admin-title-line strong {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#264b43;
  font-size:.82rem;
}

.memory-admin-title-line > span {
  flex:0 0 auto;
  color:#929d98;
  font-size:.55rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.memory-admin-id {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#9aa49f;
  font-size:.53rem;
}

.memory-admin-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  flex-wrap:wrap;
}

.memory-admin-actions form {
  margin:0;
}

.memory-admin-action {
  min-height:31px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 9px;
  border:0;
  border-radius:8px;
  background:rgba(15,60,53,.055);
  color:#4b665d;
  text-decoration:none;
  font:inherit;
  font-size:.61rem;
  font-weight:850;
  cursor:pointer;
  transition:
    background .14s ease,
    transform .14s ease;
}

.memory-admin-action:hover {
  transform:translateY(-1px);
  background:rgba(15,60,53,.10);
}

.memory-admin-action.is-primary {
  background:#e3efe8;
  color:#285a4e;
}

.memory-admin-action.is-danger {
  background:transparent;
  color:#a55a53;
}

.memory-admin-action.is-danger:hover {
  background:#faecea;
}

.memory-admin-empty {
  display:grid;
  gap:4px;
  padding:22px;
  border-radius:14px;
  box-shadow:none;
  text-align:center;
}

.memory-admin-empty strong {
  color:#536b62;
  font-size:.78rem;
}

.memory-admin-empty span {
  color:#8a9691;
  font-size:.66rem;
}

@media(max-width:900px) {
  .memory-admin-filter-grid {
    grid-template-columns:1fr 1fr;
  }

  .memory-admin-filter-actions {
    align-self:end;
  }

  .memory-admin-row {
    grid-template-columns:58px minmax(0,1fr);
  }

  .memory-admin-actions {
    grid-column:1 / -1;
    justify-content:flex-end;
    padding-top:6px;
    border-top:1px solid rgba(15,60,53,.06);
  }
}

@media(max-width:620px) {
  .memory-admin-topbar {
    align-items:flex-start;
  }

  .memory-admin-summary {
    max-width:70%;
    flex-wrap:wrap;
  }

  .memory-admin-filter-grid {
    grid-template-columns:1fr;
  }

  .memory-admin-filter-actions {
    width:100%;
  }

  .memory-admin-filter-actions .button {
    flex:1 1 0;
  }

  .memory-admin-row {
    grid-template-columns:52px minmax(0,1fr);
    gap:9px;
    padding:7px 8px;
  }

  .memory-admin-polaroid {
    width:43px;
    height:50px;
  }

  .memory-admin-event {
    max-width:145px;
  }

  .memory-admin-title-line {
    display:grid;
    gap:2px;
  }

  .memory-admin-title-line strong {
    font-size:.76rem;
  }

  .memory-admin-title-line > span {
    font-size:.5rem;
  }

  .memory-admin-actions {
    justify-content:flex-start;
  }

  .memory-admin-action {
    min-height:30px;
    padding:5px 8px;
    font-size:.58rem;
  }
}


/* ============================================================
   USER USED-CODE RESET V85
   ============================================================ */
.button.warning {
  background:#fff1d9;
  color:#936320;
}

.button.warning:hover {
  background:#fbe7bf;
}


/* ============================================================
   SUBMISSION CODE ACTIVE / ARCHIVE V86
   ============================================================ */
.code-section-title {
  align-items:flex-start;
}

.code-section-copy {
  margin:.28rem 0 0;
  color:#7d8a85;
  font-size:.68rem;
  line-height:1.45;
}

.code-section-count {
  min-width:2rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.28rem .5rem;
  border-radius:999px;
  background:rgba(15,60,53,.07);
  color:#567068;
  font-size:.64rem;
  font-weight:900;
}

.code-active-panel {
  margin-top:20px;
}

.code-archive-panel {
  margin-top:16px;
  background:rgba(255,255,255,.66);
}

.code-archive-details > summary {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  cursor:pointer;
  list-style:none;
}

.code-archive-details > summary::-webkit-details-marker {
  display:none;
}

.code-archive-details > summary::after {
  content:"⌄";
  order:3;
  margin-top:.25rem;
  color:#80908a;
  font-size:1rem;
  transition:transform .18s ease;
}

.code-archive-details[open] > summary::after {
  transform:rotate(180deg);
}

.code-archive-table-wrap {
  margin-top:1rem;
  padding-top:.65rem;
  border-top:1px solid rgba(15,60,53,.07);
}

.codes-table td:first-child code {
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.055em;
}

.code-table-action {
  text-align:right !important;
}

.code-history-row {
  background:rgba(15,60,53,.018);
}

.code-history-lock {
  display:inline-flex;
  align-items:center;
  min-height:1.65rem;
  padding:.25rem .5rem;
  border-radius:999px;
  background:rgba(15,60,53,.055);
  color:#7b8984;
  font-size:.58rem;
  font-weight:850;
}

.code-delete-archive {
  background:transparent;
  color:#a65d55;
}

.code-empty-state {
  display:grid;
  gap:.25rem;
  padding:1rem .1rem .2rem;
  color:#84918c;
  text-align:center;
}

.code-empty-state strong {
  color:#60736b;
  font-size:.78rem;
}

.code-empty-state span {
  font-size:.66rem;
}

@media(max-width:620px) {
  .code-archive-details > summary {
    gap:.6rem;
  }

  .code-section-copy {
    font-size:.62rem;
  }
}


/* ============================================================
   COMPACT SUBMISSIONS + EVENTS V87
   ============================================================ */

.submission-admin-filter-grid,
.event-admin-filter-grid {
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) minmax(160px,1fr) minmax(150px,.8fr) auto;
  gap:10px;
  align-items:end;
}

.submission-admin-filter-grid label,
.event-admin-filter-grid label {
  gap:4px;
}

.submission-admin-filter-grid label > span,
.event-admin-filter-grid label > span {
  font-size:.67rem;
}

.submission-admin-filter-grid input,
.submission-admin-filter-grid select,
.event-admin-filter-grid input,
.event-admin-filter-grid select {
  min-height:39px;
  padding:8px 10px;
  border-radius:10px;
  font-size:.76rem;
}

/* Submissions */
.submission-admin-row {
  min-height:88px;
}

.submission-admin-polaroid {
  width:50px;
  height:58px;
}

.submission-admin-date {
  color:#8b9691;
  font-size:.56rem;
  font-weight:800;
}

.submission-admin-user {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#687c74;
  font-size:.62rem;
  font-weight:800;
}

.submission-admin-excerpt {
  max-width:720px;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#88938f;
  font-size:.6rem;
}

.submission-admin-row.status-row-pending {
  border-color:rgba(213,153,62,.18);
}

.submission-admin-row.status-row-published {
  border-color:rgba(74,158,118,.17);
}

/* Events */
.event-admin-compact-row {
  min-height:76px;
  grid-template-columns:62px minmax(0,1fr) auto;
}

.event-admin-compact-logo {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  justify-self:center;
  overflow:hidden;
  border-radius:12px;
  background:rgba(15,60,53,.05);
  border:1px solid rgba(15,60,53,.07);
  text-decoration:none;
  color:#4c8b82;
  font-size:1rem;
}

.event-admin-compact-logo img {
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  padding:4px;
}

.event-admin-compact-date {
  color:#89958f;
  font-size:.56rem;
  font-weight:800;
}

.event-admin-compact-stats {
  display:flex;
  gap:8px;
  color:#87928e;
  font-size:.56rem;
  font-weight:800;
}

.event-admin-compact-stats span + span::before {
  content:"·";
  margin-right:8px;
  color:#b0b8b4;
}

@media(max-width:900px) {
  .submission-admin-filter-grid,
  .event-admin-filter-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:620px) {
  .submission-admin-filter-grid,
  .event-admin-filter-grid {
    grid-template-columns:1fr;
  }

  .event-admin-compact-row {
    grid-template-columns:54px minmax(0,1fr);
  }

  .event-admin-compact-logo {
    width:46px;
    height:46px;
  }

  .submission-admin-excerpt {
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
}


/* ============================================================
   ADAPTIVE ADMIN POLAROIDS V90
   ------------------------------------------------------------
   Memory and Submission preview Polaroids now size vertically from the
   real image proportions instead of forcing every source into one crop.
   ============================================================ */

.memory-admin-polaroid,
.submission-admin-polaroid {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible;
}

.memory-admin-polaroid img,
.submission-admin-polaroid img {
  width: 100%;
  height: auto !important;
  max-height: 74px;
  object-fit: contain !important;
  background: #e9efeb;
}

/*
 * Landscape images get a slightly wider print so they do not become tiny
 * strips. Portrait/square images keep the compact original width.
 */
.memory-admin-polaroid:has(img[width]),
.submission-admin-polaroid:has(img[width]) {
  height: auto;
}

/*
 * The row itself may grow a little for tall portrait photos, but remains
 * compact. This is preferable to silently cropping the submitted image.
 */
.memory-admin-row {
  height: auto;
}

/* Avoid old mobile fixed-height rule from reintroducing crop. */
@media(max-width:620px) {
  .memory-admin-polaroid,
  .submission-admin-polaroid {
    height: auto !important;
  }

  .memory-admin-polaroid img,
  .submission-admin-polaroid img {
    max-height: 68px;
  }
}


/* ============================================================
   UNIFORM ADMIN POLAROID PREVIEWS V91
   ============================================================ */

/*
 * Admin lists should remain dense and aligned. The full image is available
 * after opening the Memory/Submission; the list preview therefore returns
 * to a consistent miniature Polaroid size.
 */

.memory-admin-polaroid {
  width: 48px !important;
  height: 55px !important;
  min-height: 55px !important;
  overflow: hidden;
}

.submission-admin-polaroid {
  width: 50px !important;
  height: 58px !important;
  min-height: 58px !important;
  overflow: hidden;
}

.memory-admin-polaroid img,
.submission-admin-polaroid img {
  width: 100%;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  background: #e9efeb;
}

@media(max-width:620px) {
  .memory-admin-polaroid {
    width: 43px !important;
    height: 50px !important;
    min-height: 50px !important;
  }

  .submission-admin-polaroid {
    width: 46px !important;
    height: 53px !important;
    min-height: 53px !important;
  }

  .memory-admin-polaroid img,
  .submission-admin-polaroid img {
    max-height: none !important;
  }
}


/* ============================================================
   SQUARE ADMIN PREVIEWS V92
   ============================================================ */

/*
 * Compact Admin previews now use a consistent square photo area as well.
 * The small Polaroid frame remains fixed-size and aligned row-to-row.
 */

.memory-admin-polaroid,
.submission-admin-polaroid {
  aspect-ratio: 1 / 1 !important;
  width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 4px 4px 10px;
  box-sizing: border-box;
}

.memory-admin-polaroid img,
.submission-admin-polaroid img {
  width: 100%;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

@media(max-width:620px) {
  .memory-admin-polaroid,
  .submission-admin-polaroid {
    width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
  }
}


/* ============================================================
   SHARE EDIT V126
   ============================================================ */

.edit-memory-top-actions{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
}

.share-edit-jump{
  border:1px solid rgba(85,199,216,.22);
}

.share-edit-admin-panel{
  scroll-margin-top:1rem;
  border-color:rgba(85,199,216,.22);
  background:
    radial-gradient(circle at 100% 0%,rgba(85,199,216,.09),transparent 12rem),
    rgba(255,255,255,.86);
}

.share-edit-admin-panel h3{
  margin:.18rem 0 0;
}

.share-edit-admin-copy{
  margin:0;
  font-size:.74rem;
}

.shared-edit-status{
  display:inline-flex;
  align-items:center;
  min-height:1.7rem;
  padding:.28rem .55rem;
  border-radius:999px;
  background:#edf3ee;
  color:#31564d;
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.06em;
}

.shared-edit-status.status-pending{
  background:#fff1d9;
  color:#936320;
}

.shared-edit-status.status-approved{
  background:#e4f2ea;
  color:#28704f;
}

.shared-edit-status.status-revoked{
  background:#fae7e5;
  color:#9b4039;
}

.share-edit-admin-actions,
.shared-edit-review-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  align-items:center;
}

.share-edit-admin-actions form,
.shared-edit-review-actions form{
  margin:0;
}

.share-edit-state-note,
.share-edit-review{
  padding:.85rem;
  border:1px solid rgba(15,60,53,.08);
  border-radius:14px;
  background:rgba(255,255,255,.56);
}

.share-edit-state-note strong,
.share-edit-state-note span{
  display:block;
}

.share-edit-state-note span{
  margin-top:.18rem;
  color:#718078;
  font-size:.7rem;
  line-height:1.45;
}

.share-edit-state-note.is-approved{
  background:#eef8f2;
}

.shared-edit-review-event{
  display:inline-flex;
  margin-top:.4rem;
  padding:.24rem .44rem;
  border-radius:999px;
  background:rgba(85,199,216,.09);
  color:#4e7e82;
  font-size:.58rem;
  font-weight:850;
}

.shared-edit-review-text{
  max-height:12rem;
  overflow:auto;
  color:#536961;
  font-size:.72rem;
  line-height:1.55;
}

.shared-edit-review-images{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.55rem;
}

.shared-edit-review-images figure{
  margin:0;
}

.shared-edit-review-images img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:10px;
  background:#0f3c35;
}

.shared-edit-review-images figcaption{
  margin-top:.25rem;
  color:#718078;
  font-size:.58rem;
}

@media(max-width:620px){
  .shared-edit-review-images{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   SHARE EDIT DOM FIX V128
   ============================================================ */

.post-editor-panels{
  display:grid;
  gap:1rem;
  margin-top:1rem;
}

.post-editor-panels > .panel{
  width:100%;
}


/* ============================================================
   MEMORY IMAGE SAFETY V129
   ============================================================ */

.image-missing-warning{
  display:grid;
  gap:.35rem;
  padding:.8rem;
  border:1px solid rgba(190,76,62,.22);
  border-radius:12px;
  background:rgba(190,76,62,.06);
  color:#8d3d34;
}

.image-missing-warning strong{
  font-size:.72rem;
}

.image-missing-warning code{
  overflow-wrap:anywhere;
  color:#70534d;
  font-size:.62rem;
}


/* ============================================================
   SHARE EDIT REVIEW STATUS IN MEMORY OVERVIEW V131
   ============================================================ */

.memory-share-edit-pending-badge{
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  width:max-content;
  max-width:100%;
  padding:.28rem .52rem;
  border:1px solid rgba(239,106,50,.24);
  border-radius:999px;
  background:rgba(239,106,50,.085);
  color:#9a4d2f;
  text-decoration:none;
  font-size:.49rem;
  font-weight:950;
  letter-spacing:.075em;
  line-height:1.2;
}

.memory-share-edit-pending-badge:hover{
  background:rgba(239,106,50,.14);
  border-color:rgba(239,106,50,.36);
}

.memory-share-edit-pending-dot{
  flex:0 0 auto;
  width:.42rem;
  height:.42rem;
  border-radius:50%;
  background:#ef6a32;
  box-shadow:0 0 0 4px rgba(239,106,50,.10);
}

.share-edit-overview-notice{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin:0 0 1rem;
  padding:.8rem .95rem;
  border:1px solid rgba(239,106,50,.18);
  border-radius:15px;
  background:
    linear-gradient(
      135deg,
      rgba(239,106,50,.075),
      rgba(255,255,255,.62)
    );
  color:#6f5145;
}

.share-edit-overview-notice-count{
  flex:0 0 auto;
  width:2.15rem;
  height:2.15rem;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ef6a32;
  color:white;
  font-size:.78rem;
  font-weight:950;
}

.share-edit-overview-notice strong,
.share-edit-overview-notice span{
  display:block;
}

.share-edit-overview-notice strong{
  color:#744735;
  font-size:.73rem;
}

.share-edit-overview-notice span{
  margin-top:.14rem;
  color:#81675d;
  font-size:.62rem;
}


/* ============================================================
   SHARE EDIT TOP PLACEMENT V134
   ============================================================ */

.share-edit-top-wrap{
  display:grid;
  gap:1rem;
  margin:0 0 1rem;
}

.share-edit-top-wrap > .panel{
  width:100%;
}

.share-edit-top-wrap .share-edit-admin-panel{
  box-shadow:0 16px 40px rgba(15,60,53,.08);
}


/* ============================================================
   SHARE EDIT APPROVAL EMAIL V135
   ============================================================ */

.shared-edit-review-email{
  display:grid;
  gap:.18rem;
  margin:.7rem 0;
  padding:.72rem .8rem;
  border:1px solid rgba(85,199,216,.16);
  border-radius:12px;
  background:rgba(85,199,216,.055);
}

.shared-edit-review-email span{
  color:#ef6a32;
  font-size:.5rem;
  font-weight:950;
  letter-spacing:.10em;
}

.shared-edit-review-email strong{
  color:#31564d;
  font-size:.72rem;
  overflow-wrap:anywhere;
}

.shared-edit-review-email small{
  color:#718078;
  font-size:.6rem;
  line-height:1.45;
}


/* ============================================================
   EVENT SUB-COLLECTION ADMIN V136
   ============================================================ */

.event-subcollection-editor{
  grid-column:1 / -1;
}

.event-subcollection-rows{
  display:grid;
  gap:.8rem;
}

.event-subcollection-row{
  display:grid;
  gap:.65rem;
  padding:.85rem;
  border:1px solid rgba(31,74,64,.11);
  border-radius:14px;
  background:rgba(255,255,255,.54);
}

.event-subcollection-row-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
}

.event-subcollection-row-head strong{
  color:#31564d;
  font-size:.72rem;
}

.event-subcollection-id{
  color:#8b9994;
  font-family:monospace;
  font-size:.56rem;
}

.event-subcollection-empty{
  padding:.8rem;
  border:1px dashed rgba(31,74,64,.15);
  border-radius:13px;
  color:#718078;
  font-size:.66rem;
  line-height:1.5;
}

.event-subcollection-empty.is-hidden{
  display:none;
}


/* ============================================================
   USER DEBUG TOGGLE V140
   ============================================================ */

.user-debug-toggle{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  cursor:pointer;
  font-size:.62rem;
  font-weight:850;
  color:#75514c;
}

.user-debug-toggle input{
  width:1rem;
  height:1rem;
  accent-color:#b84c3e;
}

.user-debug-toggle-form{
  margin:0;
}


/* ============================================================
   YOUTUBE MEMORY MEDIA V144
   ============================================================ */

.memory-media-or{
  display:flex;
  align-items:center;
  gap:.55rem;
  color:#9aa39f;
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.12em;
}

.memory-media-or::before,
.memory-media-or::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(31,74,64,.10);
}

.admin-youtube-preview{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  border-radius:12px;
  background:#111;
}

.admin-youtube-preview img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.admin-youtube-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  padding-left:3px;
  border-radius:50%;
  background:rgba(15,60,53,.88);
  color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.20);
}


/* ============================================================
   LIVE MEMORY ARCHIVE SHORTCUT V152
   ============================================================ */

.admin-header nav .admin-live-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:.48rem .72rem;
  border:1px solid rgba(85,199,216,.26);
  border-radius:999px;
  background:
    linear-gradient(
      135deg,
      rgba(85,199,216,.16),
      rgba(239,106,50,.08)
    );
  color:#245f68;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    0 5px 14px rgba(15,60,53,.06);
}

.admin-header nav .admin-live-link:hover,
.admin-header nav .admin-live-link:focus-visible{
  border-color:rgba(85,199,216,.42);
  background:
    linear-gradient(
      135deg,
      rgba(85,199,216,.24),
      rgba(239,106,50,.12)
    );
  color:#174b54;
  transform:translateY(-1px);
}

@media(max-width:720px){
  .admin-header nav .admin-live-link{
    flex:1 1 100%;
    width:100%;
    order:-1;
  }
}


/* ============================================================
   USER ACCESS ACTIONS V203
   ============================================================ */

.users-table tr.is-user-blocked{
  background:rgba(165,66,60,.035);
}

.users-table tr.is-user-blocked .user-email{
  color:#8c5550;
}

.user-access-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.7rem;
  padding:.25rem .55rem;
  border-radius:999px;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.04em;
}

.user-access-status.is-active{
  background:rgba(15,60,53,.07);
  color:#31564d;
}

.user-access-status.is-blocked{
  background:rgba(165,66,60,.11);
  color:#963f39;
}

.user-access-divider{
  width:100%;
  height:1px;
  margin:.15rem 0;
  background:rgba(15,60,53,.08);
}

.user-delete-button{
  background:#8f302c !important;
}

.users-access-note{
  margin-top:1rem;
}

.users-access-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}

.users-access-grid>div{
  padding:.85rem;
  border:1px solid rgba(15,60,53,.08);
  border-radius:14px;
  background:rgba(255,255,255,.45);
}

.users-access-grid strong{
  display:block;
  margin-bottom:.3rem;
  color:#29483f;
}

.users-access-grid .lead{
  margin:0;
}

@media(max-width:720px){
  .users-access-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   USERS UI CLEANUP V204
   ============================================================ */

.users-panel{
  overflow:visible;
}

.users-card-list{
  display:grid;
  gap:16px;
}

.user-card{
  border:1px solid rgba(15,60,53,.09);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(248,249,246,.88));
  box-shadow:0 10px 24px rgba(25,47,42,.05);
  padding:18px;
}

.user-card.is-user-blocked{
  border-color:rgba(165,66,60,.22);
  background:linear-gradient(180deg, rgba(255,252,251,.92), rgba(250,244,242,.94));
}

.user-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.user-card-identity{
  min-width:0;
  flex:1 1 auto;
}

.user-card-title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.user-card .user-email{
  font-size:1rem;
  line-height:1.25;
  word-break:break-word;
}

.user-card-meta{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.user-meta-item{
  padding:10px 12px;
  border:1px solid rgba(15,60,53,.07);
  border-radius:14px;
  background:rgba(255,255,255,.56);
}

.user-meta-label,
.user-card-stat-label,
.user-card-section-label{
  display:block;
  margin-bottom:4px;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#80928b;
}

.user-meta-item strong{
  display:block;
  color:#29483f;
  font-size:.86rem;
  line-height:1.3;
}

.user-card-stats{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.user-card-stat{
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(15,60,53,.07);
  background:rgba(245,248,246,.92);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.user-card-controls{
  display:grid;
  grid-template-columns:1.05fr 1fr 0.9fr;
  gap:12px;
}

.user-card-section{
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(15,60,53,.08);
  background:rgba(255,255,255,.5);
}

.user-card-section-access{
  border-color:rgba(165,66,60,.12);
}

.user-flag-grid,
.user-card-actions-grid{
  display:grid;
  gap:10px;
}

.user-card-actions-grid{
  grid-template-columns:1fr;
}

.user-card-actions-grid-access{
  align-content:start;
}

.user-card-actions-grid form,
.user-flag-grid form{
  margin:0;
}

.user-card-action-button{
  width:100%;
  min-height:42px;
  justify-content:center;
  font-size:.76rem;
}

.user-card-toggle{
  width:100%;
  min-height:44px;
  padding:.7rem .85rem;
  border-radius:14px;
  background:rgba(245,248,246,.95);
  border:1px solid rgba(15,60,53,.08);
  justify-content:flex-start;
}

.user-card-toggle span{
  font-size:.77rem;
  line-height:1.35;
}

.user-card-toggle input{
  margin-top:1px;
}

.user-access-status{
  flex-shrink:0;
}

.user-card .user-stat{
  min-width:2.2rem;
}

@media(max-width:1180px){
  .user-card-meta{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .user-card-stats{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }

  .user-card-controls{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .user-card{
    padding:14px;
  }

  .user-card-meta,
  .user-card-stats{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:520px){
  .user-card-title-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .user-card-meta,
  .user-card-stats{
    grid-template-columns:1fr;
  }

  .user-card-stat{
    align-items:center;
  }
}
