@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/nunito-sans-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/nunito-sans-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/nunito-sans-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/nunito-sans-3.ttf) format('truetype');
}

/* Home display theme. Calendar data, forms and authentication remain in daybook. */
:root { color-scheme:light; --db-bg:#f6f4f0; --db-paper:#ffffff; --db-ink:#303542; --db-muted:#626773; --db-line:#e2e2e6; --db-accent:#4c527e; --db-soft:#eaeaf5; --db-warning:#785214; --db-wash:#fff0cf; }
:root { --bg:var(--db-bg);--bg-elevated:#fff;--bg-card:#fff;--bg-subtle:#f0eff5;--bg-input:#f0eff5;--border:#e2e2e6;--border-strong:#c5c5d0;--text:var(--db-ink);--text-secondary:#626773;--text-muted:#626773;--text-soft:#626773;--accent:var(--db-accent);--accent-soft:#eaeaf5;--ravi:#3e567f;--ravi-soft:#e1e9f9;--reena:#805137;--reena-soft:#f9e5d7;--both:#65427e;--both-soft:#eee4f8;--kaaya:#65427e;--kaaya-soft:#eee4f8;--kaylem:#285f57;--kaylem-soft:#dcefe9;--kids:#61602f;--kids-soft:#eeeddc;--shadow:0 8px 24px #3035420d;--shadow-lg:0 20px 50px #30354226;--shadow-card:0 4px 12px #3035420a;--hairline:#e2e2e6; }
input::placeholder,textarea::placeholder { color:#626773;opacity:1; }
.modal { background:#fff;color:var(--db-ink); }.db-household .metric-label,.db-household .metric-sub,.db-household .balance-label { font-size:12px; }
body { font-family:'Nunito Sans',system-ui,sans-serif; }
::selection { background:#dcdcf2;color:#303542; }
html { scrollbar-color:#b2b2c3 var(--db-bg); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline-color:#6963a6; }
.db-shell { grid-template-columns:100px minmax(0,1fr); }
.db-rail { background:#eeedf3;padding:30px 10px;gap:45px;border:0; }
.db-rail .db-brand { justify-content:center; }.db-rail .db-brand>span:last-child { display:none; }
.db-mark { background:#59577d;width:45px;height:45px;border-radius:15px;font-size:26px; }
.db-nav { gap:15px; }.db-nav button { flex-direction:column;justify-content:center;gap:8px;padding:14px 5px;font-size:12px;min-height:76px;color:#626173; }
.db-nav .db-icon { width:24px;height:24px; }.db-nav button[aria-current=page] { background:#dcdced;color:#403e65; }
.db-settings { flex-direction:column;justify-content:center;font-size:12px;width:100%;gap:7px;padding:12px 4px; }.db-rail-note { display:none; }
.db-main,.db-shell[data-view=schedule] .db-main { padding:30px 36px 28px; }
.db-home-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px; }
.db-home-name { font-size:23px;font-weight:750;letter-spacing:-.025em; }
.db-home-name span { color:var(--db-muted);font-weight:450; }
.db-wall-clock { display:flex;align-items:center;gap:14px;text-align:right;color:var(--db-muted);font-size:13px; }
.db-wall-clock strong { color:var(--db-ink);font-size:27px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.03em; }
.db-top { margin-bottom:21px; }.db-title { font-size:38px;font-weight:750;letter-spacing:-.035em; }.db-subtitle { font-size:14px;color:var(--db-muted);margin-top:4px; }
.db-button { min-height:44px;border-radius:12px;font-size:14px;padding:10px 16px; }
.db-button.primary { background:var(--db-accent);border-color:var(--db-accent);color:#fff; }
.db-toolbar { margin-bottom:18px; }.db-date-nav { background:white;border-color:var(--db-line);border-radius:12px;padding:3px; }.db-date-nav input { font-size:15px!important;min-height:42px; }
.db-chip { min-height:40px;font-size:13px;border-color:#d1d2d9;border-radius:10px; }.db-chip[aria-pressed=true] { background:white;border-color:#85889b; }
.db-source-dot { background:#747094; }.db-source-dot.school { background:#8460a0; }
.db-family-filters { display:flex;align-items:center;gap:10px;margin-bottom:24px;flex-wrap:wrap; }
.db-member { display:inline-flex;gap:9px;align-items:center;min-height:44px;padding:6px 13px 6px 7px;border:1px solid transparent;border-radius:25px;color:var(--db-muted);font-size:14px;font-weight:650; }
.db-member-avatar { display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--event-bg,#e6e5eb);color:var(--event-ink,#4c4d60);font-size:13px;font-weight:800; }
.db-member[aria-pressed=true] { border-color:#7b7b94;background:#fff;color:var(--db-ink); }.db-member:hover { background:#fff; }
.tone-kaaya { --event-bg:#eee4f8;--event-ink:#65427e;--event-dot:#8b5ca7; }
.tone-kaylem { --event-bg:#dcefe9;--event-ink:#285f57;--event-dot:#418a7a; }
.tone-ravi { --event-bg:#e1e9f9;--event-ink:#3e567f;--event-dot:#607cb0; }
.tone-reena { --event-bg:#f9e5d7;--event-ink:#805137;--event-dot:#b17650; }
.tone-family { --event-bg:#eeeddc;--event-ink:#61602f;--event-dot:#8a8952; }
.db-schedule-grid { gap:26px; }.db-section-heading h2 { font-size:19px;font-weight:700; }.db-section-heading { margin-bottom:16px; }
.db-week-board { background:#fff;border-color:var(--db-line);border-radius:16px;min-height:490px;overflow:hidden; }
.db-board-day { border-color:var(--db-line);background:#fff; }.db-board-day:nth-child(n+6) { background:#fcfbf9; }.db-board-day.is-today { background:#f7f6fc; }
.db-board-date { flex-direction:column;gap:7px;padding:18px 5px 16px;background:transparent;color:var(--db-muted);font-size:14px;border-color:var(--db-line); }
.db-board-date strong { font-size:31px;font-weight:650;width:46px;height:46px;display:grid;place-items:center; }
.db-board-day.is-today .db-board-date { background:transparent;color:#504b79; }.db-board-day.is-today .db-board-date strong { background:#625c91;color:#fff;width:46px;height:46px;font-size:29px; }
.db-board-day.is-selected:not(.is-today) .db-board-date strong { outline:1px solid #8881aa;border-radius:50%; }
.db-day-blocks { padding:10px; }.db-event-compact { margin-bottom:10px; }
.db-event-content { padding:16px;border-radius:12px;gap:6px; }.db-event-compact .db-event-content { padding:13px 12px;min-height:100px;border-radius:12px;gap:7px; }
.db-event-compact .db-event-title { font-size:15px;line-height:1.35;-webkit-line-clamp:unset;overflow:visible;display:block;font-weight:750; }
.db-block-time { font-size:13px;line-height:1.35;font-weight:750;font-variant-numeric:tabular-nums; }
.db-event-compact .db-event-meta { font-size:11px;line-height:1.4;gap:5px; }.db-event-meta { color:var(--event-ink); }
.db-event-compact .db-location { font-size:12px;line-height:1.35;-webkit-line-clamp:2;color:var(--event-ink);opacity:1; }
.db-event-content:hover { filter:brightness(.97); }.db-time { color:var(--db-ink);font-size:15px; }.db-time small { color:var(--db-muted);font-size:13px; }
.db-day-clear { color:var(--db-muted);font-size:13px;padding:28px 4px; }.db-board-add { color:#636279;opacity:1;font-size:13px;min-height:44px; }
.db-mini-plans { margin-top:10px;border:0;border-top:1px solid var(--db-line);padding:12px 0 0; }.db-mini-child { font-size:11px;line-height:1.5; }.db-mini-child .mine { background:#e1e9f9;color:#3e567f; }
.db-week { max-width:none; }.db-day { background:#eae8ef; }.db-day[aria-pressed=true] { background:#625c91; }.db-day strong { font-size:22px; }
.db-columns>section:nth-child(2),#dbScheduleCommute .db-commute { background:#eeedf3;border-radius:16px;padding:22px; }
#dbCalendarHost { grid-template-columns:minmax(280px,450px) minmax(250px,450px); }.db-note,.db-connections summary { font-size:13px; }
.db-next-up { background:#59577d; }.db-next-up>span,.db-next-up>small { color:#efedf8; }.db-task-title { font-size:16px; }.db-task-meta { font-size:13px; }.db-task { padding:15px 0; }
#dbTransport { background:#fff;border-color:var(--db-line); }.db-plan-cell { background:#f0eff5; }.db-plan-cell.owner-ravi { background:#e1e9f9;color:#3e567f; }.db-plan-cell.owner-reena { background:#f9e5d7;color:#805137; }
.db-commute-route select { background:#fff; }.db-trains small,.db-trains span { color:var(--db-muted); }
.db-overdue,.db-error { color:#a12e2b; }.auth-brand-icon { background:var(--db-accent);color:#fff; }.auth-submit { background:var(--db-accent);color:#fff; }
.db-display .db-shell { grid-template-columns:minmax(0,1fr); }.db-display .db-rail { display:none; }.db-display .db-main { padding:26px 32px; }.db-display .db-home-header { margin-bottom:20px; }
.db-display .db-week-board { min-height:calc(100dvh - 350px); }.db-display #dbCalendarHost,.db-display #dbConnections { display:none; }
.db-display .db-home-header { margin-bottom:12px; }.db-display .db-top { margin-bottom:14px; }.db-display .db-family-filters { margin-bottom:15px; }.db-display .db-board-date { padding:12px 5px; }
@media(min-width:1800px) { .db-main,.db-shell[data-view=schedule] .db-main { padding:36px 42px; }.db-title { font-size:42px; }.db-event-compact .db-event-title { font-size:18px; }.db-block-time { font-size:16px; }.db-event-compact .db-event-meta,.db-event-compact .db-location { font-size:14px; }.db-event-compact .db-event-content { padding:16px; }.db-week-board { min-height:580px; } }
@media(min-width:761px) and (max-width:1200px) { .db-main,.db-shell[data-view=schedule] .db-main { padding:24px; }.db-week-board { overflow-x:auto;grid-template-columns:repeat(7,minmax(145px,1fr)); }.db-home-name { font-size:20px; }.db-wall-clock { gap:8px; }.db-wall-clock span { max-width:135px; }.db-columns { grid-template-columns:minmax(0,1fr) 270px; } }
@media(max-width:760px) {
  .db-shell { display:block; }.db-rail { background:#fff;padding:5px 8px max(6px,env(safe-area-inset-bottom));gap:0;border-top:1px solid var(--db-line); }.db-nav { gap:3px; }.db-nav button { min-height:56px;padding:6px 3px;gap:4px;font-size:11px; }.db-nav .db-icon { width:21px;height:21px; }
  .db-main,.db-shell[data-view=schedule] .db-main,.db-display .db-main { padding:20px 16px calc(95px + env(safe-area-inset-bottom)); }.db-mobile-brand { display:none; }.db-home-header { margin-bottom:24px; }.db-home-name { font-size:20px; }.db-home-name span { display:none; }.db-wall-clock strong { font-size:21px; }.db-wall-clock>span { display:none; }
  .db-top { align-items:flex-start;gap:10px; }.db-title { font-size:30px; }.db-subtitle { font-size:13px;max-width:210px; }.db-top .db-actions { gap:5px; }.db-top .db-button { min-height:42px;padding:9px 10px;font-size:12px; }#dbTrainJump { display:none; }#dbDisplay { display:none; }
  .db-toolbar { margin-bottom:14px; }.db-date-nav { width:100%; }.db-date-nav input { max-width:155px; }.db-filters { width:100%;justify-content:space-between; }.db-chip { min-height:40px;font-size:12px;padding:7px 10px; }
  .db-family-filters { gap:5px;flex-wrap:nowrap;overflow-x:auto;margin-bottom:18px;padding:2px; }.db-member { flex:none;font-size:12px;padding:5px 8px 5px 5px;gap:5px;min-height:40px; }.db-member-avatar { width:25px;height:25px;font-size:11px; }
  .db-week { margin-bottom:20px;gap:4px; }.db-day { min-height:62px; }.db-day small { font-size:11px; }.db-day strong { font-size:21px; }.db-week-board { background:transparent;border:0;min-height:0; }.db-board-day,.db-board-day.is-today,.db-board-day:nth-child(n+6) { background:transparent; }.db-board-date { display:none; }.db-day-blocks { padding:0; }
  .db-event-compact .db-event-content { min-height:0;padding:17px;gap:7px; }.db-event-compact .db-event-title { font-size:17px; }.db-block-time { font-size:14px; }.db-event-compact .db-event-meta,.db-event-compact .db-location { font-size:13px; }.db-day-clear { background:#fff;border-radius:12px; }
  #dbCalendarHost { display:block; }.db-note { font-size:12px; }.db-columns>section:nth-child(2) { padding:18px; }.db-section-heading h2 { font-size:17px; }.db-section-heading .db-button { font-size:12px; }.db-event-title { font-size:16px; }.db-event-meta,.db-location { font-size:12px; }.db-time { font-size:13px; }.db-mini-child { font-size:12px; }.db-display #dbDisplay { display:inline-flex; }
}

.db-header-settings { display:none; }
@media(max-width:760px) { .db-header-settings { display:inline-flex;padding:8px;min-width:40px;min-height:40px; }.db-wall-clock { gap:6px; } }

/* Default home screen: a generous daily agenda with its week alongside. */
.db-shell[data-view=today] .db-week { display:none; }
.db-shell[data-view=today] .db-title { font-size:44px; }
#dbTodayPanel .db-columns { grid-template-columns:minmax(0,1fr) 370px;gap:30px;align-items:start; }
#dbTodayPanel .db-columns>section:nth-child(2) { background:transparent; }
.db-week-peek { background:#eeedf3;padding:22px;border-radius:16px; }
.db-week-peek .db-section-heading { margin-bottom:8px; }.db-week-peek .db-section-heading .db-button { padding-right:0;font-size:12px; }
.db-peek-day { width:100%;display:grid;grid-template-columns:43px minmax(0,1fr);gap:14px;text-align:left;padding:15px 9px;border-bottom:1px solid #dcdae5;border-radius:0;min-height:75px;align-items:center; }
.db-peek-day:last-child { border-bottom:0; }.db-peek-day.is-selected { background:#fff;border-radius:12px;border-color:transparent; }
.db-peek-date { display:flex;flex-direction:column;align-items:center;gap:2px; }.db-peek-date small { color:var(--db-muted);font-size:12px; }.db-peek-date strong { font-size:24px;font-weight:750; }
.db-peek-day.is-selected .db-peek-date { color:#625c91; }.db-peek-events { display:grid;gap:7px;min-width:0; }.db-peek-event { display:flex;gap:7px;align-items:center;font-size:13px;line-height:1.4;min-width:0; }.db-peek-event>span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.db-peek-event i { background:var(--event-dot);width:7px;height:7px;border-radius:50%;flex:none; }.db-peek-events>small,.db-peek-empty { color:var(--db-muted);font-size:12px; }
#dbTodayPanel .db-event { grid-template-columns:100px minmax(0,1fr);gap:18px;padding-bottom:16px; }#dbTodayPanel .db-time { font-size:18px;padding-top:20px; }#dbTodayPanel .db-time small { font-size:15px; }
#dbTodayPanel .db-event-content { padding:21px 24px;gap:8px; }#dbTodayPanel .db-event-title { font-size:21px;line-height:1.35; }#dbTodayPanel .db-event-meta,#dbTodayPanel .db-location { font-size:14px; }
#dbTodayPanel .db-next-up { padding:24px;grid-template-columns:135px minmax(0,1fr); }#dbTodayPanel .db-next-up>b { font-size:20px; }#dbTodayPanel .db-next-up strong { font-size:28px; }
.db-today-support { grid-column:1/-1;background:transparent!important;border-top:1px solid var(--db-line);padding:25px 0!important; }.db-today-support .db-connections { max-width:500px; }#dbTodayPanel #dbTransport { margin-top:24px; }
.db-display .db-today-support,.db-display #dbTransport { display:none; }
@media(min-width:1800px) { #dbTodayPanel .db-columns { grid-template-columns:minmax(0,1fr) 440px;gap:40px; }.db-peek-event { font-size:15px; }.db-peek-day { min-height:85px; }#dbTodayPanel .db-event-title { font-size:24px; } }
@media(min-width:761px) and (max-width:1100px) { #dbTodayPanel .db-columns { grid-template-columns:minmax(0,1fr) 300px;gap:20px; }.db-week-peek { padding:15px; }#dbTodayPanel .db-event { grid-template-columns:78px minmax(0,1fr);gap:10px; }#dbTodayPanel .db-time { font-size:15px; }#dbTodayPanel .db-event-content { padding:17px; }#dbTodayPanel .db-event-title { font-size:18px; } }
@media(max-width:760px) { .db-shell[data-view=today] .db-week { display:grid; }.db-shell[data-view=today] .db-title { font-size:32px; }#dbTodayPanel .db-columns { display:flex;gap:24px; }.db-week-peek { display:none; }#dbTodayPanel .db-event { grid-template-columns:68px minmax(0,1fr);gap:10px; }#dbTodayPanel .db-time { font-size:13px;padding-top:16px; }#dbTodayPanel .db-time small { font-size:12px; }#dbTodayPanel .db-event-content { padding:16px; }#dbTodayPanel .db-event-title { font-size:17px; }#dbTodayPanel .db-event-meta,#dbTodayPanel .db-location { font-size:12px; }#dbTodayPanel .db-next-up { padding:18px;grid-template-columns:90px minmax(0,1fr); }#dbTodayPanel .db-next-up>b { font-size:17px; }#dbTodayPanel .db-next-up strong { font-size:23px; } }
.db-display #dbTrainJump { display:none; }
