/* Family Daybook: a schedule-first surface over the existing family records. */
:root { --db-bg:#f7f6f2; --db-paper:#fff; --db-ink:#202823; --db-muted:#59635d; --db-line:#dce2db; --db-accent:#245c45; --db-soft:#e8eee7; --db-warning:#815400; --db-wash:#fbf0d5; }
html { -webkit-tap-highlight-color:transparent; scrollbar-color:#a5b4a9 var(--db-bg); }
body { background:var(--db-bg)!important; color:var(--db-ink); font-family:system-ui,-apple-system,sans-serif; font-size:16px; letter-spacing:0; }
::selection { background:#d4e6d7; color:#173c29; }
input,textarea,select { font-size:16px!important; caret-color:var(--db-accent); }
button,a,input,select { touch-action:manipulation; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #497b62; outline-offset:3px; }
[hidden] { display:none!important; }
body.no-auth .db-shell,body.no-auth .db-dialog { display:none!important; }
body > .app { display:none; }
#quickLogFab { display:none; }
.db-shell { min-height:100dvh; display:grid; grid-template-columns:214px minmax(0,1fr); }
.db-rail { position:sticky; top:0; height:100dvh; padding:36px 22px; border-right:1px solid var(--db-line); display:flex; flex-direction:column; gap:34px; }
.db-brand { display:flex; gap:11px; align-items:center; font-size:17px; font-weight:700; letter-spacing:-.03em; }
.db-mark { width:35px;height:35px; background:var(--db-accent);color:white;display:grid;place-items:center;border-radius:11px;font-size:21px;font-weight:500; }
.db-brand small { display:block;font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--db-muted);margin-top:1px; }
.db-nav { display:grid;gap:7px; }
.db-nav button,.db-settings { display:flex;gap:12px;align-items:center;min-height:46px;padding:11px 13px;text-align:left;border-radius:10px;font-size:14px;font-weight:550;color:var(--db-muted); }
.db-nav button[aria-current=page] { background:var(--db-soft);color:var(--db-accent);font-weight:700; }
.db-icon { width:20px;height:20px;flex:none;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round; }
.db-rail-bottom { margin-top:auto; }
.db-rail-note { color:var(--db-muted);font-size:12px;line-height:1.6;padding:12px; }
.db-main { width:100%;max-width:1340px;margin:0 auto;padding:39px 48px 60px;min-width:0; }
.db-top { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px; }
.db-title { font-size:32px;font-weight:650;line-height:1.2;letter-spacing:-.035em; }
.db-subtitle { font-size:14px;color:var(--db-muted);margin-top:7px; }
.db-button { min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:9px;background:var(--db-paper);color:var(--db-ink);font-weight:600;font-size:14px;border:1px solid var(--db-line); }
.db-button.primary { background:var(--db-accent);color:#fff;border-color:var(--db-accent); }
.db-button.quiet { background:transparent;border-color:transparent;color:var(--db-accent); }
.db-button:disabled { opacity:.55;cursor:wait; }
.db-button:active { transform:scale(.96); }
.db-actions { display:flex;gap:8px;flex-wrap:wrap; }
.db-toolbar { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap; }
.db-date-nav { display:flex;align-items:center;gap:4px; }
.db-date-nav input { min-height:44px;max-width:160px;border:0;background:transparent;color:var(--db-ink);font:inherit; }
.db-arrow { padding:10px;min-width:44px; }
.db-filters { display:flex;gap:7px;align-items:center;flex-wrap:wrap; }
.db-chip { display:inline-flex;align-items:center;gap:6px;min-height:38px;border-radius:8px;padding:7px 10px;background:transparent;border:1px solid var(--db-line);font-size:13px;color:var(--db-muted); }
.db-chip[aria-pressed=true] { background:var(--db-paper);color:var(--db-ink);border-color:#82998b; }
.db-source-dot { width:7px;height:7px;border-radius:50%;background:var(--db-accent);display:inline-block; }
.db-source-dot.spectrum { background:#366e9c; }.db-source-dot.s818 { background:#ad663b; }
.db-week { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--db-line);margin-bottom:32px;gap:5px;padding-bottom:15px; }
.db-day { min-height:73px;border-radius:11px;display:grid;place-content:center;gap:5px;text-align:center; }
.db-day small { font-size:12px;color:var(--db-muted); }.db-day strong { font-size:22px;font-weight:550;letter-spacing:-.03em; }
.db-day[aria-pressed=true] { background:var(--db-accent);color:white; }.db-day[aria-pressed=true] small { color:#edf4ef; }
.db-columns { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:42px;align-items:start; }
.db-section-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px; }
.db-section-heading h2 { font-size:18px;font-weight:650;letter-spacing:-.025em; }
.db-section-heading p { font-size:13px;color:var(--db-muted); }
.db-agenda { background:var(--db-paper);border-radius:14px;padding:0 22px; }
.db-event { display:grid;grid-template-columns:75px minmax(0,1fr);gap:14px;padding:21px 0;border-bottom:1px solid var(--db-line); }
.db-event:last-child { border-bottom:0; }
.db-time { font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.5; }.db-time small { display:block;font-weight:400;font-size:12px;color:var(--db-muted); }
.db-event-title { font-size:16px;line-height:1.4;font-weight:620;overflow-wrap:anywhere; }
button.db-event-title { text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px; }
.db-event-meta { display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--db-muted);margin-top:8px; }
.db-source { display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-weight:650; }
.db-location { color:var(--db-muted);font-size:13px;margin-top:7px;overflow-wrap:anywhere; }
.db-overlap { font-size:12px;color:var(--db-warning);background:var(--db-wash);display:inline-block;padding:3px 7px;border-radius:5px;margin-top:8px; }
.db-empty { padding:30px 0;color:var(--db-muted);font-size:14px;line-height:1.6; }.db-empty strong { display:block;color:var(--db-ink);font-weight:550;margin-bottom:5px; }
.db-task { display:flex;gap:12px;align-items:flex-start;padding:17px 0;border-bottom:1px solid var(--db-line); }
.db-task input[type=checkbox] { width:21px;height:21px;accent-color:var(--db-accent);margin-top:2px;flex:none;cursor:pointer; }
.db-task-body { flex:1;min-width:0; }.db-task-title { font-size:15px;font-weight:550;text-align:left;overflow-wrap:anywhere; }.db-task.done .db-task-title { text-decoration:line-through;color:var(--db-muted); }
.db-task-meta { font-size:12px;color:var(--db-muted);margin-top:5px; }.db-overdue { color:#9c352b; }
.db-task-foot { margin-top:17px; }.db-note { font-size:12px;color:var(--db-muted);line-height:1.6; }
.db-connections { border-top:1px solid var(--db-line);margin-top:32px;padding-top:19px; }
.db-connections summary { cursor:pointer;font-size:13px;font-weight:550;color:var(--db-muted);min-height:36px; }
.db-connection { display:flex;justify-content:space-between;align-items:start;gap:16px;padding:12px 0;font-size:13px; }.db-connection small { display:block;color:var(--db-muted);font-size:12px;margin-top:4px; }
.db-notice { padding:12px 16px;background:var(--db-wash);color:var(--db-warning);border-radius:9px;font-size:13px;line-height:1.5;margin-bottom:20px; }
.db-feedback { position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:300;background:#202823;color:white;border-radius:11px;padding:13px 18px;max-width:calc(100% - 32px);font-size:14px;box-shadow:0 8px 28px #0002; }
.db-feedback button { color:#fff;text-decoration:underline;margin-left:14px;min-height:30px; }
.db-dialog { border:0;background:var(--db-paper);color:var(--db-ink);padding:28px;border-radius:16px;max-width:480px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;margin:auto;box-shadow:0 20px 70px #0003; }
.db-dialog::backdrop { background:#16251c66; }.db-dialog h2 { font-size:23px;letter-spacing:-.03em;margin:0 0 22px; }
.db-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }.db-field { display:grid;gap:7px;font-size:13px;font-weight:600; }.db-field.full { grid-column:1/-1; }.db-field input,.db-field select { width:100%;min-height:46px;border:1px solid var(--db-line);border-radius:8px;padding:10px;background:var(--db-bg);color:var(--db-ink); }.db-dialog footer { display:flex;gap:10px;justify-content:flex-end;margin-top:25px; }.db-error { color:#a12e2b;font-size:13px;margin-top:15px; }
.db-household > .tabs { max-width:500px; }.db-household .score-row { max-width:650px; }.db-household .metrics-grid { margin-bottom:28px; }.db-household .header { display:none; }.db-household .footer-note { display:none; }
.db-household .score-card,.db-household .balance-bar,.db-household .chart-card,.db-household .expenses-card,.db-household .activity-card,.db-schedule .calendar-card { background:var(--db-paper);box-shadow:none;border-radius:14px; }
.db-schedule-grid { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr);gap:32px; }.db-schedule-grid .calendar-card { min-width:0; }
.db-task-tools { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px; }.db-task-tools select { min-height:44px;border:1px solid var(--db-line);background:var(--db-paper);border-radius:8px;padding:8px;color:var(--db-ink); }
.db-all-tasks { max-width:780px; }.db-mobile-brand { display:none; }
@media(hover:hover) and (pointer:fine) { .db-nav button:hover,.db-day:hover { background:var(--db-soft);color:var(--db-accent); }.db-button:hover { filter:brightness(.96); }button.db-event-title:hover { text-decoration-color:currentColor; } }
@media(min-width:1600px) { .db-main { padding-top:52px; } }
@media(max-width:1050px) { .db-main { padding:30px 25px 50px; }.db-shell { grid-template-columns:180px minmax(0,1fr); }.db-rail { padding:30px 14px; }.db-columns { gap:25px;grid-template-columns:minmax(0,1.3fr) minmax(230px,1fr); }.db-schedule-grid { grid-template-columns:1fr; } }
@media(max-width:760px) { .db-shell { display:block; }.db-rail { position:fixed;top:auto;bottom:0;height:auto;width:100%;z-index:80;background:var(--db-paper);border-top:1px solid var(--db-line);border-right:0;padding:5px 8px max(6px,env(safe-area-inset-bottom)); }.db-rail>.db-brand,.db-rail-bottom { display:none; }.db-nav { display:grid;grid-template-columns:repeat(4,1fr);gap:3px; }.db-nav button { flex-direction:column;gap:3px;justify-content:center;padding:7px 3px;font-size:11px;min-height:54px;border-radius:8px; }.db-main { padding:18px 18px calc(100px + env(safe-area-inset-bottom)); }.db-mobile-brand { display:flex;justify-content:space-between;align-items:center;margin-bottom:26px; }.db-mobile-brand .db-brand { font-size:16px; }.db-mobile-brand .db-mark { width:29px;height:29px;font-size:18px; }.db-top { margin-bottom:23px;gap:10px; }.db-title { font-size:29px; }.db-subtitle { font-size:13px; }.db-top .db-button { padding:9px 12px; }.db-toolbar { gap:12px;margin-bottom:16px; }.db-filters { gap:5px; }.db-chip { font-size:12px;padding:6px 9px; }.db-week { margin-bottom:25px;padding-bottom:12px;gap:2px; }.db-day { min-height:65px; }.db-day strong { font-size:20px; }.db-day small { font-size:11px; }.db-columns { display:flex;flex-direction:column;gap:28px; }.db-columns>section { width:100%; }.db-agenda { padding:0 16px; }.db-event { grid-template-columns:64px minmax(0,1fr);gap:10px;padding:18px 0; }.db-event-title { font-size:15px; }.db-section-heading h2 { font-size:17px; }.db-feedback { bottom:90px; }.db-dialog { padding:23px; }.db-form-grid { gap:15px; }.db-household .score { font-size:32px; }.db-date-nav input { max-width:150px; }.db-task input[type=checkbox] { margin:0;width:24px;height:24px; }.db-task { min-height:65px; }.db-source-filter-label { display:none; } }
@media(prefers-color-scheme:dark) { :root { --db-bg:#171d19;--db-paper:#222a24;--db-ink:#edf2ed;--db-muted:#acb8ae;--db-line:#3e4a40;--db-accent:#a0d0ad;--db-soft:#2f4234;--db-warning:#f0ca88;--db-wash:#3c3220; }.db-button.primary,.db-day[aria-pressed=true],.db-mark { background:#315a40;color:#fff;border-color:#52735b; }.db-day[aria-pressed=true] small { color:#edf4ef; }.db-error,.db-overdue { color:#f5a395; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }.db-button:active { transform:none; } }
.auth-gate { background:var(--db-bg); }.auth-card { background:var(--db-paper);border-radius:16px;box-shadow:0 16px 55px #18251c12; }.auth-brand-icon { width:48px;height:48px;margin:0 auto 16px;display:grid;place-items:center;background:var(--db-accent);color:var(--db-paper);border-radius:14px;font-size:29px; }.auth-brand-title { color:var(--db-ink); }.auth-brand-sub,.auth-label { color:var(--db-muted); }.auth-input { background:var(--db-bg);color:var(--db-ink);border-color:var(--db-line); }.auth-submit { background:var(--db-accent);color:var(--db-paper); }.auth-note { color:var(--db-muted); }
.db-check { display:grid;place-items:center;width:44px;min-width:44px;height:44px;margin:-10px 0 -10px -10px;cursor:pointer; }.db-task-title { min-height:32px; }.modal-backdrop .modal-close,.cal-nav button,.icon-btn { min-width:44px;min-height:44px; }.db-task-tools select { max-width:100%; }.db-dialog .db-field span { font-weight:400; }
.db-source-dot.school { background:#795796; }
.db-location a { color:var(--db-accent);text-decoration:underline;text-underline-offset:3px; }
#dbDelivery { border-top:1px solid var(--db-line);padding:8px 0 15px;margin-top:8px; }#dbDelivery .db-note + .db-note { margin-top:8px; }
.db-commute { border-top:1px solid var(--db-line);padding:22px 0;margin:8px 0 15px; }.db-commute .db-section-heading { margin-bottom:5px; }.db-commute h2 { font-size:16px; }.db-commute-route { display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--db-muted);flex-wrap:wrap; }.db-commute-route select { min-height:40px;max-width:100%;border:1px solid var(--db-line);border-radius:8px;background:var(--db-paper);color:var(--db-ink);padding:7px;font-size:13px!important; }.db-trains { list-style:none;margin:10px 0;padding:0; }.db-trains li { display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--db-line);font-size:12px; }.db-trains li>div { display:flex;flex-direction:column;gap:3px; }.db-trains strong { font-size:16px;font-variant-numeric:tabular-nums; }.db-trains small,.db-trains span { color:var(--db-muted); }.db-commute a { color:var(--db-accent);text-underline-offset:3px; }.db-commute-empty { padding:17px 0; }.db-phone { padding:8px 0; }
@media(pointer:coarse) { .db-commute-route select { font-size:16px!important; } }
/* Calendar workspace: a compact, color-coded family wall calendar. */
:root { --db-bg:#f5f3ee;--db-paper:#fffefa;--db-line:#e3e2dc;--db-ink:#26352e;--db-muted:#69716b;--db-accent:#2d6048;--db-soft:#e4ecdf; }
.db-shell { grid-template-columns:184px minmax(0,1fr); }
.db-rail { background:#eeeee6;padding:28px 15px;gap:38px; }
.db-brand { font-size:16px; }.db-brand small { display:none; }.db-mark { background:#365e48;border-radius:10px; }
.db-nav button { padding:13px 14px;font-size:14px;border-radius:10px; }.db-nav button[aria-current=page] { background:#dce7d5;color:#244b35; }
.db-rail-note { font-size:11px;line-height:1.5;max-width:145px; }
.db-main { max-width:none;margin:0;padding:28px 34px 45px; }
.db-top { margin-bottom:23px; }.db-title { font-size:31px;letter-spacing:-.035em;font-weight:700; }.db-subtitle { margin-top:4px;font-size:13px; }
.db-toolbar { margin-bottom:16px; }.db-date-nav { background:#fffefa;border:1px solid var(--db-line);padding:1px;border-radius:10px; }.db-date-nav .db-button { min-height:38px; }.db-date-nav input { font-size:14px!important;min-height:38px; }
.db-chip { background:transparent;border:1px solid #d8ddd4;border-radius:8px;min-height:36px; }.db-chip[aria-pressed=true] { background:#fffefa;border-color:#bec9b8; }
.db-week { gap:6px;padding:0;border:0;margin:0 0 23px;max-width:760px; }.db-day { min-height:61px;background:#eeeee7;border-radius:10px;grid-template-columns:auto auto;gap:8px; }.db-day small { font-size:12px; }.db-day strong { font-size:22px; }.db-day[aria-pressed=true] { background:#355e47;color:white; }
.db-columns { grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:26px; }.db-columns>section:nth-child(2) { background:#eeeee7;border-radius:16px;padding:19px 21px; }.db-columns>section:nth-child(2)>.db-connections { margin-top:14px;padding-top:0;border:0; }
.db-section-heading { margin-bottom:13px; }.db-section-heading h2 { font-size:18px; }.db-section-heading .db-button { min-height:36px;padding:7px 10px; }
.db-agenda { padding:0;background:transparent;border-radius:0; }
.tone-kaaya { --event-bg:#eee4f8;--event-ink:#634582;--event-dot:#956bb2; }
.tone-kaylem { --event-bg:#dcf0e9;--event-ink:#246b60;--event-dot:#4d9b8a; }
.tone-ravi { --event-bg:#e4ecf8;--event-ink:#365c8c;--event-dot:#628abd; }
.tone-reena { --event-bg:#f9e5de;--event-ink:#995946;--event-dot:#c67c64; }
.tone-family { --event-bg:#e8eedb;--event-ink:#586b35;--event-dot:#8b9c65; }
.db-event { border:0;grid-template-columns:76px minmax(0,1fr);gap:15px;padding:0 0 12px;align-items:start; }
.db-time { padding-top:14px;font-size:13px;color:#465148;font-weight:600; }.db-time small { font-size:11px;margin-top:3px; }
.db-event-content { display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;min-width:0;padding:13px 16px;background:var(--event-bg,#e9eee7);color:var(--event-ink,#395643);border-radius:11px;gap:4px; }
.db-event-title { display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.38;font-weight:650;overflow-wrap:anywhere; }
.db-event-meta { display:flex;gap:6px;margin-top:3px;font-size:11px;color:var(--event-ink);opacity:1; }.db-event-source { margin-left:3px;padding-left:7px;border-left:1px solid currentColor;font-weight:400;opacity:.85; }.db-person-dot { width:6px;height:6px;background:var(--event-dot);border-radius:50%; }
.db-location { font-size:12px;margin-top:1px;color:var(--event-ink);opacity:.9;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden; }
.db-overlap { font-size:10px;margin-top:3px;padding:2px 6px;background:#fff0cb;color:#7b5116; }
.db-next-up { display:grid;grid-template-columns:135px minmax(0,1fr);gap:4px 22px;padding:19px 23px;width:100%;background:#355e47;color:#fff;text-align:left;border-radius:13px;margin:0 0 22px; }
.db-next-up>span { grid-row:span 2;font-size:12px;color:#d7e8d9;display:flex;flex-direction:column;gap:5px; }.db-next-up strong { font-size:23px;font-weight:600;color:#fff;letter-spacing:-.025em; }.db-next-up>b { font-size:16px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden; }.db-next-up>small { font-size:12px;color:#dfebdd; }
.db-empty { padding:20px 0;font-size:13px; }.db-empty strong { margin-bottom:3px; }.db-empty .db-button { display:flex;margin-top:6px;padding-left:0; }
.db-task { padding:11px 0;min-height:0;gap:8px; }.db-task-title { font-size:14px;line-height:1.35; }.db-task-meta { font-size:11px;margin-top:2px; }.db-task-foot { margin-top:8px; }.db-task-foot .db-button { min-height:32px;font-size:12px;padding-left:0; }
.db-commute { margin:0;padding:16px 0;border-top:1px solid #d6dbd0; }.db-commute .db-section-heading h2 { font-size:16px; }.db-commute .db-section-heading { margin-bottom:7px; }.db-commute-route { font-size:12px; }.db-commute-route select { background:#fffefa;max-width:180px;min-height:36px;font-size:12px!important; }.db-trains { margin:8px 0; }.db-trains li { padding:9px 0; }.db-trains strong { font-size:17px; }.db-note { font-size:11px; }.db-connections { margin-top:26px;padding-top:15px; }.db-connections summary { font-size:12px; }
#dbTransport { margin:0 0 26px;background:#fffefa;border:1px solid var(--db-line);border-radius:13px;padding:16px 20px; }.db-plan-heading { display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:10px; }.db-plan-heading h2 { font-size:15px;font-weight:650; }.db-plan-heading>span { font-size:11px;color:var(--db-muted); }.db-plan-grid { display:grid;grid-template-columns:130px 1fr 1fr;gap:7px 12px;align-items:center; }.db-plan-label { color:var(--db-muted);font-size:10px;font-weight:650; }.db-child-name { display:flex;align-items:center;gap:8px;font-size:13px; }.db-child-name i { width:9px;height:9px;border-radius:50%;background:var(--event-dot); }.db-plan-cell { min-height:38px;border-radius:7px;padding:8px 12px;background:#f1f2ed;display:flex;gap:10px;align-items:center;flex-wrap:wrap; }.db-plan-cell strong { font-size:12px; }.db-plan-cell>span { font-size:11px;color:var(--db-muted); }.db-plan-cell.owner-ravi { background:#e4ecf8;color:#365c8c; }.db-plan-cell.owner-reena { background:#f9e5de;color:#995946; }.db-plan-cell.has-conflict { outline:1px solid #c48637;background:#fff1d4; }.db-plan-cell.has-conflict>span { color:#885c24; }
.db-shell[data-view=schedule] .db-main { padding-right:26px; }.db-shell[data-view=schedule] .db-week { display:none; }.db-schedule-grid { grid-template-columns:minmax(0,1fr);gap:20px; }.db-week-board { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--db-line);border-radius:14px;background:#fffefa;overflow:hidden;min-height:450px; }.db-board-day { min-width:0;border-right:1px solid var(--db-line); }.db-board-day:last-child { border:0; }.db-board-date { display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 5px;border-bottom:1px solid var(--db-line);background:#f0f1e9;color:var(--db-muted);font-size:12px; }.db-board-date strong { font-size:22px;color:var(--db-ink);font-weight:600; }.db-board-day.is-today .db-board-date { background:#dfebd7;color:#31523a; }.db-board-day.is-today .db-board-date strong { background:#355e47;color:white;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:18px; }.db-day-blocks { padding:9px; }.db-event-compact { display:block;padding:0;margin:0 0 7px; }.db-event-compact .db-event-content { padding:10px;border-radius:8px;gap:4px;min-height:85px; }.db-event-compact .db-event-title { font-size:12px;line-height:1.35;-webkit-line-clamp:3; }.db-event-compact .db-event-meta { font-size:10px;gap:4px; }.db-event-compact .db-event-source { margin:0;padding:0;border:0; }.db-block-time { font-size:10px;font-weight:650; }.db-day-clear { color:#949c93;font-size:12px;text-align:center;padding:22px 4px; }.db-board-add { padding:10px 5px;font-size:11px;color:#687d62;width:100%;opacity:.75; }.db-month-details { margin-top:12px; }.db-month-details>summary { cursor:pointer;font-size:13px;color:var(--db-muted);padding:10px 0; }.db-month-details .calendar-card { margin-top:12px;max-width:600px; }#dbCalendarHost { display:grid;grid-template-columns:minmax(280px,450px) minmax(250px,450px);gap:28px; }#dbScheduleCommute .db-commute { background:#eeeee7;border:0;border-radius:13px;padding:18px; }.db-detail-source { display:inline-block;background:var(--event-bg);color:var(--event-ink);border-radius:6px;padding:6px 9px;margin-bottom:15px;font-size:12px;font-weight:600; }.db-event-dialog h2 { font-size:23px;line-height:1.35;overflow-wrap:anywhere; }.db-event-dialog>p { font-size:14px;line-height:1.6; }.db-detail-body { margin-top:15px;white-space:pre-wrap;overflow-wrap:anywhere; }
@media(min-width:1800px) { .db-main { padding:36px 48px; }.db-columns { grid-template-columns:minmax(0,1fr) 380px;gap:34px; }.db-event-title { font-size:16px; }.db-week-board { min-height:560px; }.db-event-compact .db-event-title { font-size:14px; }.db-event-compact .db-event-content { padding:13px; } }
@media(max-width:1100px) and (min-width:761px) { .db-shell { grid-template-columns:150px minmax(0,1fr); }.db-rail { padding:24px 10px; }.db-main { padding:24px; }.db-brand { font-size:14px;gap:6px; }.db-nav button { padding:12px 9px;font-size:13px; }.db-columns { grid-template-columns:minmax(0,1fr) 270px;gap:18px; }.db-columns>section:nth-child(2) { padding:16px; }.db-event { grid-template-columns:64px minmax(0,1fr);gap:8px; }.db-next-up { grid-template-columns:95px minmax(0,1fr);padding:17px;gap:12px; }.db-next-up strong { font-size:20px; }.db-week-board { overflow-x:auto;grid-template-columns:repeat(7,minmax(135px,1fr)); }.db-plan-grid { grid-template-columns:95px 1fr 1fr; } }
@media(max-width:760px) { .db-shell { display:block; }.db-rail { background:#fffefa;padding:5px 8px max(6px,env(safe-area-inset-bottom));gap:0; }.db-main,.db-shell[data-view=schedule] .db-main { padding:16px 16px calc(95px + env(safe-area-inset-bottom)); }.db-mobile-brand { margin-bottom:19px; }.db-top { margin-bottom:17px; }.db-title { font-size:28px; }.db-subtitle { font-size:12px;max-width:250px; }.db-toolbar { gap:10px; }.db-filters { flex:1;justify-content:space-between; }.db-chip { font-size:11px;padding:6px 8px;min-height:34px; }.db-date-nav { width:100%;justify-content:space-between; }.db-week { gap:4px;margin-bottom:17px; }.db-day { min-height:58px;display:flex;flex-direction:column;gap:3px; }.db-day small { font-size:10px; }.db-day strong { font-size:19px; }.db-columns { display:flex;flex-direction:column;gap:20px; }.db-columns>section:nth-child(2) { padding:16px;width:100%; }.db-next-up { padding:16px;grid-template-columns:90px minmax(0,1fr);gap:4px 12px;margin-bottom:17px; }.db-next-up strong { font-size:20px; }.db-next-up>b { font-size:14px;-webkit-line-clamp:2; }.db-next-up>small { font-size:10px; }.db-event { grid-template-columns:62px minmax(0,1fr);gap:8px;padding-bottom:9px; }.db-time { font-size:11px;padding-top:12px; }.db-time small { font-size:10px; }.db-event-content { padding:11px 12px;border-radius:9px; }.db-event-title { font-size:14px; }.db-event-meta { font-size:10px; }.db-location { font-size:11px; }.db-section-heading { margin-bottom:11px; }.db-section-heading h2 { font-size:16px; }#dbTransport { padding:13px;margin-bottom:21px; }.db-plan-heading { gap:8px;margin-bottom:10px; }.db-plan-heading h2 { font-size:13px; }.db-plan-heading>span { font-size:9px; }.db-plan-grid { grid-template-columns:58px 1fr 1fr;gap:6px; }.db-plan-label { font-size:9px; }.db-child-name { font-size:11px;gap:5px; }.db-child-name i { width:6px;height:6px; }.db-plan-cell { padding:8px;min-height:35px;gap:3px; }.db-plan-cell strong,.db-plan-cell>span { font-size:10px; }.db-shell[data-view=schedule] .db-week { display:grid; }.db-week-board { display:block;min-height:0;background:transparent;border:0;border-radius:0; }.db-board-day { display:none;border:0; }.db-board-day.is-selected { display:block; }.db-board-date { display:none; }.db-day-blocks { padding:0; }.db-event-compact { margin-bottom:9px; }.db-event-compact .db-event-content { padding:14px;min-height:0;gap:5px; }.db-event-compact .db-event-title { font-size:14px;-webkit-line-clamp:2; }.db-event-compact .db-event-meta { font-size:11px; }.db-block-time { font-size:11px; }.db-day-clear { background:#fffefa;border-radius:12px;padding:32px 10px; }#dbCalendarHost { display:block; }#dbScheduleCommute .db-commute { padding:16px; }.db-month-details { margin-top:20px; }.db-commute-route select { font-size:16px!important; }.db-nav button { min-height:52px;font-size:10px;padding:6px 3px; }.db-nav button[aria-current=page] { background:#e4eddf; } }
@media(prefers-color-scheme:dark) { :root { --db-bg:#19211c;--db-paper:#242e27;--db-line:#3b473e;--db-ink:#e7eee7;--db-muted:#adbbae;--db-soft:#344536; }.db-rail { background:#202a23; }.db-nav button[aria-current=page] { background:#344c37;color:#d6e9d4; }.db-date-nav,.db-chip[aria-pressed=true],#dbTransport,.db-week-board { background:var(--db-paper); }.db-day,.db-columns>section:nth-child(2),#dbScheduleCommute .db-commute { background:#263329; }.db-time { color:#bdcabc; }.db-board-date { background:#2b382e; }.db-board-day.is-today .db-board-date { background:#3e533c; }.db-plan-cell { background:#313f33; }.tone-kaaya { --event-bg:#44364f;--event-ink:#e3cef4;--event-dot:#b38ecf; }.tone-kaylem { --event-bg:#24463e;--event-ink:#b7e5d7;--event-dot:#83bfac; }.tone-ravi { --event-bg:#2b3e55;--event-ink:#c9dcf4;--event-dot:#8cabd2; }.tone-reena { --event-bg:#4f3932;--event-ink:#f0cec1;--event-dot:#d69a84; }.tone-family { --event-bg:#3a4430;--event-ink:#d7e6bb;--event-dot:#a8ba82; }.db-plan-cell.owner-ravi { background:#2b3e55;color:#c9dcf4; }.db-plan-cell.owner-reena { background:#4f3932;color:#f0cec1; }.db-commute-route select { background:var(--db-paper); }.db-day-clear { background:transparent; }.db-rail-note { color:#adbbae; } }
.db-task-empty { padding:10px 0; }.db-mini-plans { padding:0 0 9px;margin-bottom:8px;border-bottom:1px solid var(--db-line); }.db-mini-child { display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;font-size:9px;margin-bottom:5px; }.db-mini-child strong { width:100%;color:var(--event-ink);font-weight:650; }.db-mini-child>span { color:var(--db-muted); }.db-mini-child .mine { background:#dce8f7;color:#355b89;border-radius:4px;padding:2px 4px;font-weight:650; }
@media(max-width:760px) { .db-mini-child { font-size:11px; }.db-mini-child strong { width:65px; }.db-mini-plans { margin-bottom:12px; }.db-actions { gap:6px; }.db-top .db-button { min-height:42px;padding:8px 11px;font-size:12px; } }
/* Calendar-only accounts have no dashboard or work-source controls. */
.db-shell [hidden], #settingsModal [hidden] { display:none !important; }
.db-shell[data-calendar-only="true"] .wt-daily,
.db-shell[data-calendar-only="true"] .wt-launch,
.db-shell[data-calendar-only="true"] #wordTime { display:none !important; }
