.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
:root{--purple:#6260e8;--ink:#1f2235;--muted:#8990a3;--line:#ececf3;--surface:#fff;--wash:#f7f8fc;--purple-light:#f1efff;--shadow:0 10px 30px rgba(27,29,74,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--wash);color:var(--ink);margin:0;font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}input,textarea,select{color:var(--ink)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c9c7ff;outline-offset:2px}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.shell{max-width:820px;margin:0 auto;background:#fff;min-height:100svh;box-shadow:0 0 40px #2223380d}.topbar{height:85px;display:flex;align-items:center;justify-content:space-between;padding:19px 28px;background:#fff;position:sticky;top:0;z-index:8;border-bottom:1px solid #f5f5fa}.logo{font-size:34px;font-weight:780;letter-spacing:-1.7px;line-height:1}.logo span,.purple{color:var(--purple)}.top-right{display:flex;align-items:center;gap:13px}.beta-mark{font-size:10px;letter-spacing:1.1px;font-weight:800;background:#f1efff;color:var(--purple);padding:7px 10px;border-radius:10px}.round-button{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center;color:#666c83}.round-button svg{width:18px;height:18px}main{padding:24px 28px 130px;min-height:calc(100svh - 85px)}.screen{display:none}.screen.active{display:block;animation:rise .16s ease both}@keyframes rise{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}.intro{margin:5px 0 27px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:1.9px;color:#9296ac}.intro h1{font-size:33px;letter-spacing:-1.15px;line-height:1.2;margin:9px 0 7px}.intro p{margin:0;color:var(--muted);font-size:13px}.hero{background:linear-gradient(130deg,#6260e8,#7472ec);color:white;border-radius:24px;padding:23px 25px 26px;box-shadow:0 12px 28px #6260e823}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.hero-top>span{font-size:10px;letter-spacing:1.4px;font-weight:800;color:#e4e3ff}.today-reset{border:1px solid #ffffff55;background:#ffffff25;color:white;font-weight:750;padding:8px 13px;border-radius:10px;font-size:12px}.hero-date{font-size:29px;font-weight:800;letter-spacing:-.7px;margin:16px 0 24px}.hero-grid{display:flex;gap:35px;align-items:center}.hero-grid>div:not(.hero-line){display:grid;gap:2px}.hero-grid strong{font-size:34px;line-height:1;font-weight:800}.hero-grid span{font-size:11px;color:#e5e4ff}.hero-line{height:44px;width:1px;background:#c8c6ff66}.week-label,.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.week-label{margin:34px 0 16px}.week-label h2,.section-title h2{font-size:18px;letter-spacing:-.4px;margin:0}.week-label>div>span{font-size:11px;color:var(--muted)}.subtle-link,.text-action{display:flex;align-items:center;gap:5px;border:0;background:none;color:var(--purple);font-size:12px;font-weight:750}.subtle-link svg,.text-action svg{width:15px;height:15px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.week-day{border:1px solid var(--line);background:white;border-radius:13px;padding:10px 0;display:grid;justify-items:center;gap:8px;color:#737a90;min-width:0}.week-day span{font-size:10px}.week-day strong{font-size:15px;color:#33364d}.week-day.selected{background:var(--purple);color:white;border-color:var(--purple)}.week-day.selected strong{color:#fff}.week-day.today:not(.selected){border-color:#a5a2f8}.week-day i{height:4px;width:4px;background:var(--purple);border-radius:50%}.week-day.selected i{background:#fff}.section-title{margin:34px 0 15px}.tasks-heading{margin-top:29px}.item-list{display:grid;gap:10px}.entry-card{display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:17px;background:#fff;border:1px solid var(--line);min-height:72px}.entry-marker{width:4px;min-height:38px;border-radius:5px;background:#9290ef;flex:none}.entry-marker.green{background:#68c9a2}.entry-text{flex:1;min-width:0}.entry-text strong{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-text small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.entry-edit{background:#f7f7fd;border:0;border-radius:9px;padding:7px 11px;color:var(--purple);font-size:11px;font-weight:750}.empty-state{color:#999cb0;font-size:12px;line-height:1.6;background:#fbfbfe;border:1px dashed #e4e4f1;border-radius:14px;padding:19px;text-align:center}.task-check{width:22px;height:22px;border:1.5px solid #bebdd7;border-radius:8px;background:#fff;display:grid;place-items:center;color:white;padding:0;flex:none}.task-check.done{background:var(--purple);border-color:var(--purple)}.task-check svg{width:15px;height:15px}.entry-card.completed .entry-text strong{text-decoration:line-through;color:#9ca0b0}.calendar-card,.form-card,.assistant-card,.feedback-hero{border:1px solid var(--line);border-radius:23px;background:white;box-shadow:var(--shadow)}.calendar-card{padding:22px 19px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.calendar-head h2{font-size:21px;letter-spacing:-.5px;margin:5px 0 0}.month-arrows{display:flex;gap:8px}.month-arrows button{width:37px;height:37px;border:1px solid var(--line);background:white;border-radius:10px;font-size:23px;color:#737790;line-height:1}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.weekdays{margin-bottom:14px}.weekdays span{color:#a1a4b3;font-size:11px;font-weight:700}.month-grid.days{grid-auto-rows:46px}.day-cell{border:0;background:transparent;border-radius:12px;display:grid;place-items:center;position:relative;color:#55596e;font-weight:700}.day-cell.muted{color:#d4d5de;cursor:default}.day-cell.selected{background:var(--purple);color:white}.day-cell.today:not(.selected){box-shadow:inset 0 0 0 1.5px #918eeb;color:var(--purple)}.event-dot{width:4px;height:4px;background:var(--purple);border-radius:50%;position:absolute;bottom:5px}.day-cell.selected .event-dot{background:white}.calendar-actions{display:flex;justify-content:space-between;margin-top:24px}.light-button{border:1px solid #e5e4f1;color:var(--purple);background:#f8f7ff;border-radius:11px;padding:11px 15px;font-size:12px;font-weight:760;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary-button{border:0;border-radius:13px;background:var(--purple);padding:14px 19px;color:white;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button svg{width:16px;height:16px}.primary-button.compact{padding:11px 15px}.primary-button.wide{width:100%}.muted-small{font-size:12px;color:var(--muted)}.task-summary{background:var(--purple-light);border-radius:20px;padding:20px;display:flex;align-items:end;gap:20px}.task-summary>div{display:grid}.task-summary span{font-size:10px;letter-spacing:1px;color:#8b89a8;font-weight:800}.task-summary strong{font-size:29px;letter-spacing:-.5px}.task-summary .primary-button{margin-left:auto}.task-tabs{margin:26px 0 17px;display:flex;gap:8px}.pill-choice{border:1px solid var(--line);border-radius:12px;padding:9px 15px;background:#fff;color:#8a8ea4;font-size:12px;font-weight:750}.pill-choice.active{border-color:var(--purple);background:var(--purple-light);color:var(--purple)}.assistant-card{padding:27px 24px;text-align:center}.ai-logo{width:52px;height:52px;border-radius:17px;background:var(--purple-light);color:var(--purple);display:grid;place-items:center;margin:0 auto 14px}.assistant-card h2,.feedback-hero h2{font-size:19px;margin:9px 0 7px;letter-spacing:-.4px}.assistant-card p,.feedback-hero p{font-size:12px;color:var(--muted);max-width:410px;margin:0 auto;line-height:1.7}.ai-examples{display:grid;gap:8px;margin-top:20px}.ai-examples button{padding:13px 10px;text-align:left;background:#fafaff;border:1px solid #ecebf8;border-radius:11px;color:#686783;font-size:12px}.assistant-form{padding:22px 0 0}.assistant-form label,.form-card label,.modal label{display:block;font-size:12px;font-weight:780;margin:0 0 8px}.assistant-input-row{display:flex;align-items:stretch;gap:9px}.assistant-input-row textarea{resize:vertical;flex:1;min-width:0;min-height:64px;border:2px solid var(--purple);border-radius:15px;padding:14px;background:white;outline:0}.assistant-input-row button{width:52px;border:0;border-radius:14px;background:var(--purple);color:white}.assistant-reply{margin-top:15px}.assistant-result{border-radius:14px;padding:17px;background:var(--purple-light);border:1px solid #e5e2fc;font-size:13px}.assistant-result strong{display:block;margin-bottom:9px}.assistant-result p{margin:5px 0;color:#666a83}.assistant-result button{margin-top:11px}.notice{color:#a0a3b4;font-size:11px;line-height:1.65;margin-top:24px}.feedback-hero{padding:25px;text-align:center;margin-bottom:18px;background:#faf9ff}.feedback-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:white;color:var(--purple);margin:0 auto}.form-card{padding:25px}.form-card input:not(.visually-hidden),.form-card textarea,.modal input,.modal select{display:block;width:100%;border:1px solid #e7e7ef;border-radius:12px;background:#fbfbfe;padding:13px 14px;outline:0;margin-bottom:20px}.form-card textarea{resize:vertical}.form-card input:focus,.form-card textarea:focus,.modal input:focus,.modal select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #eeedff}.form-help{font-size:11px;color:#a1a4b4;line-height:1.7;margin:15px 0 0}.privacy-link{font-size:11px;color:#9da1b3;text-align:center;margin-top:23px}.privacy-link a,.setting-block a{color:var(--purple)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,820px);background:#fff;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:11px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -5px 25px #1718330c;border-top:1px solid #eeeefa;z-index:7}.bottom-nav button{border:0;background:transparent;color:#a0a4b5;display:grid;justify-items:center;gap:5px;font-size:10px;font-weight:750;padding:5px 0}.bottom-nav button svg{width:20px;height:20px}.bottom-nav button.active{color:var(--purple)}.modal-backdrop{position:fixed;inset:0;background:#10111f80;display:flex;align-items:flex-end;justify-content:center;z-index:20;padding:0 0 env(safe-area-inset-bottom)}.modal{width:min(100%,610px);background:#fff;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;border-radius:24px 24px 0 0;padding:24px 24px calc(26px + env(safe-area-inset-bottom));box-shadow:0 0 60px #1918333b}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 21px}.modal-top h2{font-size:24px;letter-spacing:-.8px;margin:3px 0}.modal input,.modal select{margin-bottom:18px}.two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:17px}.danger-button{margin-right:auto;background:#fff0f2;color:#cd4e63;border:0;border-radius:11px;padding:11px 14px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:750}.danger-button svg{width:16px;height:16px}.setting-block{border-top:1px solid var(--line);padding:18px 0}.setting-block strong{font-size:14px}.setting-block p{color:var(--muted);font-size:12px;line-height:1.7;margin:6px 0 13px}.toggle-line{display:flex!important;align-items:center;gap:9px!important}.toggle-line input{width:auto!important;margin:0!important;accent-color:var(--purple)}.setting-actions{display:flex;gap:10px;flex-wrap:wrap}.file-label{cursor:pointer}.toast{position:fixed;z-index:30;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translateX(-50%);min-width:200px;max-width:90vw;padding:13px 20px;text-align:center;border-radius:14px;background:#25263c;color:white;box-shadow:0 12px 30px #0002;font-size:12px;font-weight:700}.hidden{display:none!important}.visually-hidden{position:absolute!important;left:-10000px!important;height:1px!important;width:1px!important;overflow:hidden!important}.privacy-link a{text-decoration:underline}body.modal-open{overflow:hidden}@media(min-width:700px){main{padding:30px 46px 140px}.topbar{padding:22px 46px}.modal-backdrop{align-items:center}.modal{border-radius:24px;padding:32px}.bottom-nav{padding:16px 70px 18px}.week-strip{gap:12px}.week-day{padding:15px}.hero{padding:32px}.hero-date{font-size:32px}}@media(max-width:380px){main{padding:22px 17px 120px}.topbar{padding:18px}.week-strip{gap:4px}.week-day{padding:9px 0}.hero{padding:19px}.hero-date{font-size:25px}.task-summary{gap:12px;padding:15px}.task-summary .primary-button{padding:10px}.intro h1{font-size:30px}}

.week-day i.blank-dot{visibility:hidden}

/* ────────────────────────────────────────────────────────────────
   daynu. 1.1 — premium, mobile-first today dashboard (October 2026)
   This layer is intentionally scoped and retains the existing data model.
   ──────────────────────────────────────────────────────────────── */
:root {
  --purple:#6260e8;
  --ink:#25263b;
  --muted:#7c8196;
  --line:#ebeaf3;
  --wash:#f6f7fb;
  --purple-light:#f0efff;
  --shadow:0 12px 32px rgba(40,39,82,.045);
}
body { letter-spacing:-.01em; }
.shell { box-shadow:0 0 48px rgba(35,38,79,.055); }
.topbar { height:78px; border-bottom:1px solid #f3f3f8; }
.logo { font-size:33px; font-weight:820; letter-spacing:-1.9px; }
.beta-mark { background:#f1f0ff; padding:6px 10px; border-radius:99px; font-weight:780; }
.round-button { width:42px; height:42px; border-radius:14px; }
main { padding-top:30px; }

/* Welcome */
.today-welcome { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:7px 0 26px; }
.welcome-copy { min-width:0; flex:1; }
.today-welcome .eyebrow { color:var(--purple); font-size:10px; letter-spacing:1.75px; font-weight:820; }
.today-welcome h1 { font-size:clamp(29px,6.8vw,39px); font-weight:820; letter-spacing:-1.5px; line-height:1.12; margin:11px 0 10px; }
.today-welcome p { margin:0; color:#808499; font-size:13px; line-height:1.55; max-width:315px; }
.welcome-icon { width:58px; height:58px; border-radius:20px; display:grid; place-items:center; flex:none; background:#f3f1ff; color:var(--purple); transform:rotate(-5deg); }
.welcome-icon svg { width:25px; height:25px; transform:rotate(5deg); }

/* Date and summary */
.today-overview { position:relative; overflow:hidden; isolation:isolate; background:linear-gradient(128deg,#f0eeff 0%,#f7f6ff 54%,#fdfcff 100%); border:1px solid #e9e6ff; border-radius:26px; padding:20px 21px 21px; box-shadow:0 16px 32px rgba(71,68,145,.058); }
.today-overview:after { content:""; position:absolute; width:220px; height:220px; top:-125px; right:-90px; z-index:-1; border-radius:50%; border:35px solid rgba(111,105,233,.045); }
.overview-top,.overview-date,.overview-stats,.overview-stat,.today-progress-copy { display:flex; align-items:center; }
.overview-top,.today-progress-copy { justify-content:space-between; gap:12px; }
.overview-kicker { color:#6f6a9b; font-size:10px; font-weight:830; letter-spacing:1.25px; display:inline-flex; gap:8px; align-items:center; }
.overview-kicker-dot { width:7px; height:7px; border-radius:50%; background:#7771ec; box-shadow:0 0 0 4px #e3e0ff; }
.today-reset { background:#fff; border:1px solid #e0ddf9; color:#5852bb; border-radius:11px; padding:7px 11px; font-size:11px; font-weight:800; display:flex; align-items:center; gap:5px; min-height:34px; }
.today-reset svg { width:13px; height:13px; }
.today-reset.selected-today { opacity:.76; }
.overview-date { margin:18px 0 23px; gap:13px; }
.overview-day-number { font-size:68px; line-height:1; letter-spacing:-5px; font-weight:810; color:#252441; font-variant-numeric:tabular-nums; }
.overview-date-meta { display:grid; gap:3px; }
.overview-date-meta strong { font-size:19px; font-weight:800; letter-spacing:-.6px; text-transform:capitalize; }
.overview-date-meta>span { font-size:12px; color:#77779a; }
.overview-decoration { margin-left:auto; align-self:flex-start; color:#9390e7; background:#e5e2ff; padding:12px; border-radius:17px; }
.overview-decoration svg { width:20px; height:20px; }
.overview-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.overview-stat { min-width:0; gap:11px; background:rgba(255,255,255,.84); border:1px solid #f0eefc; border-radius:17px; padding:13px 13px; box-shadow:0 6px 16px rgba(93,86,177,.024); }
.stat-symbol { width:39px; height:39px; flex:none; display:grid; place-items:center; border-radius:13px; background:#ebeaff; color:#625de2; }
.stat-symbol.mint { background:#e7f7ef; color:#3f9a7b; }
.stat-symbol svg { width:18px; height:18px; }
.overview-stat>div { display:grid; gap:2px; min-width:0; }
.overview-stat strong { font-size:26px; font-weight:820; line-height:1; letter-spacing:-.7px; }
.overview-stat div>span { font-size:10px; color:#8a8ca0; white-space:nowrap; }
.today-progress { margin-top:22px; }
.today-progress-copy { font-size:11px; margin-bottom:9px; color:#8583a2; }
.today-progress-copy strong { font-size:11px; color:#55527e; font-weight:750; text-align:right; }
.progress-track { height:7px; width:100%; border-radius:99px; background:#dedbf6; overflow:hidden; }
.progress-fill { width:0; height:100%; border-radius:99px; background:linear-gradient(90deg,#6863e8,#9b8df9); transition:width .3s ease; }

/* Quick creation */
.today-quick-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:17px 0 35px; }
.quick-action { min-width:0; min-height:61px; display:flex; align-items:center; gap:9px; border-radius:16px; border:1px solid #e7e5f5; background:#fff; padding:10px 12px; color:#29283e; font-size:12px; font-weight:790; box-shadow:0 5px 16px rgba(36,38,75,.022); text-align:left; }
.quick-action.quick-event { background:#6260e8; border-color:#6260e8; color:white; box-shadow:0 9px 18px rgba(98,96,232,.15); }
.quick-icon { display:grid; place-items:center; width:35px; height:35px; border-radius:11px; background:#f1efff; color:#625de2; flex:none; }
.quick-icon svg { width:19px; height:19px; }
.quick-event .quick-icon { background:#ffffff30; color:white; }
.quick-action .quick-arrow { width:15px; height:15px; margin-left:auto; opacity:.8; }
.quick-task .quick-arrow { color:var(--purple); }
.quick-action:active { transform:scale(.985); }

/* Week picker */
.today-week-section { margin:2px 0 32px; }
.today-week-section .week-label { margin:0 0 16px; align-items:flex-end; }
.section-eyebrow { display:block; color:#a0a2b4; font-size:10px; font-weight:830; letter-spacing:1.35px; margin-bottom:4px; }
.today-week-section .week-label h2 { margin:0; font-size:21px; font-weight:800; letter-spacing:-.7px; }
.week-muted { display:block; font-size:12px; letter-spacing:0; font-weight:550; color:#9a9bac; margin-top:3px; }
.week-controls { display:flex; gap:6px; }
.week-nav { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; border:1px solid #eaeaf2; background:#fff; font-size:22px; font-weight:400; color:#696a7f; line-height:1; }
.today-week-section .week-strip { gap:5px; }
.today-week-section .week-day { min-height:83px; gap:5px; border-radius:15px; background:#f7f8fb; border:1px solid transparent; padding:10px 1px 9px; }
.today-week-section .week-day span { font-size:11px; color:#9398a7; font-weight:690; }
.today-week-section .week-day strong { font-size:17px; font-weight:760; color:#363748; }
.today-week-section .week-day.selected { background:#6260e8; border-color:#6260e8; box-shadow:0 6px 15px rgba(98,96,232,.18); }
.today-week-section .week-day.selected span { color:#e4e2ff; }
.today-week-section .week-day.selected strong { color:#fff; }
.today-week-section .week-day.today:not(.selected) { border:1px solid #b1aefa; background:#f6f5ff; }
.today-week-section .week-day i { display:block; width:5px; height:5px; margin:0; background:var(--purple); }
.today-week-section .week-day i.has-task { background:#52b39a; }
.today-week-section .week-day.selected i { background:#fff; }
.today-week-section .week-day i.blank-dot { visibility:hidden; }
.week-calendar-link { display:inline-flex; margin-top:15px; padding:1px 0; border:0; background:none; align-items:center; gap:6px; font-size:12px; font-weight:780; color:#625de2; }
.week-calendar-link svg { width:14px; height:14px; }

/* Lists */
.today-list-heading { margin:34px 0 15px; }
.today-list-heading:first-of-type { margin-top:24px; }
.today-list-heading h2 { display:flex; align-items:baseline; gap:9px; font-size:21px; font-weight:800; letter-spacing:-.65px; }
.section-count { color:#a2a2b3; font-size:11px; font-weight:650; letter-spacing:0; }
.today-list-heading .text-action { align-self:flex-end; margin-bottom:2px; font-size:11px; }
.item-list { gap:10px; }
.entry-card { min-height:80px; border:1px solid #eaeaf3; border-radius:18px; padding:13px 13px; gap:12px; box-shadow:0 4px 14px rgba(28,29,64,.02); }
.entry-card .entry-text strong { font-size:14px; line-height:1.35; font-weight:790; }
.entry-card .entry-text small { margin-top:6px; color:#9598a9; font-size:11px; }
.entry-card .entry-marker { min-height:40px; width:3px; background:#aaa4fa; }
.event-time { flex:none; min-width:43px; display:grid; gap:3px; text-align:center; }
.event-time strong { color:#33314e; font-size:14px; font-weight:820; }
.event-time span { color:#a3a4b6; font-size:11px; }
.entry-edit { font-size:11px; font-weight:760; border:1px solid #efedf8; padding:9px 10px; background:#f8f7ff; border-radius:11px; }
.task-check { width:30px; height:30px; border-radius:10px; border:1.5px solid #c5c2db; }
.task-check.done { background:#6260e8; }
.task-entry { padding-left:16px; }
.task-entry .entry-text { padding-left:2px; }
.today-empty { border:1px dashed #e2e0f2; background:#fafaff; border-radius:18px; display:flex; align-items:center; gap:13px; padding:16px 14px; }
.today-empty-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:12px; flex:none; background:#eeecff; color:#6b64da; }
.today-empty-icon svg { width:19px; height:19px; }
.today-empty>div { flex:1; min-width:0; }
.today-empty strong { font-size:12px; font-weight:790; display:block; }
.today-empty p { font-size:11px; color:#8f90a8; line-height:1.48; margin:4px 0 0; }
.empty-add { display:grid; place-items:center; width:32px; height:32px; border:0; border-radius:11px; background:#6260e8; color:white; flex:none; }
.empty-add svg { width:17px; height:17px; }

/* Shared navigation polish */
.bottom-nav { background:rgba(255,255,255,.97); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-top:1px solid #f0eff6; box-shadow:0 -7px 25px #2020410a; padding-top:11px; }
.bottom-nav button { min-height:52px; border-radius:14px; gap:4px; font-size:10px; }
.bottom-nav button.active { background:#f3f1ff; color:#625de2; }
.bottom-nav button svg { width:21px; height:21px; }
.primary-button { background:#6260e8; box-shadow:0 5px 12px rgba(98,96,232,.1); }
.calendar-card { border-radius:24px; }

@media (min-width:700px) {
  .topbar { padding-left:46px; padding-right:46px; }
  main { padding:34px 46px 140px; }
  .today-overview { padding:25px 27px 26px; }
  .today-quick-actions { gap:14px; }
  .quick-action { min-height:68px; padding:12px 19px; font-size:14px; }
  .today-week-section .week-strip { gap:11px; }
  .today-week-section .week-day { min-height:88px; }
  .entry-card { min-height:86px; }
}
@media (max-width:380px) {
  main { padding:23px 17px 130px; }
  .today-welcome h1 { font-size:29px; }
  .welcome-icon { width:46px; height:46px; border-radius:16px; }
  .today-overview { padding:17px 16px; }
  .overview-day-number { font-size:60px; }
  .overview-date-meta strong { font-size:17px; }
  .overview-decoration { padding:9px; }
  .overview-stat { gap:7px; padding:10px 8px; }
  .stat-symbol { width:32px; height:32px; }
  .overview-stat div>span { font-size:9px; }
  .quick-action { font-size:11px; padding:9px; }
  .quick-icon { width:30px; height:30px; }
  .quick-action .quick-arrow { width:12px; }
  .today-week-section .week-day { min-height:78px; border-radius:12px; }
  .today-week-section .week-strip { gap:3px; }
  .entry-card { gap:8px; padding:11px 9px; }
  .entry-edit { font-size:10px; padding:8px 7px; }
  .event-time { min-width:38px; }
  .event-time strong { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .progress-fill { transition:none; }
  .quick-action:active { transform:none; }
}
