/* Presentation only. Persistence, templates and permissions stay in code. */
.daily-cta .button { width:100%; margin-top:20px; }
.daily-cta .eyebrow { margin-bottom:6px; }
.daily-cta h2 { font-size:25px; }
.daily-cta .icon-halo { width:52px; height:60px; background:transparent; }
.daily-cta .icon { width:38px; height:38px; }
.list-row { display:flex; align-items:center; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); min-width:0; }
.list-row:last-child { border:0; }
.list-row > span:nth-child(2) { flex:1; min-width:0; }
.list-row strong { display:block; font-family:var(--font-title); font-size:19px; font-weight:400; overflow-wrap:anywhere; }
.list-row small { display:block; color:var(--muted); font-size:12px; }
.list-row > .icon { width:16px; }
.list-row .icon-halo { width:35px; height:40px; background:transparent; }
.filter-tabs { display:flex; gap:8px; overflow:auto; padding:4px 2px 12px; margin-bottom:10px; }
.chip { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--line); background:var(--surface); color:var(--graphite); border-radius:24px; padding:10px 15px; min-height:46px; white-space:nowrap; font-size:13px; }
.chip.selected { background:var(--primary); color:var(--on-primary); border-color:var(--primary); }
.chip span { font-size:12px; }
.record-card { border-left:3px solid var(--sage); padding:18px 20px; }
.record-card h2 { font-size:23px; margin-top:5px; }
.record-card .record-excerpt { font-size:14px; line-height:1.55; }
.record-card .text-link { margin-top:6px; }
.record-card:hover,.list-row:hover { background:var(--soft); }
.field-section { border:1px solid var(--line); border-radius:12px; padding:0 14px; background:var(--cream); margin:10px 0; }
.field-section summary { font-family:var(--font-title); font-size:19px; padding:14px 0; }
.field-section summary .badge { font-family:var(--font-body); margin-left:10px; font-size:8px; }
.field-section .form-field { margin:5px 0 18px; }
.field-section textarea { background:var(--surface); }
.original-editor { align-self:start; }
.original-editor .form-actions { background:var(--surface); border-top:1px solid var(--line); padding:12px 0; }
.metadata-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.local-info { margin:0; padding:0; border:0; }
.local-info summary { font-size:12px; color:var(--muted); }
.journey-progress { background:var(--soft); }
.journey-progress h3 { margin-top:12px; }
.response-card { margin-bottom:14px; }
.file-row { display:flex; gap:12px; align-items:center; border-bottom:1px solid var(--line); }
.file-row .check-row { flex:1; min-width:0; border:0; }
.file-row strong { overflow-wrap:anywhere; }
.upload-label { position:relative; cursor:pointer; width:100%; }
.upload-label:focus-within { outline:3px solid var(--focus); outline-offset:3px; }
.editor-grid > *, .context-grid > *, .home-grid > * { min-width:0; }
@media (max-width:759px) {
  main { padding:22px 16px; }
  .welcome .eyebrow { display:none; }
  .welcome h1 { font-size:31px; }
  .welcome p { margin-top:6px; }
  .home-grid,.home-main,.home-aside { gap:12px; }
  .landscape-card { min-height:225px; padding:24px 20px; }
  .landscape-card h2 { font-size:28px; }
  .landscape-card p { margin:12px 0 0; }
  .card { padding:18px; border-radius:14px; }
  .summary-grid .card { padding:14px 8px; }
  .summary-grid h3 { font-size:16px; }
  .summary-grid .icon-halo { color:var(--primary); }
  .page-header { margin-bottom:18px; }
  .original-editor > .section-heading h2 { font-size:24px; }
  .section-heading h2 { font-size:22px; }
  .form-field { margin:18px 0; }
  .bridge-card h2 { font-size:24px; }
}
@media (min-width:900px) and (max-width:1199px) {
  .sidebar { width:205px; padding:22px 12px; }
  .brand { font-size:24px; }
  .brand img { width:45px; }
  .sidebar .nav-link { font-size:12px; padding:9px; }
  .workspace { margin-left:205px; }
  main { padding:28px 22px; }
  .home-grid { grid-template-columns:minmax(0,1fr); }
  .home-aside { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .editor-grid,.response-grid { grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr); gap:16px; }
  .context-grid { grid-template-columns:minmax(190px,1fr) minmax(0,1.6fr); gap:16px; }
  .card { padding:18px; }
  .editor-aside { position:static; }
}
@media (min-width:900px) {
  .original-editor .form-actions { bottom:0; }
}

.daily-landscape { margin-bottom:24px; min-height:250px; }
.landscape-card h2,.landscape-card p { overflow-wrap:anywhere; }

.filter-tabs[role="group"] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; overflow:visible; }
.filter-tabs[role="group"] .chip { padding:10px 5px; gap:4px; font-size:12px; }
.structured-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:start; }
.structured-fields > .form-field,.structured-fields > details[open] { grid-column:1/-1; }
.structured-fields .field-section { margin:0; }
.structured-fields .field-section summary { font-size:17px; }
.structured-fields .field-section .badge { display:block; margin:3px 0 0; }
.home-music { min-width: 0; }
.home-music iframe { display: block; width: 100%; min-height: 220px; aspect-ratio: 16 / 9; border: 0; margin-top: 1rem; border-radius: var(--radius); }
.home-music [hidden] { display: none; }
.topbar { min-height: 90px; height: auto; gap: 12px; border-bottom-color: var(--sand); }
.mobile-brand { gap: 10px; min-width: 0; font-size: 21px; letter-spacing: -.5px; }
.mobile-brand img, .brand img { object-fit: cover; border-radius: 12px; flex-shrink: 0; }
.mobile-brand img { width: 46px; height: 46px; }
.mobile-brand small { display: block; margin-top: 6px; font: 600 8px/1.4 var(--font-body); letter-spacing: 1.3px; color: var(--muted); }
.brand img { height: auto; }
@media (max-width: 420px) {
  .topbar { padding-left: 14px; padding-right: 14px; gap: 8px; }
  .mobile-brand { font-size: 19px; gap: 8px; }
  .mobile-brand img { width: 40px; height: 40px; border-radius: 10px; }
  .mobile-brand small { font-size: 7px; letter-spacing: .7px; }
}
.sacred-welcome { text-align: center; padding: 24px 12px 28px; }
.welcome-emblem { display: block; margin: 0 auto 18px; border-radius: 18px; }
.sacred-welcome .eyebrow { display: block; color: var(--primary); }
.sacred-welcome h1 { margin: 14px 0; }
.sacred-welcome p { font-weight: 400; line-height: 1.7; }
.sacred-welcome blockquote { margin: 22px auto 0; padding-top: 18px; border-top: 1px solid var(--sand); max-width: 480px; font: italic 18px/1.6 var(--font-title); color: var(--primary); }
.sacred-welcome cite { display: block; font: 500 11px/1.6 var(--font-body); letter-spacing: 1px; margin-top: 6px; color: var(--muted); }
