/* These styles are generated from project.scss. */

.alert-debug {
  color: rgb(0, 0, 0);
  background-color: white;
  border-color: #d6e9c6;
}

.alert-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}

.memories-layout {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}


.memories-main {
  flex: 1;
  min-width: 0;
}

.memories-filters {
  width: 200px;
  flex: 0 0 200px;
}

.memories-search-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
}

.memories-search input[name="q"] {
  width: 520px;
  max-width: 100%;
  box-sizing: border-box;
}

.memories-filters label {
  display: block;
  margin-bottom: 0.25rem;
}

.memories-filters input {
  display: block;
  width: 90%;
  box-sizing: border-box;
  margin-bottom: 0.75rem;
}

.memory-title-row {
  display: flex;
  justify-content: space-between;
}

.memories-presets {
  width: 100%;
  text-align: center;
  margin: 0.5rem 0 1rem;
}

/* --- Buttons --- */
.btn{
  appearance:none;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;
  color:inherit;
  padding:.45rem .75rem;
  border-radius:.9rem;
  font:inherit;
  cursor:pointer;
  line-height:1;
  transition:transform .06s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}

.btn:hover{
  background:rgba(0,0,0,.03);
}

.btn:active{
  transform:translateY(1px);
}

.btn:focus-visible{
  outline:0;
  box-shadow:0 0 0 3px rgba(0,0,0,.15);
}

.btn[disabled], .btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}


/* --- Form controls to match --- */
.input, textarea, select, input[type="text"], input[type="date"] {
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 9rem;
  padding: 0.3rem 0.7rem;
  font-size: 0.95rem;
  width: 100%;
  max-width: 100%;
}


textarea {
  resize: vertical;
  border-radius: 1rem;
}

.input:focus, select:focus, textarea:focus, input:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(59,130,246,0.18);
  border-color: rgba(59,130,246,0.45);
}

/* Remove underline for all links */
a {
  text-decoration: none;
}
a:visited,
a:hover,
a:active,
a:focus {
  text-decoration: none;
}

.toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 6px 0;
}

.switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 22px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  border: 1px solid #ccc;
  border-radius: 999px;
  transition: 150ms;
  background-color: rgba(77, 69, 234, 0.426);
}

.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 3px;
  top: 2px;
  border: 1px solid #ccc;
  border-radius: 50%;
  transition: 150ms;
  background-color: rgb(255, 255, 255);
  
}

.switch input:checked + .slider:before {
  transform: translateX(16px);
}

.memory-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.badge-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 12px;
  border: 1.5px solid #0000006a;
  border-radius: 999px;
  font-size: 16px;
  line-height: 20px;
  white-space: nowrap;
}

.memory-meta {
  font-size: 12px;
  opacity: 0.8;
}

/* Optional: subtle differentiation without relying on color */
.badge-pill--outdated { border-style: dashed; }
.badge-pill--expired { border-style: dotted; }
.badge-pill--disputed { border-width: 2px; }


.memory-header { margin-bottom: 16px; }
.memory-meta-row { margin-top: 8px; display: flex; gap: 8px; flex-wrap: wrap; }

.memory-detail-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
  align-items: start;
}

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

.memory-section { margin-top: 16px; }
.history-list { padding-left: 18px; }
.history-item { margin: 12px 0; }

.panel {
  font-size:14px;
  border: 1px solid #ddd;
  border-radius: 1rem;
  padding: 12px;
}

.panel-title { font-weight: 600; margin-bottom: 8px; }
.panel-section { margin-top: 12px; font-weight: 100;}
.panel-label { font-weight: 300; margin-bottom: 6px; display: block; }
.panel-row { display: flex; gap: 8px; flex-wrap: wrap; }

.memory-history { margin-top: 10px; }
.memory-history summary { cursor: pointer; }

.capture-review-section { margin-top: 1rem; }
.capture-review-summary { font-weight: 600; cursor: pointer; }
.capture-review-body { margin-top: 0.75rem; }

.capture-card-grid { display: grid; gap: 8px; }
.capture-card {
  border: 1px solid #e5e5e5;
  padding: 8px;
  border-radius: 8px;
}
.capture-card-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.capture-card-title { flex: 1; }
.capture-card-type { min-width: 140px; }
.capture-card-label { font-weight: 600; margin-bottom: 4px; }
.capture-card-section { margin-top: 6px; }
.capture-card-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 6px;
}
.capture-card-actions {
  margin-top: 8px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.capture-card-error { margin-top: 8px; color: #b00; }
.capture-relations-list { margin: 6px 0 0 16px; }
.capture-relation-preview {
  margin-top: 4px;
  font-size: 0.9rem;
  opacity: 0.85;
}
.capture-relation-actions {
  margin-top: 6px;
  display: flex;
  gap: 8px;
}

.btn-active { 
  border-color: rgba(59,130,246,0.45);
  border-width: 1.5px;

  color:  rgba(4, 34, 82, 0.926);
  font-weight: 500; 
}

select.entities-select {
  border-radius: 1rem;
}