.journal-dashboard-layout { display:grid; grid-template-columns:minmax(0, 2fr) minmax(280px, 1fr); gap:20px; align-items:start; }
  .journal-dashboard-layout > * { min-width:0; }
  .journal-equipment-list form { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
  .journal-equipment-list button { flex-shrink:0; }
  @media (max-width: 900px) { .journal-dashboard-layout { grid-template-columns:1fr; } }

.journal-csp-1 {display:flex;flex-wrap:wrap;gap:12px;align-items:end}

.journal-csp-2 {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}

.journal-csp-3 {border:1px solid rgba(150,160,190,.35);border-radius:10px;padding:12px}

.journal-csp-4 {display:block}

.journal-csp-5 {display:block;max-width:100%;width:100%;height:145px;object-fit:cover;border-radius:6px;margin-bottom:8px}

.journal-csp-6 {height:70px;display:grid;place-items:center;border:1px dashed rgba(150,160,190,.35);border-radius:6px;margin-bottom:8px}

.journal-csp-7 {white-space:pre-wrap}

.journal-csp-8 {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}

.journal-csp-9 {border:1px solid rgba(150,160,190,.35);border-radius:10px;padding:10px}

.journal-csp-10 {max-width:100%;width:100%;max-height:240px;object-fit:contain}

.journal-csp-11 {overflow-wrap:anywhere}

.journal-csp-12 {border:1px solid rgba(150,160,190,.35);border-radius:10px;padding:12px;margin:12px 0}

.journal-csp-13 {display:flex;gap:14px;flex-wrap:wrap;align-items:end}

.journal-csp-14 {flex:1;min-width:110px}


/* Observation photo metadata */
.journal-photo-details {
    margin: 10px 0;
}
.journal-photo-title {
    margin: 0 0 6px;
    overflow-wrap: anywhere;
}
.journal-photo-description {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin: 6px 0;
}
.journal-photo-filename {
    font-size: 0.82rem;
    opacity: 0.75;
    overflow-wrap: anywhere;
}
.journal-photo-edit {
    display: grid;
    gap: 10px;
    margin: 12px 0;
}
.journal-photo-edit label {
    display: grid;
    gap: 5px;
}
.journal-photo-edit input,
.journal-photo-edit textarea {
    width: 100%;
    box-sizing: border-box;
}


/* Edit observation action */
.journal-edit-button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 14px 18px;
    border: 1px solid #4692bd;
    border-radius: 8px;
    background: #24658c;
    color: #ffffff;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
}

.journal-edit-button:hover {
    background: #307da8;
    color: #ffffff;
}

.journal-edit-button:focus-visible {
    outline: 3px solid #93c5fd;
    outline-offset: 3px;
}

.photo-order-controls { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; }
.photo-order-controls[hidden] { display:none; }
.photo-drag-handle { cursor:grab; padding:8px; border:1px dashed currentColor; border-radius:4px; }
.photo-dragging { opacity:0.5; }
.photo-position { width:100%; font-weight:600; }
.photo-order-controls button:focus-visible { outline:3px solid #93c5fd; outline-offset:3px; }
