diff --git a/frontend/dashboard.css b/frontend/dashboard.css
index 0b6de18..f512ef5 100644
--- a/frontend/dashboard.css
+++ b/frontend/dashboard.css
@@ -254,6 +254,21 @@ textarea { resize: vertical; min-height: 120px; }
.today-interruption-panel h2 { margin:.25rem 0; overflow-wrap:anywhere; }
.today-interruption-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px; }
.today-interruption-actions button { min-height:44px; width:100%; }
+.today-break-sheet { position:fixed; inset:0; width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:0; border:0; background:rgba(5,12,21,.82); color:#e5e7eb; }
+.today-break-sheet::backdrop { background:rgba(5,12,21,.82); backdrop-filter:blur(4px); }
+.today-break-panel { position:absolute; left:0; right:0; bottom:0; box-sizing:border-box; width:min(620px,100%); max-height:100dvh; margin:auto; overflow:auto; overflow-x:hidden; padding:18px; padding-bottom:calc(18px + env(safe-area-inset-bottom)); border:1px solid #31577f; border-radius:18px 18px 0 0; background:#0b1526; }
+.today-break-panel header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
+.today-break-panel h2, .today-break-panel p { margin-top:0; }
+.today-break-panel header button, .today-break-actions button, .today-break-custom button { min-height:44px; }
+.today-break-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:16px 0; }
+.today-break-actions button { min-width:0; width:100%; }
+.today-break-custom { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }
+.today-break-custom label, .today-break-custom p { grid-column:1 / -1; }
+.today-break-custom input { box-sizing:border-box; width:100%; min-height:44px; }
+.today-break-status { position:fixed; z-index:46; left:12px; right:12px; bottom:calc(224px + env(safe-area-inset-bottom)); box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:10px 12px; border:1px solid #60a5fa; border-radius:12px; background:#102641; }
+.today-break-status:has(> span[hidden]) { display:none; }
+.today-break-status button { min-height:44px; min-width:112px; }
+@media(max-width:359px) { .today-break-actions { grid-template-columns:1fr; } }
.today-recap-sheet { position:fixed; inset:0; z-index:88; display:flex; align-items:flex-end; justify-content:center; background:rgba(5,12,21,.82); backdrop-filter:blur(4px); }
.today-recap-sheet[hidden] { display:none; }
.today-recap-panel { box-sizing:border-box; width:min(620px,100%); max-height:100%; overflow:auto; overflow-x:hidden; padding:18px; padding-bottom:calc(18px + env(safe-area-inset-bottom)); border:1px solid #2a496e; border-radius:18px 18px 0 0; background:#0b1526; }
@@ -1072,8 +1087,10 @@ textarea { resize: vertical; min-height: 120px; }
.mobile-today-hud [data-mobile-today-complete] { grid-area:complete; }
.mobile-today-hud [data-mobile-today-toggle] { grid-area:toggle; }
.mobile-today-hud button { min-height:44px; max-width:100%; }
+ .mobile-today-hud [data-today-break-open] { grid-column:1 / -1; }
+
.mobile-today-hud [data-work-session-adjust-plan] { grid-column:1 / -1; }
- .today-completion-undo { bottom:calc(168px + env(safe-area-inset-bottom)); }
+ .today-completion-undo { bottom:calc(224px + env(safe-area-inset-bottom)); }
}
@media (min-width:701px) { .update-gesture-status { display:none; } }
@media (prefers-reduced-motion: reduce) {
diff --git a/frontend/dashboard.js b/frontend/dashboard.js
index 910c7e4..7a94c8a 100644
--- a/frontend/dashboard.js
+++ b/frontend/dashboard.js
@@ -1828,6 +1828,7 @@
selectTodayWork();
workSession.reopen(todayMyWork.find(item => todayWork.identity(item) === identity));
},
+ onResume: () => resumeTodaySession(),
onComplete: identity => {
const item = todayMyWork.find(entry => todayWork.identity(entry) === identity);
return completeTodayItem(item);
diff --git a/frontend/index.html b/frontend/index.html
index e2a8e52..45de51a 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -1536,8 +1536,30 @@
+
+
+
+
+
+