.admin-body { background: var(--bg); }
.admin-shell { display: grid; grid-template-columns: 286px minmax(0,1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; padding: 18px 14px; color: #fff; background: radial-gradient(circle at 0 0, rgba(196,163,96,.16), transparent 30%), linear-gradient(180deg, var(--navy), #07131f); border-left: 1px solid rgba(196,163,96,.16); }
.sidebar-logo { min-height: 105px; display: grid; place-items: center; padding: 8px 10px 20px; border-bottom: 1px solid rgba(255,255,255,.08); }
.sidebar-logo img { width: 235px; height: 82px; object-fit: contain; }
.sidebar-section { margin: 18px 9px 8px; color: rgba(255,255,255,.38); font-size: 12px; font-weight: 800; }
.sidebar-menu { display: grid; gap: 6px; }
.sidebar-menu button { width: 100%; min-height: 47px; display: flex; align-items: center; gap: 11px; padding: 11px 13px; border: 1px solid transparent; border-radius: 12px; color: rgba(255,255,255,.72); background: transparent; text-align: right; cursor: pointer; font-weight: 800; }
.sidebar-menu button svg { width: 19px; height: 19px; }
.sidebar-menu button:hover, .sidebar-menu button.active { color: var(--gold-2); border-color: rgba(196,163,96,.18); background: rgba(196,163,96,.12); }
.menu-count { margin-right: auto; min-width: 28px; padding: 3px 8px; border-radius: 999px; color: var(--navy); background: var(--gold); text-align: center; font-size: 12px; }
.admin-main { min-width: 0; }
.admin-top { position: sticky; top: 0; z-index: 40; min-height: 80px; display: flex; align-items: center; gap: 10px; padding: 0 25px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.93); backdrop-filter: blur(16px); }
html[data-theme="dark"] .admin-top { background: rgba(14,33,51,.93); }
.admin-top h1 { margin: 0 auto 0 0; font-size: 25px; }
.admin-content { padding: 25px; }
.admin-view { display: none; }
.admin-view.active { display: block; animation: fade .25s ease; }
@keyframes fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.kpi { position: relative; overflow: hidden; padding: 21px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-sm); }
.kpi::after { content: ""; position: absolute; left: -30px; bottom: -38px; width: 105px; height: 105px; border-radius: 50%; background: var(--gold-soft); }
.kpi small { color: var(--muted); font-weight: 700; }
.kpi strong { position: relative; z-index: 2; display: block; margin-top: 7px; color: var(--gold); font-size: 34px; }
.admin-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 20px; margin-top: 20px; }
.panel { margin-top: 20px; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: var(--shadow-sm); }
.panel:first-child { margin-top: 0; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.panel-head h2 { margin: 0; font-size: 23px; }
.panel-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.activity { display: grid; gap: 10px; }
.activity-item { display: flex; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-2); }
.activity-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--gold); background: var(--gold-soft); }
.activity-item strong { display: block; }
.activity-item small { color: var(--muted); }
.summary-list { display: grid; gap: 2px; }
.summary-row { display: flex; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }

.toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 17px; }
.toolbar .input, .toolbar .select { width: min(260px, 100%); }
.tabs { display: flex; gap: 7px; flex-wrap: wrap; }
.tab { min-height: 40px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: var(--surface-2); font-weight: 800; cursor: pointer; }
.tab.active { color: var(--navy); border-color: var(--gold); background: var(--gold); }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; min-width: 1050px; border-collapse: collapse; }
.data-table th, .data-table td { padding: 13px; border-bottom: 1px solid var(--line); text-align: right; vertical-align: middle; }
.data-table th { color: var(--gold); background: var(--surface-2); font-size: 14px; white-space: nowrap; }
.data-table tbody tr:hover { background: var(--gold-soft); }
.table-image { width: 82px; height: 58px; object-fit: contain; border-radius: 10px; background: var(--surface-3); }
.table-title { min-width: 210px; }
.table-title strong { display: block; }
.table-title small { color: var(--muted); }
.row-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.small-btn { min-height: 34px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: var(--surface-2); cursor: pointer; font-weight: 700; }
.small-btn.success { color: #fff; border-color: var(--success); background: var(--success); }
.small-btn.warning { color: var(--navy); border-color: var(--warning); background: #f1b459; }
.small-btn.danger { color: var(--danger); border-color: rgba(201,78,85,.45); }

.form-tabs { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 20px; padding-bottom: 4px; }
.form-tab { flex: 0 0 auto; min-height: 46px; padding: 0 18px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: var(--surface-2); font-weight: 800; cursor: pointer; }
.form-tab.active { color: var(--navy); border-color: var(--gold); background: var(--gold); }
.form-section { display: none; }
.form-section.active { display: block; }
.form-card { padding: 21px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface-2); }
.form-card + .form-card { margin-top: 16px; }
.form-card h3 { margin: 0 0 16px; color: var(--gold); }
.form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.form-grid .full { grid-column: 1 / -1; }
.form-grid .span-2 { grid-column: span 2; }
.form-footer { position: sticky; bottom: 14px; z-index: 20; display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; padding: 13px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.95); box-shadow: var(--shadow); backdrop-filter: blur(14px); }
html[data-theme="dark"] .form-footer { background: rgba(14,33,51,.95); }
.upload-zone { padding: 30px; border: 2px dashed var(--line); border-radius: 17px; background: var(--surface); text-align: center; cursor: pointer; transition: .2s; }
.upload-zone:hover, .upload-zone.dragging { border-color: var(--gold); background: var(--gold-soft); }
.upload-zone strong { display: block; margin-bottom: 6px; font-size: 19px; }
.upload-zone span { color: var(--muted); }
.image-manager { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 15px; }
.image-item { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.image-item.public { border-color: rgba(31,157,98,.55); }
.image-item.staff { border-color: rgba(196,163,96,.8); }
.image-preview { position: relative; display: grid; place-items: center; background: var(--surface-3); }
.image-preview img { width: 100%; aspect-ratio: 1.15/1; object-fit: contain; }
.image-badge { position: absolute; top: 7px; right: 7px; padding: 5px 8px; border-radius: 8px; font-size: 11px; font-weight: 900; }
.image-item.public .image-badge { color: #fff; background: var(--success); }
.image-item.staff .image-badge { color: var(--navy); background: var(--gold); }
.cover-label { position: absolute; top: 7px; left: 7px; padding: 5px 8px; border-radius: 8px; color: var(--navy); background: #fff; font-size: 11px; font-weight: 900; }
.image-caption { width: calc(100% - 14px); min-height: 34px; margin: 7px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: var(--surface-2); font-size: 12px; }
.image-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 0 7px 7px; }
.image-actions button { min-height: 31px; border: 0; border-radius: 8px; color: var(--text); background: var(--surface-3); cursor: pointer; font-size: 12px; font-weight: 700; }
.image-actions .wide { grid-column: 1/-1; }
.note { padding: 14px; border: 1px solid rgba(196,163,96,.42); border-radius: 13px; background: var(--gold-soft); line-height: 1.8; }

.quick-form { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; align-items: end; }
.status-select { min-width: 150px; }
.chart-bars { min-height: 250px; display: flex; align-items: end; gap: 13px; padding: 20px 10px 0; border-bottom: 1px solid var(--line); }
.chart-bar { flex: 1; min-width: 35px; position: relative; border-radius: 10px 10px 0 0; background: linear-gradient(180deg, var(--gold), var(--navy-2)); }
.chart-bar span { position: absolute; bottom: calc(100% + 7px); right: 0; left: 0; text-align: center; color: var(--muted); font-size: 12px; }
.chart-labels { display: flex; gap: 13px; padding: 9px 10px 0; }
.chart-labels span { flex: 1; text-align: center; color: var(--muted); font-size: 12px; }

@media (max-width: 1250px) {
  .kpis { grid-template-columns: repeat(3, 1fr); }
  .image-manager { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1050px) {
  .admin-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  .sidebar-logo { display: none; }
  .sidebar-menu { grid-template-columns: repeat(3, 1fr); }
  .sidebar-section { display: none; }
  .admin-grid { grid-template-columns: 1fr; }
  .form-grid, .quick-form { grid-template-columns: repeat(2, 1fr); }
  .image-manager { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 680px) {
  .admin-content { padding: 13px; }
  .admin-top { padding: 0 13px; }
  .admin-top .open-site { display: none; }
  .sidebar-menu { grid-template-columns: 1fr 1fr; }
  .kpis, .form-grid, .quick-form { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: auto; }
  .image-manager { grid-template-columns: repeat(2, 1fr); }
  .form-footer { position: static; display: block; }
  .form-footer > div { margin-top: 8px; }
}


/* =========================================================
   V3.2 SIDEBAR GROUPS, PERMISSIONS AND PROPERTY FORM MODELS
   ========================================================= */

.sidebar-main-links {
  margin-bottom: 14px;
}

.sidebar-accordion {
  margin-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 12px;
}

.sidebar-accordion-toggle {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 0;
  border-radius: 12px;
  color: var(--gold);
  background: rgba(196,163,96,.09);
  cursor: pointer;
  font-weight: 900;
}

.sidebar-accordion-toggle > span {
  display: flex;
  align-items: center;
  gap: 9px;
}

.sidebar-accordion-toggle svg {
  width: 19px;
  height: 19px;
}

.sidebar-accordion .accordion-arrow {
  transition: transform .2s ease;
}

.sidebar-accordion.open .accordion-arrow {
  transform: rotate(180deg);
}

.sidebar-submenu {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  transition: max-height .28s ease, opacity .2s ease, margin .2s ease;
}

.sidebar-accordion.open .sidebar-submenu {
  max-height: 420px;
  opacity: 1;
  margin-top: 8px;
}

.sidebar-submenu button {
  padding-right: 28px;
  font-size: 14px;
}

.property-model-selector {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 10px;
}

.property-model-card {
  min-height: 210px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 22px;
  color: var(--text);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  text-align: center;
  transition: .25s ease;
}

.property-model-card:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
  box-shadow: var(--shadow);
}

.property-model-card strong {
  font-size: 23px;
  color: var(--gold-dark);
}

.property-model-card small {
  max-width: 420px;
  color: var(--muted);
  line-height: 1.8;
}

.model-icon {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  color: var(--gold-dark);
  background: var(--gold-soft);
}

.model-icon svg {
  width: 34px;
  height: 34px;
}

.facility-count-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}

.facility-count-item {
  display: grid;
  grid-template-columns: 1fr 105px;
  gap: 10px;
  align-items: center;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}

.facility-check {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 800;
  cursor: pointer;
}

.facility-check input,
.choice-item input,
.permission-item input {
  width: 19px;
  height: 19px;
  accent-color: var(--gold);
}

.facility-number label {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.facility-number .input {
  min-height: 38px;
  padding: 6px 8px;
  text-align: center;
}

.choice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 11px;
}

.choice-item {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface);
  cursor: pointer;
  font-weight: 700;
}

.choice-item:has(input:checked) {
  border-color: var(--gold);
  background: var(--gold-soft);
}

.permissions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.permission-item {
  min-height: 88px;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  cursor: pointer;
}

.permission-item:has(input:checked) {
  border-color: var(--gold);
  background: var(--gold-soft);
}

.permission-item input {
  margin-top: 3px;
  flex: 0 0 auto;
}

.permission-item strong {
  display: block;
  margin-bottom: 4px;
  color: var(--text);
}

.permission-item small {
  display: block;
  color: var(--muted);
  line-height: 1.55;
}

.branding-upload-grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 22px;
}

.brand-preview-box,
.watermark-preview-box {
  min-height: 360px;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(12,28,45,.96), rgba(25,55,82,.92));
}

.brand-preview-box img {
  width: min(430px, 85%);
  max-height: 280px;
  object-fit: contain;
}

.watermark-preview-box {
  background:
    linear-gradient(rgba(12,28,45,.06), rgba(12,28,45,.06)),
    url("../assets/sample-1.svg") center / cover;
}

.watermark-preview-box img {
  position: absolute;
  object-fit: contain;
}

.login-error {
  margin-top: 11px;
  padding: 11px;
  border: 1px solid rgba(198,83,83,.45);
  border-radius: 11px;
  color: #a73f3f;
  background: rgba(198,83,83,.10);
  text-align: center;
}

.demo-credentials {
  margin-top: 16px;
  padding: 13px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(196,163,96,.35);
  border-radius: 13px;
  color: var(--muted);
  background: var(--gold-soft);
  font-size: 13px;
}

.demo-credentials strong {
  color: var(--text);
}

@media (max-width: 1150px) {
  .facility-count-grid,
  .choice-grid,
  .permissions-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .branding-upload-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .property-model-selector,
  .facility-count-grid,
  .choice-grid,
  .permissions-grid {
    grid-template-columns: 1fr;
  }

  .facility-count-item {
    grid-template-columns: 1fr 90px;
  }

  .property-model-card {
    min-height: 170px;
  }
}


/* =========================================================
   V3.3 FULL SITE CONTENT MANAGER
   ========================================================= */

.admin-body,
.admin-content {
  background: var(--main-bg);
}

.panel,
.kpi,
.content-item-card,
.nested-content-item {
  border-color: var(--step-border);
  box-shadow: var(--shadow);
}

.panel,
.kpi {
  background: #fff;
}

.form-card,
.activity-item,
.tab,
.form-tab,
.small-btn {
  border-color: var(--step-border);
}

.form-card,
.activity-item {
  background: var(--card);
}

.form-card:hover,
.activity-item:hover {
  background: var(--hover);
}

.content-manager-note {
  min-height: 70px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid var(--step-border);
  border-radius: 15px;
  color: var(--text);
  background: var(--card);
}

.content-manager-note svg {
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  color: var(--main-gold);
}

.content-manager-note strong,
.content-manager-note span {
  display: block;
}

.content-manager-note span {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.75;
}

.content-section-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin-bottom: 20px;
  padding: 5px 2px 10px;
  scrollbar-width: thin;
}

.content-section-tab {
  flex: 0 0 auto;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 17px;
  border: 1px solid var(--step-border);
  border-radius: 13px;
  color: var(--text);
  background: #fff;
  cursor: pointer;
  font-weight: 800;
  transition: .2s ease;
}

.content-section-tab svg {
  width: 19px;
  height: 19px;
  color: var(--main-gold);
}

.content-section-tab:hover,
.content-section-tab.active {
  color: var(--text);
  border-color: var(--main-gold);
  background: var(--hover);
  box-shadow: var(--shadow);
}

.content-section-tab.active {
  background: var(--main-gold);
}

.content-section-tab.active svg {
  color: var(--text);
}

.content-editor-heading {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  padding: 18px 20px;
  border: 1px solid var(--step-border);
  border-radius: 18px;
  background:
    linear-gradient(135deg, var(--card), #fff);
  box-shadow: var(--shadow);
}

.content-editor-heading h3 {
  margin: 0;
  color: var(--text);
  font-size: 23px;
}

.content-editor-heading p {
  max-width: 760px;
  margin: 5px 0 0;
  color: var(--muted);
  line-height: 1.7;
}

.content-editor-heading > .field {
  min-width: 240px;
  margin: 0;
}

.content-items-list {
  display: grid;
  gap: 15px;
}

.content-items-list.compact {
  grid-template-columns: repeat(2, minmax(0,1fr));
}

.content-item-card {
  padding: 17px;
  border: 1px solid var(--step-border);
  border-radius: 17px;
  background: #fff;
}

.content-item-card:hover {
  border-color: var(--main-gold);
}

.content-item-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
  margin-bottom: 15px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--step-border);
}

.content-item-toolbar > strong {
  color: var(--main-gold);
  font-size: 16px;
}

.content-item-toolbar > div {
  display: flex;
  gap: 5px;
}

.content-add-button {
  white-space: nowrap;
}

.nested-content-box {
  margin-top: 17px;
  padding: 15px;
  border: 1px dashed var(--step-border);
  border-radius: 15px;
  background: var(--card);
}

.nested-content-box .panel-head {
  margin-bottom: 12px;
}

.nested-content-box h4 {
  margin: 0;
  color: var(--text);
}

.nested-content-item {
  margin-top: 11px;
  padding: 14px;
  border: 1px solid var(--step-border);
  border-radius: 13px;
  background: #fff;
}

.content-image-field {
  grid-column: span 1;
}

.content-image-field.full {
  grid-column: 1 / -1;
}

.content-image-field > label {
  display: block;
  margin-bottom: 7px;
  font-weight: 800;
}

.content-image-row {
  display: grid;
  grid-template-columns: 180px minmax(0,1fr);
  gap: 13px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--step-border);
  border-radius: 14px;
  background: var(--card);
}

.content-image-preview {
  height: 125px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--step-border);
  border-radius: 12px;
  background: #fff;
}

.content-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.content-upload-button {
  width: max-content;
  margin-top: 9px;
}

.field-help {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.custom-section-editor {
  border-right: 4px solid var(--main-gold);
}

html[data-theme="dark"] .panel,
html[data-theme="dark"] .kpi,
html[data-theme="dark"] .content-item-card,
html[data-theme="dark"] .nested-content-item,
html[data-theme="dark"] .content-section-tab,
html[data-theme="dark"] .content-image-preview {
  background: var(--surface);
}

html[data-theme="dark"] .content-editor-heading {
  background: linear-gradient(135deg, var(--card), var(--surface));
}

@media (max-width: 1050px) {
  .content-items-list.compact {
    grid-template-columns: 1fr;
  }

  .content-editor-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .content-editor-heading > .field {
    min-width: 0;
  }
}

@media (max-width: 680px) {
  .content-image-row {
    grid-template-columns: 1fr;
  }

  .content-image-preview {
    height: 190px;
  }

  .content-item-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* =========================================================
   V3.3.1 — EXACT LIGHT PALETTE FOR DASHBOARD
   ========================================================= */

html:not([data-theme="dark"]) .admin-body,
html:not([data-theme="dark"]) .admin-main,
html:not([data-theme="dark"]) .admin-content {
  color: #0c1c2d;
  background: #f9f9f9;
}

html:not([data-theme="dark"]) .sidebar {
  color: #0c1c2d;
  background:
    radial-gradient(circle at 100% 0, rgba(196,163,96,.18), transparent 30%),
    #fff8e1;
  border-left: 1px solid #e3d8b5;
}

html:not([data-theme="dark"]) .sidebar-logo {
  border-bottom-color: #e3d8b5;
}

html:not([data-theme="dark"]) .sidebar-menu button {
  color: #0c1c2d;
}

html:not([data-theme="dark"]) .sidebar-menu button:hover,
html:not([data-theme="dark"]) .sidebar-menu button.active {
  color: #0c1c2d;
  border-color: #c4a360;
  background: #fdf4d3;
  box-shadow: 0 8px 24px rgba(15,23,42,.08);
}

html:not([data-theme="dark"]) .sidebar-accordion {
  border-top-color: #e3d8b5;
}

html:not([data-theme="dark"]) .sidebar-accordion-toggle {
  color: #0c1c2d;
  border: 1px solid #e3d8b5;
  background: #ffffff;
}

html:not([data-theme="dark"]) .sidebar-accordion-toggle:hover,
html:not([data-theme="dark"]) .sidebar-accordion.open .sidebar-accordion-toggle {
  border-color: #c4a360;
  background: #fdf4d3;
}

html:not([data-theme="dark"]) .admin-top {
  color: #0c1c2d;
  border-bottom-color: #e3d8b5;
  background: rgba(249,249,249,.96);
}

html:not([data-theme="dark"]) .panel,
html:not([data-theme="dark"]) .kpi,
html:not([data-theme="dark"]) .content-item-card,
html:not([data-theme="dark"]) .nested-content-item {
  color: #0c1c2d;
  border-color: #e3d8b5;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15,23,42,.08);
}

html:not([data-theme="dark"]) .form-card,
html:not([data-theme="dark"]) .activity-item,
html:not([data-theme="dark"]) .nested-content-box,
html:not([data-theme="dark"]) .content-manager-note,
html:not([data-theme="dark"]) .content-image-row {
  color: #0c1c2d;
  border-color: #e3d8b5;
  background: #fff8e1;
}

html:not([data-theme="dark"]) .form-card:hover,
html:not([data-theme="dark"]) .activity-item:hover {
  background: #fdf4d3;
}

html:not([data-theme="dark"]) .input,
html:not([data-theme="dark"]) .select,
html:not([data-theme="dark"]) .textarea {
  color: #0c1c2d;
  border-color: #e3d8b5;
  background: #ffffff;
}

html:not([data-theme="dark"]) .input:focus,
html:not([data-theme="dark"]) .select:focus,
html:not([data-theme="dark"]) .textarea:focus {
  border-color: #c4a360;
  box-shadow: 0 0 0 3px rgba(196,163,96,.15);
}

html:not([data-theme="dark"]) .muted,
html:not([data-theme="dark"]) .field-help {
  color: #9a7d42;
}

html:not([data-theme="dark"]) .kpi small {
  color: #9a7d42;
}

html:not([data-theme="dark"]) .kpi strong,
html:not([data-theme="dark"]) .content-item-toolbar > strong {
  color: #c4a360;
}

html:not([data-theme="dark"]) .content-editor-heading {
  color: #0c1c2d;
  border-color: #e3d8b5;
  background: linear-gradient(135deg, #fff8e1, #ffffff);
}

html:not([data-theme="dark"]) .content-section-tab {
  color: #0c1c2d;
  border-color: #e3d8b5;
  background: #ffffff;
}

html:not([data-theme="dark"]) .content-section-tab:hover {
  background: #fdf4d3;
}

html:not([data-theme="dark"]) .content-section-tab.active {
  color: #0c1c2d;
  border-color: #c4a360;
  background: #c4a360;
}

html:not([data-theme="dark"]) .btn-primary {
  color: #ffffff;
  background: #0c1c2d;
}

html:not([data-theme="dark"]) .btn-gold {
  color: #0c1c2d;
  background: #c4a360;
}

html:not([data-theme="dark"]) .btn-soft {
  color: #0c1c2d;
  border-color: #e3d8b5;
  background: #fff8e1;
}

html:not([data-theme="dark"]) .btn-soft:hover {
  background: #fdf4d3;
}

html:not([data-theme="dark"]) .data-table thead th {
  color: #0c1c2d;
  background: #fff8e1;
}

html:not([data-theme="dark"]) .data-table tbody tr:hover {
  background: #fdf4d3;
}

/* =========================================================
   FINAL ADMIN RESPONSIVE THEME
   ========================================================= */

.admin-menu-toggle,
.admin-sidebar-backdrop {
  display: none;
}

/* Light mode: no dark blocks */
html:not([data-theme="dark"]) .admin-body,
html:not([data-theme="dark"]) .admin-main,
html:not([data-theme="dark"]) .admin-content {
  color: #0c1c2d;
  background: #f7f8fa;
}

html:not([data-theme="dark"]) .sidebar {
  color: #0c1c2d;
  border-left-color: #e3d8b5;
  background:
    radial-gradient(circle at 100% 0, rgba(196,163,96,.14), transparent 30%),
    #fff;
}

html:not([data-theme="dark"]) .sidebar-logo {
  border-bottom-color: #e3d8b5;
}

html:not([data-theme="dark"]) .sidebar-menu button {
  color: #4c5967;
}

html:not([data-theme="dark"]) .sidebar-menu button:hover,
html:not([data-theme="dark"]) .sidebar-menu button.active {
  color: #0c1c2d;
  border-color: #e3d8b5;
  background: #fff8e1;
}

html:not([data-theme="dark"]) .sidebar-accordion {
  border-top-color: #e3d8b5;
}

html:not([data-theme="dark"]) .sidebar-accordion-toggle {
  color: #9b7938;
  border: 1px solid #e3d8b5;
  background: #fff8e1;
}

html:not([data-theme="dark"]) .admin-top {
  color: #0c1c2d;
  background: rgba(255,255,255,.96);
}

html:not([data-theme="dark"]) .panel,
html:not([data-theme="dark"]) .kpi,
html:not([data-theme="dark"]) .content-item-card,
html:not([data-theme="dark"]) .nested-content-item {
  color: #0c1c2d;
  border-color: #e3d8b5;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15,23,42,.08);
}

html:not([data-theme="dark"]) .form-card,
html:not([data-theme="dark"]) .activity-item,
html:not([data-theme="dark"]) .nested-content-box,
html:not([data-theme="dark"]) .content-manager-note,
html:not([data-theme="dark"]) .content-image-row {
  color: #0c1c2d;
  border-color: #e3d8b5;
  background: #fff8e1;
}

html:not([data-theme="dark"]) .input,
html:not([data-theme="dark"]) .select,
html:not([data-theme="dark"]) .textarea,
html:not([data-theme="dark"]) .image-caption {
  color: #0c1c2d;
  border-color: #e3d8b5;
  background: #fff;
}

html:not([data-theme="dark"]) .data-table th {
  color: #9b7938;
  background: #fff8e1;
}

html:not([data-theme="dark"]) .data-table tbody tr:hover {
  background: #fdf4d3;
}

/* Dark dashboard inspired by the app */
html[data-theme="dark"] .admin-body,
html[data-theme="dark"] .admin-main,
html[data-theme="dark"] .admin-content {
  color: #fff;
  background: #0f1012;
}

html[data-theme="dark"] .sidebar {
  color: #fff;
  border-left-color: rgba(196,163,96,.22);
  background:
    radial-gradient(circle at 0 0, rgba(196,163,96,.10), transparent 28%),
    #111214;
}

html[data-theme="dark"] .admin-top {
  color: #fff;
  border-bottom-color: rgba(196,163,96,.22);
  background: rgba(17,18,20,.96);
}

html[data-theme="dark"] .panel,
html[data-theme="dark"] .kpi,
html[data-theme="dark"] .content-item-card,
html[data-theme="dark"] .nested-content-item {
  color: #fff;
  border-color: rgba(196,163,96,.28);
  background: linear-gradient(135deg, #242320, #1b1b1d);
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
}

html[data-theme="dark"] .form-card,
html[data-theme="dark"] .activity-item,
html[data-theme="dark"] .nested-content-box,
html[data-theme="dark"] .content-manager-note,
html[data-theme="dark"] .content-image-row {
  color: #fff;
  border-color: rgba(196,163,96,.22);
  background: #262521;
}

html[data-theme="dark"] .input,
html[data-theme="dark"] .select,
html[data-theme="dark"] .textarea,
html[data-theme="dark"] .image-caption {
  color: #fff;
  border-color: rgba(196,163,96,.25);
  background: #1b1b1d;
}

html[data-theme="dark"] .data-table th {
  color: #c4a360;
  background: #262521;
}

html[data-theme="dark"] .data-table tbody tr:hover {
  background: #302d27;
}

html[data-theme="dark"] .form-footer {
  background: rgba(27,27,29,.96);
}

html[data-theme="dark"] .sidebar-menu button {
  color: rgba(255,255,255,.72);
}

html[data-theme="dark"] .sidebar-menu button:hover,
html[data-theme="dark"] .sidebar-menu button.active {
  color: #fff;
  border-color: rgba(196,163,96,.28);
  background: rgba(196,163,96,.12);
}

/* Better sizing */
.admin-shell {
  grid-template-columns: 270px minmax(0,1fr);
}

.admin-top {
  min-width: 0;
  flex-wrap: wrap;
}

.admin-top > div:first-of-type {
  min-width: 180px;
}

.admin-content,
.panel,
.form-card,
.content-item-card {
  min-width: 0;
}

.kpis {
  grid-template-columns: repeat(5, minmax(0,1fr));
}

.admin-grid {
  grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr);
}

@media (max-width: 1250px) {
  .kpis {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }

  .form-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 1050px) {
  .admin-shell {
    display: block;
  }

  .admin-menu-toggle {
    display: grid;
    flex: 0 0 auto;
  }

  .sidebar {
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    width: min(320px, 88vw);
    height: 100dvh;
    padding: 16px;
    transform: translateX(105%);
    transition: transform .25s ease;
    box-shadow: -20px 0 50px rgba(15,23,42,.18);
  }

  .sidebar.mobile-open {
    transform: translateX(0);
  }

  .sidebar-logo {
    display: grid;
  }

  .sidebar-menu {
    grid-template-columns: 1fr;
  }

  .sidebar-section {
    display: block;
  }

  .admin-sidebar-backdrop {
    position: fixed;
    z-index: 90;
    inset: 0;
    background: rgba(4,8,12,.48);
    backdrop-filter: blur(2px);
  }

  .admin-sidebar-backdrop.active {
    display: block;
  }

  body.admin-menu-open {
    overflow: hidden;
  }

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

  .admin-top {
    min-height: 72px;
    padding: 10px 16px;
  }

  .admin-top h1 {
    font-size: 22px;
  }
}

@media (max-width: 760px) {
  .admin-content {
    padding: 12px;
  }

  .admin-top {
    gap: 7px;
    padding: 9px 12px;
  }

  .admin-top > div:first-of-type {
    flex: 1;
    min-width: 130px;
  }

  .admin-top .open-site {
    display: none;
  }

  .admin-top .btn-danger {
    min-width: 42px;
    width: 42px;
    padding: 0;
    font-size: 0;
  }

  .admin-top .btn-danger svg {
    width: 19px;
    height: 19px;
  }

  .kpis,
  .form-grid,
  .quick-form,
  .permissions-grid,
  .choice-grid,
  .facility-count-grid,
  .content-items-list.compact {
    grid-template-columns: 1fr;
  }

  .form-grid .span-2,
  .form-grid .full {
    grid-column: auto;
  }

  .panel,
  .form-card,
  .content-item-card {
    padding: 16px;
    border-radius: 16px;
  }

  .panel-head,
  .content-editor-heading,
  .content-item-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .panel-actions,
  .toolbar,
  .tabs,
  .row-actions {
    width: 100%;
  }

  .panel-actions .btn,
  .toolbar .input,
  .toolbar .select,
  .toolbar .btn {
    width: 100%;
  }

  .image-manager {
    grid-template-columns: 1fr 1fr;
  }

  .form-footer {
    position: static;
    display: grid;
    gap: 8px;
  }

  .form-footer > div {
    display: grid;
    gap: 8px;
    margin: 0;
  }

  .form-footer .btn {
    width: 100%;
  }

  .content-image-row,
  .branding-upload-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .kpis {
    grid-template-columns: 1fr;
  }

  .image-manager {
    grid-template-columns: 1fr;
  }

  .admin-top h1 {
    font-size: 19px;
  }

  .admin-top .muted {
    font-size: 11px;
  }
}


/* Final responsive dashboard hardening */
.admin-shell,
.admin-main,
.admin-content {
  max-width: 100vw;
}

html[data-theme="dark"] .admin-body svg,
html[data-theme="dark"] .sidebar svg,
html[data-theme="dark"] .admin-top svg,
html[data-theme="dark"] .panel svg {
  color: #c4a360;
}

html[data-theme="dark"] .btn-gold svg,
html[data-theme="dark"] .btn-primary svg,
html[data-theme="dark"] .btn-danger svg {
  color: currentColor;
}

@media (max-width: 760px) {
  .admin-content {
    padding-inline: 12px;
  }

  .panel,
  .form-card,
  .content-item-card {
    max-width: 100%;
  }

  .data-table {
    min-width: 760px;
  }
}


/* =========================================================
   PROPERTY FORM FIXED SAVE BAR
   ========================================================= */

#view-property-form.active {
  padding-bottom: 105px;
}

#view-property-form .form-footer {
  position: fixed !important;
  z-index: 160 !important;
  right: 310px;
  left: 24px;
  bottom: max(12px, env(safe-area-inset-bottom));
  margin: 0 !important;
  padding: 12px 16px;
  border: 1px solid rgba(196,163,96,.42);
  border-radius: 17px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 46px rgba(15,23,42,.18);
  backdrop-filter: blur(18px);
}

html[data-theme="dark"] #view-property-form .form-footer {
  background: rgba(12,28,45,.96);
  box-shadow: 0 20px 50px rgba(0,0,0,.38);
}

#view-property-form .form-footer > div:last-child {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 1050px) {
  #view-property-form .form-footer {
    right: 14px;
    left: 14px;
  }
}

@media (max-width: 680px) {
  #view-property-form.active {
    padding-bottom: 165px;
  }

  #view-property-form .form-footer {
    display: flex !important;
    position: fixed !important;
    right: 9px;
    left: 9px;
    bottom: max(8px, env(safe-area-inset-bottom));
    flex-direction: column-reverse;
    gap: 8px;
    padding: 10px;
  }

  #view-property-form .form-footer > div {
    width: 100%;
    margin: 0 !important;
  }

  #view-property-form .form-footer > div:last-child {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
  }

  #view-property-form .form-footer button {
    width: 100%;
    min-height: 46px;
  }
}

/* =========================================================
   PROPERTY FORM STICKY STEP NAVIGATION
   Keeps 1–6 form steps visible while scrolling
   ========================================================= */

#view-property-form #propertyFormWorkspace {
  overflow: visible;
}

#view-property-form .form-tabs {
  position: sticky;
  top: var(--admin-top-sticky-offset, 88px);
  z-index: 70;
  margin: 0 -10px 20px;
  padding: 10px;
  border: 1px solid rgba(196,163,96,.34);
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 14px 34px rgba(15,23,42,.13);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: rgba(196,163,96,.7) transparent;
}

html[data-theme="dark"] #view-property-form .form-tabs {
  background: rgba(15,17,21,.96);
  border-color: rgba(196,163,96,.38);
  box-shadow: 0 18px 38px rgba(0,0,0,.34);
}

#view-property-form .form-tab {
  scroll-snap-align: start;
}

#view-property-form .form-tabs::-webkit-scrollbar {
  height: 5px;
}

#view-property-form .form-tabs::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(196,163,96,.65);
}

@media (max-width: 760px) {
  #view-property-form .form-tabs {
    margin-inline: -5px;
    margin-bottom: 14px;
    padding: 8px;
    border-radius: 14px;
  }

  #view-property-form .form-tab {
    min-height: 43px;
    padding-inline: 14px;
    font-size: 13px;
  }
}


/* =========================================================
   CONTENT IMAGE REMOVE BUTTON
   ========================================================= */

.content-image-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 9px;
}

.content-image-actions .content-upload-button {
  margin-top: 0;
}

.btn-danger-soft {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid rgba(202, 70, 70, .36);
  border-radius: 11px;
  color: #b33131;
  background: rgba(202, 70, 70, .08);
  font-weight: 800;
  cursor: pointer;
}

.btn-danger-soft:hover {
  border-color: rgba(202, 70, 70, .56);
  background: rgba(202, 70, 70, .14);
}

html[data-theme="dark"] .btn-danger-soft {
  color: #ff8c8c;
  background: rgba(202, 70, 70, .10);
}

.content-image-preview.is-empty {
  color: var(--muted);
  background: var(--surface-2, #f7f2e4);
}

.content-image-empty {
  display: grid;
  place-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 800;
}

.content-image-empty svg {
  width: 29px;
  height: 29px;
  color: var(--main-gold);
}

@media (max-width: 760px) {
  .content-image-actions,
  .content-image-actions .btn,
  .content-image-actions .content-upload-button {
    width: 100%;
  }

  .content-image-actions .btn,
  .content-image-actions .content-upload-button {
    justify-content: center;
  }
}


/* =========================================================
   QUICK PROPERTY UPLOAD
   ========================================================= */

.btn-quick-upload {
  min-height: 44px;
  border: 1px solid rgba(196, 163, 96, .48);
  color: var(--main-gold);
  background:
    linear-gradient(135deg, rgba(196,163,96,.14), rgba(196,163,96,.05));
  font-weight: 900;
}

.btn-quick-upload:hover {
  transform: translateY(-2px);
  border-color: rgba(196, 163, 96, .82);
  background:
    linear-gradient(135deg, rgba(196,163,96,.24), rgba(196,163,96,.10));
}

.quick-upload-panel {
  overflow: visible;
}

.quick-upload-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 7px;
  color: var(--main-gold);
  font-size: 13px;
  font-weight: 900;
}

.quick-upload-eyebrow svg {
  width: 17px;
  height: 17px;
}

.quick-upload-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr);
  gap: 20px;
  align-items: start;
}

.quick-upload-main {
  min-width: 0;
}

.quick-card-title {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 15px;
}

.quick-card-title h3,
.quick-card-title p {
  margin: 0;
}

.quick-card-title p {
  margin-top: 5px;
  line-height: 1.8;
}

.quick-step-number {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 13px;
  color: #0c1c2d;
  background: var(--main-gold);
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 9px 18px rgba(196,163,96,.18);
}

.quick-property-text {
  min-height: 370px;
  resize: vertical;
  line-height: 2;
  font-size: 15px;
}

.quick-text-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 9px;
  color: var(--muted);
  font-size: 12px;
}

.quick-upload-zone {
  display: grid;
  min-height: 205px;
  place-items: center;
  align-content: center;
  gap: 8px;
  text-align: center;
  cursor: pointer;
}

.quick-upload-zone-icon {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  margin-bottom: 5px;
  border-radius: 19px;
  color: var(--main-gold);
  background: rgba(196,163,96,.12);
}

.quick-upload-zone-icon svg {
  width: 28px;
  height: 28px;
}

.quick-files-summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 15px;
}

.quick-files-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.quick-file-item {
  position: relative;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
}

.quick-file-item img {
  width: 70px;
  height: 62px;
  border-radius: 10px;
  object-fit: cover;
}

.quick-file-item strong,
.quick-file-item span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quick-file-item span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}

.quick-file-item button {
  position: absolute;
  top: 5px;
  inset-inline-end: 5px;
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: rgba(180, 55, 55, .88);
  cursor: pointer;
}

.quick-file-item button svg {
  width: 15px;
  height: 15px;
}

.quick-upload-actions {
  display: flex;
  gap: 12px;
  position: sticky;
  bottom: 15px;
  z-index: 9;
  margin-top: 17px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}

.quick-upload-actions .btn {
  flex: 1;
}

.btn-large {
  min-height: 54px;
  font-size: 16px;
}

.quick-analysis-side {
  position: sticky;
  top: calc(var(--admin-top-sticky-offset, 82px) + 12px);
  display: grid;
  gap: 14px;
}

.quick-analysis-card,
.quick-upload-note {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.quick-analysis-card {
  min-height: 420px;
  padding: 18px;
}

.quick-analysis-empty {
  display: grid;
  min-height: 380px;
  place-items: center;
  align-content: center;
  gap: 10px;
  text-align: center;
}

.quick-analysis-empty svg {
  width: 48px;
  height: 48px;
  color: var(--main-gold);
}

.quick-analysis-empty strong {
  font-size: 20px;
}

.quick-analysis-empty p {
  max-width: 290px;
  margin: 0;
  color: var(--muted);
  line-height: 1.9;
}

.quick-analysis-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
}

.quick-analysis-head span:first-child {
  color: var(--main-gold);
  font-size: 12px;
  font-weight: 900;
}

.quick-analysis-head h3 {
  margin: 5px 0 0;
}

.quick-model-result {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 14px 0;
  padding: 13px;
  border: 1px solid rgba(196,163,96,.28);
  border-radius: 15px;
  background: rgba(196,163,96,.08);
}

.quick-model-result > svg {
  width: 29px;
  height: 29px;
  color: var(--main-gold);
}

.quick-model-result span,
.quick-model-result strong {
  display: block;
}

.quick-model-result span {
  color: var(--muted);
  font-size: 12px;
}

.quick-model-result strong {
  margin-top: 4px;
}

.quick-summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.quick-summary-item {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface-2);
}

.quick-summary-item > svg {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  color: var(--main-gold);
}

.quick-summary-item span,
.quick-summary-item strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quick-summary-item span {
  color: var(--muted);
  font-size: 11px;
}

.quick-summary-item strong {
  margin-top: 3px;
  font-size: 13px;
}

.quick-warnings,
.quick-success-note {
  margin-top: 14px;
  padding: 13px;
  border-radius: 14px;
}

.quick-warnings {
  border: 1px solid rgba(220, 153, 48, .32);
  background: rgba(220, 153, 48, .09);
}

.quick-warnings strong {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #cc8c26;
}

.quick-warnings ul {
  margin: 9px 0 0;
  padding-inline-start: 20px;
  color: var(--muted);
  line-height: 1.9;
}

.quick-success-note {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #239763;
  border: 1px solid rgba(35, 151, 99, .28);
  background: rgba(35, 151, 99, .08);
}

.quick-upload-note {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 15px;
}

.quick-upload-note > svg {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  color: var(--main-gold);
}

.quick-upload-note strong,
.quick-upload-note p {
  display: block;
  margin: 0;
}

.quick-upload-note p {
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.8;
  font-size: 13px;
}

html[data-theme="dark"] .btn-quick-upload {
  color: #d9b86e;
}

html[data-theme="dark"] .quick-analysis-card,
html[data-theme="dark"] .quick-upload-note,
html[data-theme="dark"] .quick-upload-actions {
  background: rgba(22, 24, 29, .96);
}

@media (max-width: 1200px) {
  .quick-upload-grid {
    grid-template-columns: 1fr;
  }

  .quick-analysis-side {
    position: static;
    grid-template-columns: 1fr 1fr;
  }

  .quick-analysis-card {
    min-height: 0;
  }

  .quick-analysis-empty {
    min-height: 250px;
  }
}

@media (max-width: 760px) {
  .quick-upload-grid {
    gap: 14px;
  }

  .quick-text-footer,
  .quick-files-summary {
    flex-direction: column;
  }

  .quick-property-text {
    min-height: 310px;
  }

  .quick-files-preview {
    grid-template-columns: 1fr;
  }

  .quick-analysis-side {
    grid-template-columns: 1fr;
  }

  .quick-summary-grid {
    grid-template-columns: 1fr;
  }

  .quick-upload-actions {
    flex-direction: column;
    bottom: 8px;
  }

  .quick-card-title {
    gap: 10px;
  }

  .quick-step-number {
    width: 34px;
    height: 34px;
  }
}


/* =========================================================
   MANUAL PROPERTY NOTES FIELDS
   ========================================================= */

.manual-note-hint {
  display: block;
  margin: -3px 0 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.compact-notes-textarea {
  min-height: 110px !important;
  resize: vertical;
}


/* =========================================================
   BULK OLD PROPERTIES IMPORT
   ========================================================= */

.btn-bulk-import {
  min-height: 44px;
  border: 1px solid rgba(196, 163, 96, .42);
  color: #0c1c2d;
  background: linear-gradient(135deg, #f4dfab, #cda95f);
  font-weight: 900;
}

.btn-bulk-import:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(196, 163, 96, .2);
}

.bulk-import-panel {
  overflow: visible;
}

.bulk-import-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  color: var(--main-gold);
  font-size: 13px;
  font-weight: 900;
}

.bulk-import-eyebrow svg {
  width: 18px;
  height: 18px;
}

.bulk-import-source-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin-bottom: 16px;
}

.bulk-source-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 19px;
  border: 1px solid var(--line);
  border-radius: 19px;
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.bulk-source-card h3,
.bulk-source-card p {
  margin: 0;
}

.bulk-source-card p {
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.75;
  font-size: 13px;
}

.bulk-source-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 17px;
  color: var(--main-gold);
  background: rgba(196, 163, 96, .12);
}

.bulk-source-icon svg {
  width: 27px;
  height: 27px;
}

.bulk-source-button {
  grid-column: 1 / -1;
  justify-content: center;
}

.bulk-format-card {
  padding: 18px;
  margin-bottom: 16px;
  border: 1px solid rgba(196, 163, 96, .27);
  border-radius: 19px;
  background:
    linear-gradient(
      145deg,
      rgba(196, 163, 96, .08),
      var(--surface)
    );
}

.bulk-format-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bulk-format-title > svg {
  width: 30px;
  height: 30px;
  color: var(--main-gold);
}

.bulk-format-title h3,
.bulk-format-title p {
  margin: 0;
}

.bulk-format-title p {
  margin-top: 4px;
  color: var(--muted);
}

.bulk-format-card pre {
  direction: ltr;
  overflow: auto;
  padding: 15px;
  margin: 14px 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--text);
  background: var(--surface-2);
  font-family: Consolas, monospace;
  line-height: 1.7;
}

.bulk-format-notes {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.bulk-format-notes span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 11px;
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface-2);
  font-size: 12px;
}

.bulk-format-notes svg {
  width: 15px;
  height: 15px;
  color: var(--main-gold);
}

.bulk-workspace {
  display: grid;
  gap: 15px;
}

.bulk-options-bar {
  display: flex;
  align-items: end;
  gap: 15px;
  flex-wrap: wrap;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--surface);
}

.bulk-source-summary {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 250px;
  margin-inline-end: auto;
}

.bulk-source-summary-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 13px;
  color: var(--main-gold);
  background: rgba(196, 163, 96, .12);
}

.bulk-source-summary strong,
.bulk-source-summary span {
  display: block;
}

.bulk-source-summary span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.bulk-option-field {
  display: grid;
  gap: 6px;
  min-width: 220px;
}

.bulk-option-field label {
  font-size: 12px;
  font-weight: 800;
}

.bulk-check-option {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  cursor: pointer;
}

.bulk-check-option input {
  accent-color: var(--main-gold);
}

.bulk-analyze-actions {
  display: flex;
  align-items: center;
  gap: 15px;
}

.bulk-analyze-actions > .btn {
  min-width: 260px;
}

.bulk-live-status {
  display: flex;
  align-items: center;
  gap: 11px;
}

.bulk-live-status strong,
.bulk-live-status span {
  display: block;
}

.bulk-live-status span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.bulk-spinner {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: var(--main-gold);
  background: rgba(196, 163, 96, .1);
}

.bulk-spinner svg {
  animation: bulk-spin 1s linear infinite;
}

@keyframes bulk-spin {
  to { transform: rotate(360deg); }
}

.bulk-stat-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 11px;
}

.bulk-stat-grid article {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--surface);
}

.bulk-stat-grid small,
.bulk-stat-grid strong {
  display: block;
}

.bulk-stat-grid small {
  color: var(--muted);
}

.bulk-stat-grid strong {
  margin-top: 7px;
  color: var(--main-gold);
  font-size: 25px;
}

.bulk-table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 0 10px;
}

.bulk-selection-count {
  color: var(--muted);
  font-weight: 800;
}

.bulk-import-table-wrap {
  max-height: 620px;
}

.bulk-import-table td {
  vertical-align: top;
}

.bulk-import-table td strong,
.bulk-import-table td small {
  display: block;
}

.bulk-import-table td small {
  margin-top: 4px;
  color: var(--muted);
}

.bulk-import-table input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--main-gold);
}

.bulk-notes-cell {
  min-width: 220px;
}

.bulk-notes-cell span {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  line-height: 1.55;
}

.text-warning {
  color: #d69a34 !important;
}

.text-success {
  color: #2ba66c !important;
}

.badge-danger {
  color: #fff;
  background: #b84545;
}

.bulk-row-imported {
  opacity: .65;
  background: rgba(43, 166, 108, .06);
}

.bulk-import-footer {
  position: sticky;
  z-index: 12;
  bottom: 10px;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 13px;
  margin-top: 13px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}

.bulk-progress-wrap {
  min-width: 0;
  flex: 1;
}

.bulk-progress-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
}

.bulk-progress-track {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-2);
}

.bulk-progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(
      90deg,
      var(--main-gold),
      #e1c37e
    );
  transition: width .2s ease;
}

.bulk-progress-wrap small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
}

.bulk-final-report {
  padding: 17px;
  border: 1px solid rgba(43, 166, 108, .3);
  border-radius: 18px;
  background: rgba(43, 166, 108, .06);
}

.bulk-final-report-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bulk-final-report-head > svg {
  width: 34px;
  height: 34px;
  color: #2ba66c;
}

.bulk-final-report-head h3,
.bulk-final-report-head p {
  margin: 0;
}

.bulk-final-report-head p {
  margin-top: 4px;
  color: var(--muted);
}

.bulk-final-list {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(230px, 1fr)
  );
  gap: 9px;
  margin-top: 14px;
}

.bulk-final-list article {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.bulk-final-list strong,
.bulk-final-list span {
  display: block;
}

.bulk-final-list span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.bulk-final-list article.failed {
  border-color: rgba(184, 69, 69, .36);
}

.bulk-final-list article.skipped {
  border-color: rgba(214, 154, 52, .36);
}

html[data-theme="dark"] .btn-bulk-import {
  color: #0c1c2d;
}

html[data-theme="dark"] .bulk-source-card,
html[data-theme="dark"] .bulk-options-bar,
html[data-theme="dark"] .bulk-stat-grid article,
html[data-theme="dark"] .bulk-final-list article {
  background: #16181d;
}

@media (max-width: 1100px) {
  .bulk-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .bulk-import-source-grid,
  .bulk-stat-grid {
    grid-template-columns: 1fr;
  }

  .bulk-options-bar,
  .bulk-analyze-actions,
  .bulk-table-toolbar,
  .bulk-import-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .bulk-source-summary,
  .bulk-option-field,
  .bulk-analyze-actions > .btn,
  .bulk-import-footer > .btn {
    width: 100%;
    min-width: 0;
  }

  .bulk-format-card pre {
    font-size: 11px;
  }

  .bulk-format-notes {
    display: grid;
  }

  .bulk-table-toolbar .panel-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .bulk-import-table-wrap {
    max-height: 520px;
  }
}
