.dashboard-v2{grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);grid-template-areas:'quick recent' 'arrival week' 'reflection reflection';align-items:start}.quick-section{grid-area:quick}.recent-section{grid-area:recent}.week-section{grid-area:week}.arrival-section{grid-area:arrival}.reflection-section{grid-area:reflection}.dashboard-v2 .actions-grid{grid-template-columns:1fr 1fr}.dashboard-v2 .action-card.primary{grid-column:1/-1;flex-direction:row;align-items:center;min-height:100px;gap:16px;padding:23px}.dashboard-v2 .action-card:not(.primary){min-height:125px}.dashboard-v2 .action-card.primary .action-icon{margin:0;background:#ffffff16;width:46px;height:46px}.dashboard-v2 .action-card strong{font-size:1rem;display:block}.dashboard-v2 .action-card small{display:block;margin-top:5px;font-size:.825rem}.dashboard-v2 .action-arrow{top:50%;transform:translateY(-50%);right:18px}.dashboard-v2 .action-card:not(.primary) .action-arrow{top:25px}.dashboard-v2 .action-card .action-icon{margin-bottom:9px}.safety-strip{display:flex;flex-wrap:wrap;gap:9px 18px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:-7px 0 26px;padding:10px 0;color:var(--muted);font-size:.75rem}.safety-strip>span{display:flex;align-items:center;gap:6px}.safety-strip .icon{height:14px;width:14px}.safety-strip .text-button{margin-left:auto;padding:2px 0}.draft-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--soft);border:1px solid var(--line);padding:17px 20px;border-radius:14px;margin-bottom:24px}.draft-banner>span{display:grid;grid-template-columns:24px 1fr;gap:3px 10px}.draft-banner .icon{grid-row:span 2}.draft-banner strong{font-size:.875rem}.draft-banner small{font-size:.75rem;color:var(--muted)}.draft-banner .btn{white-space:nowrap}.day-types{height:7px;display:flex;align-items:center;justify-content:center;gap:3px}.type-dot{height:6px;width:6px;display:inline-block;border-radius:50%;background:var(--accent);flex-shrink:0}.type-checkin{background:#bc865e}.type-marker{background:#73907d;border-radius:1px}.week-legend{display:flex;flex-wrap:wrap;gap:8px 13px;font-size:.75rem;color:var(--muted);margin-bottom:14px}.week-legend>span{display:flex;gap:5px;align-items:center}.week-section .week-strip{margin-bottom:14px}.week-section .week-foot{font-size:.75rem}.discretion-button{display:flex;align-items:center;gap:6px;background:var(--soft);color:var(--accent);border:0;border-radius:8px;padding:8px 11px;font-size:.75rem;margin:-5px 0 7px}.discretion-button .icon{width:14px;height:14px}.optional-reflection{margin:0;padding:0;border:0}.optional-reflection>summary{display:flex;gap:9px;align-items:center;font-weight:500;font-size:.875rem;padding:10px 0}.optional-reflection>summary::after{content:'+';margin-left:auto;font-size:1.25rem}.optional-reflection[open]>summary::after{content:'−'}.optional-reflection .reflection{margin-top:12px;min-height:200px}.editor-intro{font-size:.875rem;color:var(--muted)}.editor-date{display:flex;align-items:center;gap:15px}.editor-date>.field{flex:1;min-width:0}.date-shortcuts{display:flex;gap:6px;padding-top:21px}.date-shortcuts .chip{padding:8px 10px;font-size:.8rem}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.quick-rating{margin:18px 0 22px}.quick-rating legend,.orgasm-group legend{font-size:.875rem;font-weight:600;margin-bottom:11px}.choice-row .chip{min-height:43px}.orgasm-detail{border:0;margin:8px 0 0;padding:0}.orgasm-detail summary{font-size:.75rem;font-weight:400}.orgasm-detail .field{margin-top:10px}.orgasm-group{margin-bottom:23px}#record-form textarea{min-height:90px}#record-form .draft-status{border-top:1px solid var(--line);padding-top:12px;margin-top:20px;font-size:.75rem}.draft-status[data-state=saved]{color:#567460}.draft-status[data-state=error]{color:#a33450}.context-quick{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.context-quick .chip{font-size:.75rem}.editor-actions{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:8px!important}.editor-actions .text-button{justify-self:start;font-size:.75rem}.draft-list{display:flex;flex-direction:column;gap:12px}.draft-item{padding:15px;border:1px solid var(--line);border-radius:12px}.draft-item .button-row{margin-top:10px}.draft-item p{font-size:.8rem;color:var(--muted);margin-top:5px}.report-options{margin-bottom:18px}.report-options .two-col{align-items:start}.commercial-card h3{margin:17px 0 9px}.cloud-snapshot{border-top:1px solid var(--line);padding:13px 0;display:flex;align-items:center;gap:12px}.cloud-snapshot>span{flex:1}.cloud-snapshot strong{display:block;font-size:.85rem}.cloud-snapshot small{display:block;font-size:.75rem;color:var(--muted)}.access-key{font-family:monospace;word-break:break-all;line-height:1.6;background:var(--soft);padding:18px;border-radius:12px;margin:18px 0}.no-overflow{overflow-wrap:anywhere}.credential-warning{font-size:.8rem;margin:12px 0}.setup-privacy{font-size:.8rem;background:var(--soft);padding:13px;border-radius:10px;margin-bottom:17px}.entry-detail{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem;margin-top:4px}.entry-body strong{white-space:normal!important;line-height:1.35}.legal-page a{text-decoration:underline}
@media(max-width:1000px){.dashboard-v2{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:18px}.dashboard-v2 .action-card:not(.primary){padding:16px 12px}.dashboard-v2 .action-card small{font-size:.75rem}.dashboard-v2 .action-card strong{font-size:.9rem}}
@media(max-width:760px){.dashboard-v2{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:'quick' 'recent' 'week' 'arrival' 'reflection';gap:20px}.dashboard-v2 .action-card.primary{min-height:90px;padding:20px;gap:14px}.dashboard-v2 .action-card:not(.primary){min-height:116px;padding:16px}.dashboard-v2 .action-card:not(.primary) .action-arrow{display:none}.dashboard-v2 .action-card strong{font-size:.95rem}.dashboard-v2 .action-card small{font-size:.8rem}.dashboard-v2 .action-icon{height:31px;width:31px}.dashboard-v2 .action-card.primary .action-icon{height:40px;width:40px}.dashboard-v2 .action-card.primary small{max-width:240px}.dashboard-v2 .quick-section>.section-heading{margin-bottom:14px}.safety-strip{font-size:.75rem;gap:6px 13px;margin-bottom:20px}.safety-strip>span{max-width:100%;line-height:1.5}.safety-strip>span:last-of-type{flex-basis:calc(100% - 85px)}.draft-banner{align-items:flex-start;padding:15px;gap:10px;flex-direction:column}.draft-banner .btn{align-self:flex-end;padding:9px 12px;min-height:40px}.editor-date{flex-wrap:wrap;gap:0 12px}.editor-date .field{min-width:145px}.date-shortcuts{padding-top:14px}.orgasm-group .choice-row .chip{font-size:.8rem}.editor-actions .btn{min-height:46px}.safety-strip .text-button{min-height:35px}.main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.week-legend{font-size:.8rem}.checkin-card p{font-size:.875rem}.privacy-pill{color:var(--muted)}.recent-section .entry-body strong{font-size:.9rem}.recent-section .entry-body small{font-size:.75rem}}
@media(max-width:360px){.date-shortcuts{padding-top:0;padding-bottom:7px}.editor-date>.field{flex-basis:100%}.dashboard-v2 .action-card.primary small{max-width:180px}.choice-row{gap:6px}.choice-row .chip{padding-inline:10px}.editor-actions{grid-template-columns:1fr!important}.editor-actions .btn{width:100%}.editor-actions .text-button{justify-self:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep seven calendar columns inside narrow tablet cards. */
.week-section .week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.week-section .day{min-width:0}
.week-section .day-circle{width:min(30px,100%);height:auto;aspect-ratio:1;min-height:0}

/* Browser print must not retain the screen-only modal backdrop or positioning. */
@media print{
  html,body{background:#fff!important;color:#222!important;height:auto!important;min-height:0!important}
  dialog[open]{position:static!important;inset:auto!important;display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#fff!important;color:#222!important}
  dialog::backdrop{display:none!important;background:transparent!important;backdrop-filter:none!important}
  dialog:has(#report-preview) .dialog-head{display:none!important}
  dialog:has(#report-preview) .dialog-body{padding:0!important}
  #report-preview{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:#222!important;font-size:11pt;line-height:1.5}
  #report-preview::before{content:'Personal reflection';display:block;font:22pt/1.2 var(--serif);margin-bottom:8mm}
  @page{margin:18mm}
}
