/* ── Checklist Page ──────────────────────────────────────── */
.page-wrap {
min-height: 100vh;
background: var(--cream);
display: flex;
flex-direction: column;
}
.checklist-page-header {
background: var(--sage);
padding: 28px 24px 24px;
}
.checklist-page-header-inner {
max-width: 680px;
margin: 0 auto;
}
.checklist-back {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 0.8rem;
font-weight: 500;
color: rgba(250,247,242,0.65);
text-decoration: none;
margin-bottom: 20px;
transition: color 0.15s;
}
.checklist-back:hover { color: var(--cream); }
.checklist-page-title {
font-family: 'Fraunces', serif;
font-size: 1.6rem;
font-weight: 600;
color: var(--cream);
margin-bottom: 6px;
}
.checklist-page-subtitle {
font-size: 0.85rem;
color: rgba(250,247,242,0.65);
}
.checklist-countdown {
margin-top: 16px;
display: flex;
align-items: center;
gap: 10px;
}
.countdown-badge {
background: rgba(250,247,242,0.15);
border: 1px solid rgba(250,247,242,0.25);
border-radius: 100px;
padding: 5px 14px;
font-size: 0.78rem;
font-weight: 600;
color: var(--cream);
}
.countdown-label {
font-size: 0.78rem;
color: rgba(250,247,242,0.55);
}
.countdown-urgent { background: rgba(212,133,58,0.25); border-color: rgba(212,133,58,0.4); color: #F5C080; }
.checklist-content {
flex: 1;
padding: 32px 24px 64px;
}
.checklist-content-inner {
max-width: 680px;
margin: 0 auto;
}
/* Progress Summary */
.progress-summary {
background: var(--card-bg);
border: 1px solid var(--light-gray);
border-radius: var(--radius);
padding: 20px 24px;
margin-bottom: 28px;
display: flex;
align-items: center;
gap: 20px;
}
.progress-circle {
flex-shrink: 0;
width: 64px;
height: 64px;
position: relative;
}
.progress-circle svg {
transform: rotate(-90deg);
width: 64px;
height: 64px;
}
.progress-circle-bg {
fill: none;
stroke: var(--cream-dark);
stroke-width: 5;
}
.progress-circle-fill {
fill: none;
stroke: var(--sage);
stroke-width: 5;
stroke-linecap: round;
transition: stroke-dashoffset 0.4s ease;
}
.progress-circle-text {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Fraunces', serif;
font-size: 1.15rem;
font-weight: 600;
color: var(--charcoal);
}
.progress-summary-text h3 {
font-family: 'Fraunces', serif;
font-size: 1rem;
font-weight: 600;
color: var(--charcoal);
margin-bottom: 4px;
}
.progress-summary-text p {
font-size: 0.82rem;
color: var(--mid);
line-height: 1.5;
}
/* Steps List */
.steps-list {
display: flex;
flex-direction: column;
gap: 16px;
}
.step-card {
background: var(--card-bg);
border: 1px solid var(--light-gray);
border-radius: var(--radius);
overflow: hidden;
transition: box-shadow 0.2s, border-color 0.2s;
}
.step-card:hover { box-shadow: var(--shadow-sm); }
.step-card.done { border-color: var(--sage); opacity: 0.75; }
.step-card.done .step-check { background: var(--sage); }
.step-card.done .step-check svg { display: block; }
.step-card.done .step-check-circle { display: none; }
.step-card-inner {
padding: 20px 20px 20px 20px;
display: flex;
gap: 16px;
align-items: flex-start;
}
.step-check {
flex-shrink: 0;
width: 32px;
height: 32px;
border-radius: 50%;
border: 2px solid var(--light-gray);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: background 0.15s, border-color 0.15s;
margin-top: 2px;
}
.step-check:hover { border-color: var(--sage); }
.step-check-circle { width: 12px; height: 12px; border-radius: 50%; background: var(--light-gray); }
.step-check svg { display: none; width: 16px; height: 16px; color: var(--cream); }
.step-body { flex: 1; min-width: 0; }
.step-header { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.step-num {
font-size: 0.7rem;
font-weight: 700;
color: var(--sage);
letter-spacing: 0.05em;
text-transform: uppercase;
}
.step-title {
font-family: 'Fraunces', serif;
font-size: 1rem;
font-weight: 600;
color: var(--charcoal);
}
.step-desc {
font-size: 0.85rem;
color: var(--mid);
line-height: 1.6;
margin-bottom: 14px;
}
.step-detail {
background: var(--sage-light);
border-radius: var(--radius-sm);
padding: 12px 14px;
font-size: 0.82rem;
color: var(--sage-dark);
line-height: 1.6;
}
.step-detail strong { font-weight: 600; }
.step-actions { padding: 0 20px 18px; display: flex; justify-content: flex-end; }
.btn-mark-done {
font-size: 0.82rem;
font-weight: 600;
padding: 8px 18px;
background: var(--sage);
color: var(--cream);
border: none;
border-radius: 100px;
cursor: pointer;
transition: background 0.15s;
}
.btn-mark-done:hover { background: var(--sage-dark); }
.step-card.done .step-actions { display: none; }
.step-undone {
display: none;
padding: 0 20px 18px;
justify-content: flex-end;
}
.step-card.done .step-undone { display: flex; }
.btn-mark-undone {
font-size: 0.82rem;
font-weight: 500;
padding: 8px 18px;
background: transparent;
color: var(--mid);
border: 1px solid var(--light-gray);
border-radius: 100px;
cursor: pointer;
transition: border-color 0.15s, color 0.15s;
}
.btn-mark-undone:hover { border-color: var(--mid); color: var(--charcoal); }
/* ── Conversion Prompt ─────────────────────────────── */
.conversion-prompt {
background: linear-gradient(135deg, #2D4F3A 0%, #3D6B4F 100%);
border-radius: var(--radius);
padding: 28px 28px 24px;
margin-top: 20px;
text-align: center;
}
.conversion-prompt-eyebrow {
display: inline-block;
background: rgba(212,133,58,0.2);
border: 1px solid rgba(212,133,58,0.4);
color: #F5C080;
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
padding: 4px 14px;
border-radius: 100px;
margin-bottom: 14px;
}
.conversion-prompt h3 {
font-family: 'Fraunces', serif;
font-size: 1.25rem;
font-weight: 600;
color: var(--cream);
margin-bottom: 10px;
line-height: 1.3;
}
.conversion-prompt p {
font-size: 0.88rem;
color: rgba(250,247,242,0.75);
line-height: 1.6;
margin-bottom: 20px;
max-width: 420px;
margin-left: auto;
margin-right: auto;
}
.conversion-price-row {
display: flex;
align-items: center;
justify-content: center;
gap: 14px;
margin-bottom: 18px;
}
.conversion-price-label {
font-size: 0.8rem;
color: rgba(250,247,242,0.6);
text-decoration: line-through;
}
.conversion-price-actual {
font-family: 'Fraunces', serif;
font-size: 1.6rem;
font-weight: 600;
color: var(--cream);
}
.conversion-price-actual span {
font-size: 0.85rem;
font-weight: 400;
color: rgba(250,247,242,0.6);
}
.conversion-trial-badge {
font-size: 0.72rem;
font-weight: 700;
background: var(--amber);
color: var(--cream);
padding: 3px 10px;
border-radius: 100px;
}
.conversion-cta {
display: inline-block;
background: var(--cream);
color: var(--sage);
font-weight: 700;
font-size: 0.95rem;
padding: 13px 28px;
border-radius: 100px;
text-decoration: none;
transition: transform 0.15s, box-shadow 0.15s;
margin-bottom: 12px;
}
.conversion-cta:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}
.conversion-dismiss {
font-size: 0.75rem;
color: rgba(250,247,242,0.45);
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
padding: 0;
}
.conversion-dismiss:hover { color: rgba(250,247,242,0.65); }
/* ── Completion State ──────────────────────────────── */
.completion-banner {
background: var(--sage);
border-radius: var(--radius);
padding: 32px 28px;
text-align: center;
color: var(--cream);
}
.completion-icon {
width: 56px;
height: 56px;
background: rgba(250,247,242,0.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 16px;
}
.completion-title {
font-family: 'Fraunces', serif;
font-size: 1.3rem;
font-weight: 600;
margin-bottom: 8px;
}
.completion-body {
font-size: 0.88rem;
color: rgba(250,247,242,0.75);
line-height: 1.6;
}
/* Reset Button */
.reset-wrap {
text-align: center;
margin-top: 24px;
}
.btn-reset {
font-size: 0.78rem;
color: var(--mid);
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
}
.btn-reset:hover { color: var(--charcoal); }
/* ── Share with caregiver/family ──────────────────────── */
.share-caregiver {
background: var(--card-bg);
border: 1px solid var(--light-gray);
border-radius: var(--radius);
padding: 20px 22px;
margin-bottom: 24px;
}
.share-caregiver-label {
font-size: 0.78rem;
font-weight: 700;
color: var(--sage);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 6px;
}
.share-caregiver-help {
font-size: 0.82rem;
color: var(--mid);
line-height: 1.55;
margin-bottom: 14px;
}
.share-caregiver-row {
display: flex;
gap: 10px;
margin-bottom: 12px;
}
.share-caregiver-row input {
flex: 1;
padding: 9px 12px;
font-size: 0.85rem;
font-family: 'DM Sans', sans-serif;
border: 1px solid var(--light-gray);
border-radius: var(--radius-sm);
background: var(--cream-dark);
color: var(--charcoal);
transition: border-color 0.15s;
min-width: 0;
}
.share-caregiver-row input:focus {
outline: none;
border-color: var(--sage);
}
.share-caregiver-row input::placeholder { color: var(--mid); opacity: 0.6; }
.share-caregiver-actions {
display: flex;
align-items: center;
gap: 14px;
flex-wrap: wrap;
}
.btn-share {
font-size: 0.82rem;
font-weight: 600;
padding: 9px 20px;
background: var(--sage);
color: var(--cream);
border: none;
border-radius: 100px;
cursor: pointer;
transition: background 0.15s;
}
.btn-share:hover { background: var(--sage-dark); }
.btn-share:disabled { opacity: 0.6; cursor: not-allowed; }
.share-caregiver-confirm {
display: flex;
align-items: center;
gap: 6px;
font-size: 0.82rem;
color: var(--sage);
}
.share-caregiver-error {
font-size: 0.78rem;
color: #B05151;
}
/* Doctor Info Section */
.doctor-info {
background: var(--cream-dark);
border-radius: var(--radius-sm);
padding: 16px 18px;
margin-bottom: 18px;
border: 1px solid var(--light-gray);
}
.doctor-info-label {
font-size: 0.78rem;
font-weight: 600;
color: var(--mid);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 10px;
}
.doctor-info-row {
display: flex;
gap: 10px;
}
.doctor-info input {
flex: 1;
padding: 9px 12px;
font-size: 0.85rem;
font-family: 'DM Sans', sans-serif;
border: 1px solid var(--light-gray);
border-radius: var(--radius-sm);
background: var(--card-bg);
color: var(--charcoal);
transition: border-color 0.15s;
min-width: 0;
}
.doctor-info input:focus {
outline: none;
border-color: var(--sage);
}
.doctor-info input::placeholder { color: var(--mid); opacity: 0.6; }
.doctor-info-saved {
font-size: 0.78rem;
color: var(--sage);
margin-top: 8px;
display: flex;
align-items: center;
gap: 5px;
}
/* Scheduling Shortcuts */
.scheduling-shortcuts {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
margin-top: 16px;
}
.shortcut-card {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 8px;
padding: 16px 12px;
background: var(--card-bg);
border: 1.5px solid var(--light-gray);
border-radius: var(--radius);
cursor: pointer;
text-decoration: none;
transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
text-align: center;
min-height: 80px;
}
.shortcut-card:hover {
border-color: var(--sage);
box-shadow: var(--shadow-sm);
}
.shortcut-card.active {
background: var(--sage-light);
border-color: var(--sage);
}
.shortcut-icon {
font-size: 1.6rem;
line-height: 1;
}
.shortcut-label {
font-size: 0.78rem;
font-weight: 600;
color: var(--charcoal);
line-height: 1.3;
}
.shortcut-sub {
font-size: 0.7rem;
color: var(--mid);
line-height: 1.3;
}
/* Done Toggle */
.done-toggle-row {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 16px;
padding: 14px 16px;
background: var(--sage-light);
border-radius: var(--radius-sm);
border: 1px solid rgba(91,123,91,0.2);
cursor: pointer;
transition: background 0.15s;
}
.done-toggle-row:hover { background: rgba(91,123,91,0.12); }
.done-toggle-row.marked {
background: var(--sage);
border-color: var(--sage-dark);
}
.done-toggle-text {
font-size: 0.85rem;
font-weight: 600;
color: var(--sage-dark);
}
.done-toggle-row.marked .done-toggle-text { color: var(--cream); }
.done-toggle-check {
width: 24px;
height: 24px;
border-radius: 50%;
border: 2px solid var(--sage);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
transition: background 0.15s, border-color 0.15s;
}
.done-toggle-row.marked .done-toggle-check {
background: var(--cream);
border-color: var(--cream);
}
.done-toggle-check svg { display: none; width: 14px; height: 14px; }
.done-toggle-row.marked .done-toggle-check svg { display: block; color: var(--sage); }
/* MyChart Input */
.mychart-input-row {
margin-top: 12px;
display: flex;
gap: 8px;
align-items: center;
}
.mychart-input-row input {
flex: 1;
padding: 8px 12px;
font-size: 0.82rem;
font-family: 'DM Sans', sans-serif;
border: 1px solid var(--light-gray);
border-radius: var(--radius-sm);
background: var(--card-bg);
color: var(--charcoal);
}
.mychart-input-row input:focus { outline: none; border-color: var(--sage); }
.mychart-input-row input::placeholder { color: var(--mid); opacity: 0.6; }
.btn-mychart {
font-size: 0.78rem;
font-weight: 600;
padding: 8px 14px;
background: #0070c0;
color: white;
border: none;
border-radius: 100px;
cursor: pointer;
white-space: nowrap;
transition: background 0.15s;
}
.btn-mychart:hover { background: #005a9e; }
/* ── Discharge-input (paste -> personalize) ─────────────── */
.discharge-input {
background: var(--card-bg);
border: 1px solid var(--light-gray);
border-radius: var(--radius);
padding: 20px 22px;
margin-bottom: 24px;
}
.discharge-input-label {
font-size: 0.78rem;
font-weight: 700;
color: var(--sage);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 6px;
}
.discharge-input-help {
font-size: 0.82rem;
color: var(--mid);
line-height: 1.55;
margin-bottom: 14px;
}
.discharge-input textarea {
width: 100%;
min-height: 110px;
padding: 12px 14px;
font-size: 0.85rem;
font-family: 'DM Sans', sans-serif;
border: 1px solid var(--light-gray);
border-radius: var(--radius-sm);
background: var(--cream-dark);
color: var(--charcoal);
resize: vertical;
transition: border-color 0.15s;
}
.discharge-input textarea:focus {
outline: none;
border-color: var(--sage);
}
.discharge-input textarea::placeholder { color: var(--mid); opacity: 0.6; }
.discharge-input-actions {
display: flex;
align-items: center;
gap: 14px;
flex-wrap: wrap;
margin-top: 12px;
}
.btn-discharge {
font-size: 0.82rem;
font-weight: 600;
padding: 9px 20px;
background: var(--sage);
color: var(--cream);
border: none;
border-radius: 100px;
cursor: pointer;
transition: background 0.15s;
}
.btn-discharge:hover { background: var(--sage-dark); }
.btn-discharge:disabled { opacity: 0.6; cursor: not-allowed; }
.discharge-clear-link {
font-size: 0.78rem;
color: var(--mid);
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
padding: 0;
display: none;
}
.discharge-clear-link:hover { color: var(--charcoal); }
.discharge-clear-link.visible { display: inline-block; }
.discharge-input-status {
font-size: 0.78rem;
color: var(--sage);
margin-top: 8px;
display: none;
}
.discharge-input-status.visible { display: block; }
/* ── Personalized Section ───────────────────────────── */
.personalized-section {
background: var(--card-bg);
border: 1px solid var(--sage);
border-left: 4px solid var(--sage);
border-radius: var(--radius);
padding: 24px 24px 20px;
margin-bottom: 24px;
}
.personalized-section-eyebrow {
font-size: 0.7rem;
font-weight: 700;
color: var(--sage);
letter-spacing: 0.05em;
text-transform: uppercase;
margin-bottom: 6px;
}
.personalized-section-title {
font-family: 'Fraunces', serif;
font-size: 1.15rem;
font-weight: 600;
color: var(--charcoal);
margin-bottom: 4px;
}
.personalized-section-help {
font-size: 0.82rem;
color: var(--mid);
line-height: 1.55;
margin-bottom: 4px;
}
.personalized-section-subhead {
font-size: 0.72rem;
font-weight: 700;
color: var(--mid);
text-transform: uppercase;
letter-spacing: 0.05em;
margin: 14px 0 8px;
}
.meds-chips {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.med-chip {
background: var(--sage-light);
color: var(--sage-dark);
border-radius: 100px;
padding: 8px 14px;
font-size: 0.82rem;
font-weight: 600;
line-height: 1.3;
}
.followups-list {
display: flex;
flex-direction: column;
gap: 12px;
}
.followup-prompt {
background: var(--cream-dark);
border-radius: var(--radius-sm);
padding: 14px 16px;
font-size: 0.85rem;
color: var(--charcoal);
line-height: 1.55;
}
.followup-prompt-text { margin-bottom: 10px; }
.followup-prompt-text strong { font-weight: 600; }
.followup-prompt-row {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
}
.followup-prompt input[type="date"] {
flex: 1;
min-width: 140px;
padding: 8px 12px;
font-size: 0.82rem;
font-family: 'DM Sans', sans-serif;
border: 1px solid var(--light-gray);
border-radius: var(--radius-sm);
background: var(--card-bg);
color: var(--charcoal);
transition: border-color 0.15s;
}
.followup-prompt input[type="date"]:focus {
outline: none;
border-color: var(--sage);
}
.btn-mark-followup {
font-size: 0.78rem;
font-weight: 600;
padding: 8px 14px;
background: var(--sage);
color: var(--cream);
border: none;
border-radius: 100px;
cursor: pointer;
transition: background 0.15s;
white-space: nowrap;
}
.btn-mark-followup:hover { background: var(--sage-dark); }
.followup-prompt.marked {
background: var(--sage);
color: var(--cream);
}
.followup-prompt.marked input[type="date"],
.followup-prompt.marked .btn-mark-followup { display: none; }
.followup-prompt.marked .followup-prompt-text::after {
content: ' ✓ Scheduled';
font-weight: 600;
margin-left: 6px;
}
.redflags-list {
display: flex;
flex-direction: column;
gap: 12px;
}
.redflag-warning {
background: var(--amber-light);
border: 1.5px solid var(--amber);
border-radius: var(--radius);
padding: 16px 18px;
display: flex;
align-items: flex-start;
gap: 12px;
color: var(--charcoal);
font-size: 0.88rem;
line-height: 1.55;
}
.redflag-icon {
flex-shrink: 0;
font-size: 1.15rem;
line-height: 1;
color: #B05151;
font-weight: 700;
}
.redflag-warning-body strong { font-weight: 700; color: var(--charcoal); }
.redflag-warning-body .redflag-action {
display: block;
font-size: 0.78rem;
color: var(--mid);
margin-top: 4px;
}
@media (max-width: 600px) {
.progress-summary { flex-direction: column; align-items: flex-start; gap: 14px; }
.checklist-page-header { padding: 20px 20px 18px; }
.checklist-content { padding: 20px 16px 48px; }
.scheduling-shortcuts { grid-template-columns: 1fr 1fr; }
.doctor-info-row { flex-direction: column; }
}
/* ── Guest Mode Banner ─────────────────────────────────── */
.guest-banner {
background: linear-gradient(135deg, #2D4F3A 0%, #3D6B4F 100%);
border-radius: var(--radius);
padding: 16px 20px;
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 14px;
color: var(--cream);
}
.guest-banner-icon {
font-size: 1.4rem;
flex-shrink: 0;
}
.guest-banner-text {
flex: 1;
}
.guest-banner-text strong {
font-size: 0.9rem;
font-weight: 600;
display: block;
margin-bottom: 2px;
}
.guest-banner-text span {
font-size: 0.78rem;
color: rgba(250,247,242,0.7);
}
/* ── Mid-Funnel CTA (guest mode) ──────────────────────── */
.mid-funnel-cta {
background: linear-gradient(135deg, #2D4F3A 0%, #3D6B4F 100%);
border-radius: var(--radius);
padding: 24px 28px 20px;
margin-top: 20px;
text-align: center;
}
.mid-funnel-cta h3 {
font-family: 'Fraunces', serif;
font-size: 1.1rem;
font-weight: 600;
color: var(--cream);
margin-bottom: 8px;
}
.mid-funnel-cta p {
font-size: 0.85rem;
color: rgba(250,247,242,0.75);
line-height: 1.6;
margin-bottom: 16px;
}
.mid-funnel-cta-gate {
font-size: 0.78rem;
color: rgba(250,247,242,0.5);
margin-top: 12px;
}
.guest-step-limit-note {
font-size: 0.75rem;
color: rgba(250,247,242,0.4);
text-align: center;
margin-top: 6px;
}
From your discharge summary
Personalized for you
Extracted from the text you pasted. Use these alongside — not in place of — the steps below.
Your medications
Follow-ups to schedule
When to get help right away
Getting started
Work through each step to stay on track during your first 72 hours at home.
All done!
You've completed all 5 steps. Keep this checklist handy — symptoms to watch for are always one tap away.
Special offer
This checklist helped. Want ongoing access?
Get CareBridge on your phone — medication reminders, warning sign alerts, and one-tap access to everything you just completed.
$19/mo
$1/first month
$1 Trial
Start — $1 for your first month →
No thanks, maybe later
That's 3 steps done — you're on your way!
Create your free CareBridge account to unlock the full checklist and keep your progress across every device.
Create free account →
No credit card required · Takes 30 seconds
Start over