.journal-editor{margin:0;padding:30px 16px;overflow:auto;font:17px Georgia,serif}.journal-editor main{max-width:850px;margin:auto;background:#f7efe7ed;border:3px double #9dab90;padding:30px}.journal-editor h1{font-size:42px}.journal-editor a{color:#52684f}.journal-editor label{display:block;margin:12px 0;flex:1}.journal-editor input,.journal-editor select,.journal-editor textarea{display:block;width:100%;box-sizing:border-box;padding:10px;font:16px Georgia,serif;background:#fffaf4;border:1px solid #b9a4aa;margin-top:6px}.editor-row{display:flex;gap:16px}.journal-editor button{background:#425a43;color:#fff6e8;border:0;padding:12px 18px;font:16px Georgia,serif;cursor:pointer}.journal-editor button:disabled{opacity:.5}.journal-editor p{line-height:1.5}.journal-history-entry{padding:12px 0;border-bottom:1px solid #d7bcc1;white-space:pre-wrap}@media(max-width:600px){.editor-row{display:block}}
.journal-editor [hidden]{display:none!important}.journal-tabs{display:flex;gap:0;margin:22px 0 18px;border:1px solid #9dab90}.journal-tabs button{flex:1;background:#fffaf4;color:#425a43;border:0;border-right:1px solid #9dab90;padding:12px 10px}.journal-tabs button:last-child{border-right:0}.journal-tabs button.is-active{background:#425a43;color:#fff6e8}
.journal-card{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:#fffaf4;border:1px solid #d7c6c0;padding:12px 16px;margin:0 0 10px}.journal-card h3{margin:0 0 4px;font-size:20px}.journal-card p{margin:4px 0}.journal-card.is-past{opacity:.75}.journal-card-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end;flex:none}
.journal-meta{color:#6b5a5e;font-size:15px}.journal-private-text{color:#6b5a5e;font-style:italic;font-size:15px}.journal-empty{color:#6b5a5e;font-style:italic}.journal-hint{color:#6b5a5e;font-size:15px}
.journal-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}.journal-editor button.journal-link{background:none;color:#425a43;padding:6px 0;text-decoration:underline}
.journal-panel{background:#fffaf4;border:1px solid #9dab90;padding:16px 20px;margin:18px 0}.journal-panel h2{margin-top:0}.journal-editor fieldset{border:0;padding:0;margin:12px 0}.journal-editor legend{padding:0;margin-bottom:6px}
.journal-choices{display:flex;flex-wrap:wrap;gap:8px}.journal-editor .journal-choices label{display:inline-flex;align-items:center;gap:6px;margin:0;flex:none;padding:7px 12px;border:1px solid #b9a4aa;background:#fff;cursor:pointer;font-size:15px}.journal-editor .journal-choices input{display:inline;width:auto;margin:0}.journal-editor .journal-choices label:has(input:checked){background:#e3ebdc;border-color:#425a43}
.journal-history-entry .journal-link{font-size:14px}.journal-editor select{background:#fffaf4;color:#2f2a2b}
@media(max-width:600px){.journal-card{flex-direction:column}.journal-card-actions{flex-direction:row;align-items:center}}
.journal-editor .family-auth-mode label{display:inline-flex;align-items:center;gap:6px;flex:none;margin:0 18px 0 0}.journal-editor .family-auth-mode input{display:inline;width:auto;margin:0}.journal-editor .family-auth-dialog label{margin:10px 0 0}
.journal-editor button.journal-danger{background:none;color:#8a2f2f;border:1px solid #8a2f2f;padding:8px 14px;margin-left:auto}
.journal-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.journal-row-actions{display:flex;gap:14px}.journal-editor button.journal-danger-link{color:#8a2f2f}
/* Coming Up dates */
.coming-row{display:flex;align-items:center;gap:10px}.coming-icon{width:30px;height:30px;flex:0 0 30px}.coming-text{flex:1;min-width:0}.coming-text strong{font-weight:normal;font-size:1.05em}.coming-flag{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:2px;background:#5c4a6a;color:#f6f0fa;font:bold 10px Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}.coming-past{opacity:.55}
/* Sign in as a full button; long record notes clamped to three lines until opened. */
.journal-signin{margin-top:8px;min-height:44px}
.journal-note-body p.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.journal-note-body .journal-more{padding:4px 0 8px;min-height:32px}
/* Phones: the fields use most of the width, every button is a comfortable tap
   target, and long choice labels wrap instead of running off the form. */
.journal-editor button.journal-link{min-height:40px;padding:8px 4px}
.journal-editor .journal-choices label{flex:0 1 auto;max-width:100%;box-sizing:border-box}
.journal-editor textarea{min-height:76px;resize:vertical;overflow-y:auto}
.journal-row-actions{gap:18px;flex-wrap:wrap}
@media(max-width:600px){
 .journal-editor{padding:12px 8px}
 .journal-editor main{padding:18px 14px}
 .journal-panel{padding:14px 12px}
 .journal-row{align-items:flex-start}
 .journal-row-actions{width:100%;gap:22px}
}
