/* Shared app controls. The notebook editor and its header retain v134 geometry. */
:root{--ui-control:40px;--ui-radius:10px;--ui-gap:8px;--ui-focus:var(--royal);--ui-success:#176b46;--ui-error:#a3293d;--ui-dialog-space:20px}
:root[data-theme="dark"]{--ui-success:#8ee0b5;--ui-error:#ffabb8}
#view:not(:has(.notes-editor92)) :is(.btn,.tabs>button,.trip-view-button85),
:is(.dialog,.user-dialog89,.doc31-dialog,.confirm-box85,.exercise-edit-dialog77) .btn{
 min-height:var(--ui-control);border-radius:var(--ui-radius);padding:9px 14px;font-size:14px;line-height:1.35;font-weight:700;transition:background-color .15s,border-color .15s;touch-action:manipulation
}
#view:not(:has(.notes-editor92)) .btn:hover,
:is(.dialog,.user-dialog89,.doc31-dialog,.confirm-box85) .btn:hover{transform:none}
#view:not(:has(.notes-editor92)) :is(.btn,.tabs>button):disabled,
:is(.dialog,.user-dialog89,.doc31-dialog,.confirm-box85) button:disabled{opacity:.55;cursor:not-allowed}
#view:not(:has(.notes-editor92)) :is(button,input,select,textarea,[role="button"]):focus-visible,
:is(.dialog,.user-dialog89,.doc31-dialog,.confirm-box85,.notes-menu92) :is(button,input,select,textarea):focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
#view:not(:has(.notes-editor92))>.head{gap:16px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
#view:not(:has(.notes-editor92))>.head h1{margin:0;line-height:1.2;font-size:28px;letter-spacing:-.025em}
#view:not(:has(.notes-editor92))>.head>div{min-width:0}
#view:not(:has(.notes-editor92)) :is(.tabs,.task-filter-toolbar85,.goal-filter-toolbar86,.people-search-toolbar,.doc31-toolbar,.doc95-tree-tools){gap:var(--ui-gap);flex-wrap:wrap}
#view:not(:has(.notes-editor92)) :is(.tabs,.task-filter-toolbar85,.goal-filter-toolbar86){margin-top:16px;margin-bottom:16px}
#view:not(:has(.notes-editor92)) .tabs>button{white-space:nowrap}
#view:not(:has(.notes-editor92)) :is(.task-quick85,.people-search-toolbar,.doc31-toolbar,.task-filter-toolbar85,.goal-filter-toolbar86) :is(input,select){min-height:var(--ui-control);border-radius:var(--ui-radius)}
#view:not(:has(.notes-editor92)) :is(.card,.tree,.files){border-radius:12px}
#view:not(:has(.notes-editor92))>div{min-width:0;max-width:100%}
#view:not(:has(.notes-editor92)) :is(.exercise-layout57,.exercise-hero57,.exercise-calendar-card57,.exercise-log-section57){min-width:0;max-width:100%}
#view:not(:has(.notes-editor92)) .exercise-planner57{grid-template-columns:minmax(0,1fr)}
#view:not(:has(.notes-editor92)) .exercise-calendar-card57{overflow:auto}
body:not(:has(.notes-editor92)) .brand>.world-clocks{display:flex;flex-wrap:wrap;min-width:0;max-width:100%;gap:8px 16px;font-size:14px}
body:not(:has(.notes-editor92)) .brand>.world-clocks span>b{font-size:inherit}
body:not(:has(.notes-editor92)) #nav button{min-height:40px;touch-action:manipulation}
/* Rows may remain compact on desktop; primary controls keep one shared height. */
#view:not(:has(.notes-editor92)) td .btn{min-height:32px;padding:6px 10px;font-size:12px}
#view:not(:has(.notes-editor92)) .task-action-stack85,#view:not(:has(.notes-editor92)) .goal-action-stack86{gap:6px}
/* Compact folder arrows need their own padding so the glyph stays centered. */
#view:not(:has(.notes-editor92)) .notes-folder-order131 .btn{display:grid;place-items:center;padding:0;font-size:17px;line-height:1;text-align:center}
:is(.overlay,.user-overlay89,.exercise-edit-overlay77){padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
:is(.dialog,.user-dialog89,.doc31-dialog,.confirm-box85){border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 64px #07132733;background:var(--white);color:var(--ink);overscroll-behavior:contain}
:is(.dialog,.user-dialog89){max-width:100%;max-height:calc(100dvh - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom)));scroll-padding-block:80px}
.dialog{padding:var(--ui-dialog-space)}
.dialog>.head,.user-dialog-head89{position:sticky;top:calc(-1 * var(--ui-dialog-space));z-index:3;background:var(--white);padding-block:12px;border-bottom:1px solid var(--line);gap:12px}
.dialog>.head h2,.user-dialog-head89 h2,.doc31-dialog-head h2{font-size:20px;line-height:1.3;margin:0;overflow-wrap:anywhere}
:is(.dialog,.user-dialog89,.doc31-dialog) :is(.field,.doc31-field){gap:8px}
:is(.dialog,.user-dialog89,.doc31-dialog) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea){min-height:var(--ui-control);border-radius:var(--ui-radius);max-width:100%}
.ui-form-actions136,.doc31-dialog-foot,.confirm-actions85{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-block:12px;background:var(--white);border-top:1px solid var(--line)}
.ui-form-actions136,.doc31-dialog-foot{position:sticky;bottom:calc(-1 * var(--ui-dialog-space));z-index:2}
.notes-menu92{width:240px;max-width:calc(100vw - 24px);padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 12px 36px #07132733;z-index:500}
.notes-menu92 .btn{display:flex;align-items:center;min-height:var(--ui-control);width:100%;margin:0;padding:9px 12px;border-radius:7px;background:transparent;color:var(--ink);font-size:14px;text-align:left;line-height:1.3;transform:none}
.notes-menu92 .btn:hover,.notes-menu92 .btn:focus-visible{background:var(--soft-bg)}
.notes-menu92 .btn.danger{color:var(--ui-error);border-top:1px solid var(--line);margin-top:5px;border-top-left-radius:0;border-top-right-radius:0}
.ui-confirm136{padding:20px;width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--ink)}
.ui-confirm136::backdrop{background:#07132788}
.ui-confirm136 p{margin:0 0 20px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.ui-confirm136 .confirm-actions85{padding-bottom:0}
.ui-feedback136{position:fixed;inset:auto max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) auto;z-index:1000;display:flex;align-items:center;gap:10px;max-width:min(440px,calc(100vw - 32px));padding:12px 14px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 32px #07132733;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.ui-feedback136[hidden]{display:none}.ui-feedback136[data-kind="error"]{border-color:var(--ui-error)}
.ui-feedback136[data-kind="success"] [data-feedback-icon]{color:var(--ui-success)}
.ui-feedback136[data-kind="error"] [data-feedback-icon]{color:var(--ui-error)}
.ui-feedback136 [data-feedback-text]{min-width:0;flex:1}
.ui-feedback136 button{width:36px;min-height:36px;flex:0 0 36px;padding:0;border:0;border-radius:8px;background:var(--soft-bg);color:var(--ink);font-size:20px;cursor:pointer}
.ui-feedback136 button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
.ui-feedback136[data-kind="pending"] [data-feedback-icon]{width:16px;height:16px;flex:0 0 16px;border:2px solid var(--line);border-top-color:var(--royal);border-radius:50%;animation:ui-spin136 .8s linear infinite}
[data-life-busy="true"]{cursor:wait!important;outline:2px solid var(--royal);outline-offset:2px}
@keyframes ui-spin136{to{transform:rotate(360deg)}}
@media(pointer:coarse),(max-width:760px){
 :root{--ui-control:44px;--ui-dialog-space:16px}
 body:not(:has(.notes-editor92)) #nav button{min-height:44px}
 body:not(:has(.notes-editor92)) #systemHeader .btn{min-height:44px}
 body:not(:has(.notes-editor92)) .brand>.world-clocks{font-size:12px;gap:6px 12px;flex:1 1 240px}
 #view:not(:has(.notes-editor92)){padding:16px max(14px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
 #view:not(:has(.notes-editor92)) td .btn{min-height:44px;padding:8px 10px}
 #view:not(:has(.notes-editor92)) :is(.task-view,.goal-view86){min-height:44px}
 #view:not(:has(.notes-editor92)) :is(.head,.tabs)>button{min-height:44px}
 #view:not(:has(.notes-editor92)) #exerciseViewSwitch75 .exercise-view-button69{min-height:44px}
 #view:not(:has(.notes-editor92)) .home-review-done121{width:44px;height:44px;min-width:44px;flex:0 0 44px}
 #view:not(:has(.notes-editor92)) :is(.people-search-toolbar,.doc31-toolbar) input{min-width:0;flex:1 1 180px}
 #view:not(:has(.notes-editor92)) :is(.task-quick85,.people-search-toolbar,.task-filter-toolbar85,.goal-filter-toolbar86) :is(input,select){font-size:16px}
 :is(.dialog,.user-dialog89,.doc31-dialog) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px}
 .ui-feedback136{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));max-width:none;bottom:max(12px,env(safe-area-inset-bottom))}
 .ui-feedback136 button{width:44px;min-height:44px;flex-basis:44px}
}
@media(max-width:600px){
 #view .task-workspace-tabs53{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 #view .task-workspace-tab53{min-height:44px;padding:9px 6px;gap:6px;border-radius:10px;justify-content:center;transform:none;box-shadow:none}
 #view .task-workspace-tab53 .task-tab-icon53{font-size:17px}
 #view .task-workspace-tab53 b{font-size:12px;line-height:1.25}
 #view .task-workspace-tab53 small{display:none}
 #view:not(:has(.notes-editor92))>.head{gap:12px}
 #view:not(:has(.notes-editor92))>.head h1{font-size:25px}
 .dialog .grid{grid-template-columns:minmax(0,1fr)}
 .ui-form-actions136 .btn,.doc31-dialog-foot .btn,.confirm-actions85 .btn{flex:1;min-width:100px}
 .user-dialog89{width:100%}
}
.mobile-nav138{display:none}
.life-phone138 body:not(:has(.notes-editor92)) #nav>button:not(.nav-quick){display:none}
.life-phone138 body:not(:has(.notes-editor92)) #nav{min-height:0;padding:0;border:0}
.life-phone138 body:not(:has(.notes-editor92)) #nav .nav-quick{
 position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));z-index:1100;
 min-height:52px!important;padding:12px 18px!important;border:2px solid #fff!important;border-radius:999px!important;
 box-shadow:0 12px 30px rgba(7,19,39,.32);font-size:15px!important;white-space:nowrap
}
.life-phone138 body:not(:has(.notes-editor92)) .mobile-nav138{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:1090;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:color-mix(in srgb,var(--white) 94%,transparent);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(7,19,39,.12);backdrop-filter:blur(14px)}
.mobile-nav138 button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:50px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;cursor:pointer;touch-action:manipulation}
.mobile-nav138 button span{font-size:19px;line-height:1}.mobile-nav138 button small{font-size:11px;font-weight:800}.mobile-nav138 button.active{background:var(--soft-bg);color:var(--royal)}
.life-phone138 body:not(:has(.notes-editor92)) #view{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
.mobile-more-overlay138{position:fixed;inset:0;z-index:11900;display:flex;align-items:flex-end;background:rgba(4,15,32,.56);padding:16px 12px calc(74px + env(safe-area-inset-bottom))}
.mobile-more-sheet138{width:100%;max-height:70dvh;overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 20px 60px rgba(0,0,0,.3);color:var(--ink)}
.mobile-more-head138{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--white);border-bottom:1px solid var(--line);font-size:18px}.mobile-more-head138 button{width:44px;height:44px;border:0;border-radius:10px;background:var(--soft-bg);color:var(--ink);font-size:26px}
.mobile-more-list138{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.mobile-more-list138 button{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--white);color:var(--ink);font:inherit;text-align:left}.mobile-more-list138 button span{font-size:20px}.mobile-more-list138 button b{font-size:14px}
.quick-add-overlay{align-items:flex-start;padding:24px max(12px,env(safe-area-inset-right)) 20px max(12px,env(safe-area-inset-left));overflow:auto;overscroll-behavior:contain}
.quick-add-panel{max-height:calc(100svh - 48px);overflow:auto}
.quick-add-head{position:sticky;top:0;z-index:1;background:var(--white)}
.quick-add-head small{display:none}
.quick-add-list-inline140{display:flex;flex-direction:column;gap:9px;padding:12px}
.life-phone138 .quick-add-overlay{display:block;padding:0;overflow:hidden}
.life-phone138 .quick-add-panel{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));width:auto;border-radius:18px;max-height:calc(100svh - max(24px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));overflow:auto}
.life-phone138 .quick-add-head{padding:13px 16px}.life-phone138 .quick-add-head button{width:44px;height:44px;border-radius:10px;background:var(--soft-bg);color:var(--ink)}
.quick-add-inline139{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:start}.quick-add-inline-icon139{display:grid;place-items:center;width:40px;height:46px;font-size:23px}
.quick-add-inline-field139{min-width:0}.quick-add-inline139 input{width:100%;height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--white);color:var(--ink);font:inherit;font-size:16px}.quick-add-inline139 input:focus{outline:2px solid var(--royal);outline-offset:2px}.quick-add-inline139 input:disabled{opacity:.65}
.quick-add-inline-status139{display:block;min-height:0;margin:4px 2px 0;color:var(--muted);font-size:12px}.quick-add-inline-status139:empty{display:none}.quick-add-inline-status139.saved{color:var(--ui-success)}.quick-add-inline-status139.error{color:var(--ui-error)}
.quick-add-connection139{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:10px;align-items:center;min-height:52px;padding:6px 10px 6px 0;border:1px solid var(--line);border-radius:11px;background:var(--white);color:var(--ink);font:inherit;text-align:left}.quick-add-connection139>span{display:grid;place-items:center;width:40px;font-size:23px}.quick-add-connection139 b{font-size:15px}.quick-add-connection139:disabled{opacity:.6}
@media(prefers-reduced-motion:reduce){.ui-feedback136 [data-feedback-icon]{animation:none!important}#view:not(:has(.notes-editor92)) .btn{transition:none}}

/* v142 account menu */
.app-logo-top126{display:none!important}
.account-actions89.account-compact142{position:relative;display:flex;align-items:center;margin-left:auto}
.account-compact142>#uname,.account-source142{display:none!important}
.account-trigger142{display:flex;align-items:center;gap:7px;min-height:40px;max-width:min(290px,45vw);padding:8px 11px;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:rgba(7,19,39,.35);color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap}
.account-trigger142 [data-account-name]{overflow:hidden;text-overflow:ellipsis}.account-chevron142{font-size:17px;line-height:1;transition:transform .15s}.account-trigger142[aria-expanded="true"] .account-chevron142{transform:rotate(180deg)}
.account-menu142{position:absolute;right:0;top:calc(100% + 7px);z-index:1400;width:190px;padding:6px;border:1px solid var(--line);border-radius:13px;background:var(--white);box-shadow:0 16px 40px rgba(7,19,39,.28);color:var(--ink);text-shadow:none}
.account-menu142[hidden]{display:none}.account-menu142 button{display:grid;grid-template-columns:28px 1fr;align-items:center;width:100%;min-height:44px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}.account-menu142 button b{font-size:14px;line-height:1.25}.account-menu142 button:hover,.account-menu142 button:focus-visible{background:var(--soft-bg)}.account-menu142 button:last-child{margin-top:4px;border-top:1px solid var(--line);border-top-left-radius:4px;border-top-right-radius:4px;color:var(--ui-error)}

/* v142 phone shell and reusable card lists */
.life-phone138 body:not(:has(.notes-editor92)) .top{min-height:56px;padding-top:env(safe-area-inset-top);background-image:none!important;background-color:#071327!important;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.life-phone138 body:not(:has(.notes-editor92)) .brand{min-height:56px;padding:7px max(12px,env(safe-area-inset-right)) 7px max(12px,env(safe-area-inset-left));justify-content:flex-end}
.life-phone138 body:not(:has(.notes-editor92)) .brand>.world-clocks{display:none!important}.life-phone138 .account-trigger142{min-height:42px;max-width:70vw;background:rgba(255,255,255,.1)}
.life-phone138 .account-menu142{position:fixed;top:calc(58px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:min(220px,calc(100vw - 24px))}
.life-phone138 body:not(:has(.notes-editor92)) #view{padding:14px max(12px,env(safe-area-inset-right)) calc(150px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--bg)}
.life-phone138 #view:not(:has(.notes-editor92))>.head{margin-bottom:12px;align-items:center}.life-phone138 #view:not(:has(.notes-editor92))>.head h1{font-size:24px}.life-phone138 #view:not(:has(.notes-editor92))>.head>.btn{margin-left:auto}
.life-phone138 #view:not(:has(.notes-editor92)) :is(.card,.tree,.files){border-radius:14px;box-shadow:0 3px 14px rgba(7,19,39,.07)}
.life-phone138 #view:not(:has(.notes-editor92)) .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;margin:10px -12px 14px;padding:0 12px 3px;scrollbar-width:none}.life-phone138 #view:not(:has(.notes-editor92)) .tabs::-webkit-scrollbar{display:none}.life-phone138 #view:not(:has(.notes-editor92)) .tabs>button{flex:0 0 auto}
.life-phone138 #view .phone-card-table142{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate}.life-phone138 #view .phone-card-table142 thead{display:none}.life-phone138 #view .phone-card-table142 tbody{display:grid;gap:10px}.life-phone138 #view .phone-card-table142 tbody tr{display:block;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--white);box-shadow:0 3px 12px rgba(7,19,39,.06)}
.life-phone138 #view .phone-card-table142 tbody td{display:grid;grid-template-columns:minmax(86px,34%) minmax(0,1fr);align-items:start;gap:10px;width:100%!important;min-width:0!important;max-width:none!important;padding:8px 0!important;border:0;border-bottom:1px solid var(--line);white-space:normal!important;overflow-wrap:anywhere}.life-phone138 #view .phone-card-table142 tbody td:last-child{border-bottom:0}.life-phone138 #view .phone-card-table142 tbody td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.02em}.life-phone138 #view .phone-card-table142 tbody td.empty{display:block;padding:22px 8px!important;text-align:center}.life-phone138 #view .phone-card-table142 tbody td.empty::before{display:none}.life-phone138 #view .phone-card-table142 :is(input,select,textarea){max-width:100%}

/* Tasks put the task itself first and supporting details underneath. */
.life-phone138 #view .task-edit-tip{display:none}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159){overflow:visible;border:0;background:transparent}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) table{display:block;width:100%!important;min-width:0!important;table-layout:auto!important}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) thead{display:none}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody{display:grid;gap:10px}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody tr{display:grid;grid-template-columns:42px minmax(0,1fr) auto;grid-template-areas:"done description description" "done type due" "actions actions actions";gap:8px 10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 4px 15px rgba(7,19,39,.07)}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td{position:static!important;display:block;width:auto!important;min-width:0!important;max-width:none!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(1){grid-area:done;align-self:start;padding-top:5px!important}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(2){grid-area:due!important;white-space:normal!important}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(3){grid-area:type!important;align-self:center}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(4){grid-area:description!important}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(5){grid-area:actions!important;border-top:1px solid var(--line)!important;padding-top:9px!important}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-view{min-height:38px!important;padding:6px 22px 6px 7px!important}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-description .task-view{min-height:48px!important;padding:7px 25px 7px 8px!important;background:var(--soft-bg);border-color:var(--line)}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-description-text{font-size:15px;font-weight:750;line-height:1.38!important}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-date{font-size:11px!important}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-time{display:block;width:max-content;max-width:100%;margin-top:2px!important}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-action-stack85{display:flex;justify-content:flex-end;gap:7px}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-action-stack85 .btn{min-height:38px!important;padding:7px 10px!important}.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-row-state{text-align:left}
.life-phone138 #view .task-quick85{grid-template-columns:minmax(0,1fr) auto;margin:10px 0;padding:9px}.life-phone138 #view .task-quick85 input{grid-column:1/-1}.life-phone138 #view .task-quick-type85{grid-column:1;min-width:0}.life-phone138 #view .task-quick85 .btn{grid-column:2;grid-row:2}.life-phone138 #view .task-filter-toolbar85{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin:10px 0}.life-phone138 #view .task-filter-toolbar85>.task-filter-group,.life-phone138 #view .task-filter-right93{min-width:0;width:auto;margin:0}.life-phone138 #view .task-type-buttons85{grid-column:1/-1}.life-phone138 #view .task-type-buttons85>div{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.life-phone138 #view .task-type-buttons85>div::-webkit-scrollbar{display:none}.life-phone138 #view .task-filter-right93{display:grid;grid-template-columns:1fr;gap:9px}.life-phone138 #view .task-status-filter85 select{width:100%;min-width:0}.life-phone138 #view .task-category-manage93{width:100%}

/* Shopping, recurring tasks, goals, health and trips use app-style cards too. */
.life-phone138 #view :is(.shopping-table46,.recurring-table46,.goal-table86,.health-review-table63){overflow:visible;border:0;background:transparent}.life-phone138 #view :is(.shopping-table46,.recurring-table46,.goal-table86,.health-review-table63) table{display:block;width:100%!important;min-width:0!important;table-layout:auto!important}.life-phone138 #view :is(.shopping-table46,.recurring-table46,.goal-table86,.health-review-table63) thead{display:none}.life-phone138 #view :is(.shopping-table46,.recurring-table46,.goal-table86,.health-review-table63) tbody{display:grid;gap:10px}.life-phone138 #view :is(.shopping-table46,.recurring-table46,.goal-table86,.health-review-table63) tbody tr{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 4px 15px rgba(7,19,39,.07)}.life-phone138 #view :is(.shopping-table46,.recurring-table46,.goal-table86,.health-review-table63) tbody td{position:static!important;display:grid;grid-template-columns:86px minmax(0,1fr);gap:9px;width:auto!important;min-width:0!important;max-width:none!important;padding:6px 0!important;border:0;border-bottom:1px solid var(--line);background:transparent!important;white-space:normal!important}.life-phone138 #view :is(.shopping-table46,.recurring-table46,.goal-table86,.health-review-table63) tbody td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:850}.life-phone138 #view :is(.shopping-table46,.recurring-table46,.goal-table86,.health-review-table63) tbody td:last-child{border-bottom:0}.life-phone138 #view :is(.shopping-table46,.recurring-table46,.goal-table86,.health-review-table63) tbody td.empty{display:block}.life-phone138 #view :is(.shopping-table46,.recurring-table46,.goal-table86,.health-review-table63) tbody td.empty::before{display:none}
.life-phone138 #view .shopping-table46 tbody td:nth-child(2),.life-phone138 #view .recurring-table46 tbody td:nth-child(4),.life-phone138 #view .goal-table86 tbody td:nth-child(1){order:-2;display:block;font-size:15px;font-weight:750}.life-phone138 #view .shopping-table46 tbody td:nth-child(2)::before,.life-phone138 #view .recurring-table46 tbody td:nth-child(4)::before,.life-phone138 #view .goal-table86 tbody td:nth-child(1)::before{display:none}
.life-phone138 :is(.dialog,.user-dialog89,.doc31-dialog){width:100%;border-radius:18px 18px 0 0}.life-phone138 :is(.overlay,.user-overlay89){align-items:flex-end;padding:max(10px,env(safe-area-inset-top)) 0 0}.life-phone138 :is(.dialog,.user-dialog89){max-height:calc(92dvh - env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}

/* v143 — match recurring row density without shrinking phone controls. */
html:not(.life-phone138) #view .task-table:not(.goal-table86):not(.job-table159) th:nth-child(5),
html:not(.life-phone138) #view .task-table:not(.goal-table86):not(.job-table159) td:nth-child(5){width:178px!important;min-width:178px!important;max-width:178px!important;vertical-align:middle!important}
html:not(.life-phone138) #view .task-table:not(.goal-table86):not(.job-table159) .task-action-stack85{display:flex;align-items:center;justify-content:flex-end;gap:6px}

/* v144: focused phone layouts and home-only quick add. */
html:not([data-life-section144="Inicio"]) #nav .nav-quick{display:none!important}
.task-head-actions144{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}
.life-phone138 #view .task-head-actions144{gap:6px;flex-wrap:nowrap}
.life-phone138 #view .task-head-actions144 .btn{width:auto;min-height:44px;padding:8px 10px;font-size:13px;white-space:nowrap}
.life-phone138 #view:not(:has(.notes-editor92))>.head{flex-wrap:wrap;gap:8px}
.life-phone138 #view .task-filter-toolbar85{grid-template-columns:1fr;margin:8px 0}
.life-phone138 #view .task-filter-right93{grid-column:1/-1}
.life-phone138 #view .task-status-filter85{display:flex;align-items:center;gap:10px}
.life-phone138 #view .task-status-filter85 select{flex:1}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody{gap:6px}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody tr{grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"done description description" "done type due" "actions actions actions";gap:2px 6px;padding:7px 9px;border-radius:10px;box-shadow:none}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(1){padding-top:6px!important}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-view{min-height:32px!important;padding:4px 18px 4px 2px!important}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-description .task-view{min-height:32px!important;padding:4px 20px 4px 2px!important;background:transparent;border-color:transparent}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-description-text{font-size:14px;line-height:1.3!important}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-time{display:inline;margin-left:5px;margin-top:0!important;font-size:10px}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-date{display:inline;font-size:11px!important}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(5){padding-top:2px!important;border-top:0!important}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-action-stack85 .btn{min-height:32px!important;padding:4px 9px!important;font-size:12px}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-row-state:empty{display:none}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody tr:has(.empty){display:block;padding:16px}
.life-phone138 body:not(:has(.notes-editor92)) #view{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
.life-phone138[data-life-section144="Inicio"] body #view{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
.notes-img-delete144{position:absolute;display:none;place-items:center;width:36px;height:36px;padding:0;border:2px solid white;border-radius:50%;background:#dc2626;color:white;font:26px/1 sans-serif;z-index:30;cursor:pointer;touch-action:none;box-shadow:0 2px 8px #0004}
.notes-img-handle92,.notes-img-move-handle92{touch-action:none}

.notes-img-handle92,.notes-img-move-handle92{width:32px!important;height:32px!important;z-index:29!important;border-width:6px!important;background-clip:padding-box;box-sizing:border-box}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-type-badge{max-width:100%;width:auto}

/* Small phone metadata keeps full action labels readable. */
.life-phone138 #view .task-due-today85{display:none!important}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody tr{grid-template-columns:26px minmax(0,1fr) auto auto;grid-template-areas:"done description description actions" "done type due actions";gap:2px 5px;padding:7px 8px}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(5){align-self:center;padding:0!important}
.life-phone138 #view :is(.task-table,.goal-table86) .task-type{width:auto!important;min-width:24px!important;max-width:fit-content!important;padding:2px 6px!important;min-height:20px!important;font-size:11px!important;line-height:16px!important;border-radius:6px!important}
.life-phone138 #view .task-filter-btn{min-height:32px!important;padding:5px 9px!important;font-size:12px!important}
.life-phone138 #view .task-status-filter85{font-size:11px!important}
.life-phone138 #view .task-status-filter85 select{font-size:13px!important;min-height:34px!important;padding:6px 9px!important}
.life-phone138 #view .goal-table86 tbody{gap:6px}
.life-phone138 #view .goal-table86 tbody tr{padding:8px 10px;gap:3px;border-radius:10px;box-shadow:none}
.life-phone138 #view .goal-table86 tbody td{padding:2px 0!important;grid-template-columns:70px minmax(0,1fr);gap:6px}
.life-phone138 #view .goal-table86 .task-view{min-height:30px!important;padding:4px 20px 4px 4px!important}
.life-phone138 #view .goal-table86 :is(.task-description-text,.task-date){font-size:13px!important}
.life-phone138 #view .goal-table86 :is(select,.task-time){font-size:12px!important}
.life-phone138 #view .goal-table86 .goal-action-stack86{display:flex;justify-content:flex-end;gap:6px}
.life-phone138 #view .goal-table86 .goal-edit86{min-height:32px!important;padding:5px 10px!important;font-size:12px!important}
.con-phone-list146,.con-table-toggle146{display:none}
.life-phone138 .con-phone-list146{display:grid;gap:6px;margin:10px 0}
.life-phone138 .con-person146{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);min-height:48px}
.life-phone138 .con-person146 b{font-size:14px}.life-phone138 .con-person146 small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.life-phone138 .con-table-toggle146{display:block;margin:8px 0;font-size:12px;min-height:36px}
.life-phone138 #connection-table146{display:none}
.life-phone138 .con-table-open146 #connection-table146{display:block;overflow:auto;max-width:100%}
.life-phone138 .people-search-toolbar{display:flex;flex-wrap:wrap;gap:6px}.life-phone138 .people-search-toolbar .con-search{flex-basis:100%;width:100%;min-width:0}.life-phone138 .people-search-toolbar .btn{font-size:12px;padding:7px 10px}
.life-phone138 .con-table-open146 #connection-table146{overflow-x:auto!important;height:auto;min-height:0;max-height:65dvh}
.life-phone138 #connection-table146 .con-people-table{min-width:1050px!important}


.home-connection-groups[hidden]{display:none!important}
.life-phone138 .home-connections-card{padding:12px;margin-top:12px}
.life-phone138 .home-connections-card .home-section-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.life-phone138 .home-connections-card .home-section-head h2{font-size:16px;margin:0}
.life-phone138 .home-connections-card .home-section-head small{display:none}
.life-phone138 .home-connections-card .home-section-head>div{margin-right:auto}
.life-phone138 .home-connections-card .home-section-head>.btn{font-size:11px;min-height:36px;padding:6px 8px}
.life-phone138 .home-connections-card .home-connection-group button{min-height:44px;font-size:14px}

.connection-prompts148{width:min(640px,calc(100vw - 24px));max-height:85dvh;box-sizing:border-box;padding:20px;border:1px solid var(--line,#d6dcd8);border-radius:16px;background:var(--white,#fff);color:var(--ink,#17241e);overflow:auto}
.connection-prompts148::backdrop{background:#0007}
.prompts-head148{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.prompts-head148 h2{margin:0;font-size:21px}
.connection-prompts148 table{width:100%;min-width:0!important;border-collapse:collapse;margin-top:14px;table-layout:fixed}.connection-prompts148 th,.connection-prompts148 td{text-align:left;padding:12px 4px;border-bottom:1px solid var(--line,#d6dcd8);overflow-wrap:anywhere}.connection-prompts148 th:last-child{width:156px}.prompts-row-actions148 .btn{padding:6px 9px;min-height:36px;margin:2px;font-size:12px}
.connection-prompts148 form label{display:grid;gap:6px;margin-bottom:14px}.connection-prompts148 input,.connection-prompts148 textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line,#d6dcd8);border-radius:8px;background:var(--white,#fff);color:inherit;font:inherit}.prompts-actions148{display:flex;gap:8px}.prompts-error148{font-size:13px;margin-bottom:0}
@media(max-width:480px){.connection-prompts148{padding:14px}.connection-prompts148 th:last-child{width:138px}.prompts-row-actions148 .btn{padding:6px;min-height:40px}}

/* Prompt library is a separate action beside the view tabs. */
.tabs .btn.connection-prompts-launch149{margin-left:12px;border:1px solid #7955c5;border-radius:999px!important;background:#f4edff;color:#59329d;box-shadow:none;padding:8px 15px;gap:6px;font-weight:700}
.tabs .btn.connection-prompts-launch149:hover{background:#e9dcff;border-color:#59329d}
:root[data-theme="dark"] .tabs .btn.connection-prompts-launch149{background:#302245;border-color:#aa83e8;color:#e5d3ff}
:root[data-theme="dark"] .tabs .btn.connection-prompts-launch149:hover{background:#44305f}
.connection-prompts148 .prompts-back149{background:transparent;color:var(--royal);border:0;box-shadow:none;padding:8px 0;margin:0 0 12px;text-align:left}
.connection-prompts148 .prompts-back149:hover{text-decoration:underline}
/* Strong, distinct calendar states in dark mode, including matching legend colors. */
:root[data-theme="dark"] .exercise-day57{--calendar-bg149:#182131;--calendar-border149:#52627b;--calendar-text149:#edf2fa;background:var(--calendar-bg149)!important;border-color:var(--calendar-border149)!important;color:var(--calendar-text149)!important}
:root[data-theme="dark"] .exercise-day57.planned{--calendar-bg149:#173b68;--calendar-border149:#63a7ff;--calendar-text149:#dcecff}
:root[data-theme="dark"] .exercise-day57.completed{--calendar-bg149:#12533e;--calendar-border149:#4de09b;--calendar-text149:#d4ffe9}
:root[data-theme="dark"] .exercise-day57.missed{--calendar-bg149:#682d42;--calendar-border149:#ff7898;--calendar-text149:#ffe1e9}
:root[data-theme="dark"] .exercise-day57.partial82{--calendar-bg149:#64451d;--calendar-border149:#ffbd66;--calendar-text149:#fff0d5}
:root[data-theme="dark"] .exercise-day57.unplanned{--calendar-bg149:#182131;--calendar-border149:#43516a;--calendar-text149:#c0ccdf}
:root[data-theme="dark"] .exercise-day57.today{box-shadow:inset 0 0 0 2px #ffdb66!important}
:root[data-theme="dark"] .exercise-day57 .exercise-day-top61 small,:root[data-theme="dark"] .exercise-day57 .exercise-compact-label83{color:var(--calendar-text149)!important}
:root[data-theme="dark"] .exercise-day57:not(.completed) .exercise-complete-action61{background:#624616!important;border-color:#ffc864!important;color:#fff0c2!important}
:root[data-theme="dark"] .exercise-day57.completed .exercise-complete-action61{background:#087c51!important;border-color:#66ecb0!important;color:#fff!important}
:root[data-theme="dark"] .exercise-day57 .exercise-complete-action61:disabled{opacity:1}
:root[data-theme="dark"] .exercise-legend57 i.done{background:#12533e;border-color:#4de09b}
:root[data-theme="dark"] .exercise-legend57 i.planned{background:#173b68;border-color:#63a7ff}
:root[data-theme="dark"] .exercise-legend57 i.missed{background:#682d42;border-color:#ff7898}
:root[data-theme="dark"] .exercise-legend57 i.unplanned{background:#182131;border-color:#43516a}
:root[data-theme="dark"] .exercise-legend57 i.today{background:#182131;border-color:#ffdb66}
:root[data-theme="dark"] .exercise-day57.today:not(.completed):not(.missed){background:var(--calendar-bg149)!important;box-shadow:inset 0 0 0 2px #ffdb66!important}

/* v153: task actions center against the complete row, including long descriptions. */
#view .task-table:not(.goal-table86):not(.job-table159) td.task-actions{vertical-align:middle!important;position:relative}
#view .task-table:not(.goal-table86):not(.job-table159) .task-actions .task-row-state:empty{display:none}
#view .task-table:not(.goal-table86):not(.job-table159) .task-actions .task-row-state:not(:empty){position:absolute;right:7px;bottom:1px}
.task-quick-category153{margin:0 0 12px;width:100%;min-height:42px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px}
.task-quick85{margin:12px 0}
/* Today uses an amber outline + label, independently of workout status. */
#view .exercise-day57.today{outline:3px solid #fbbf24!important;outline-offset:-3px;position:relative}
#view .exercise-day57.today .exercise-day-top61 b::after{content:' · Today';font-size:11px;color:var(--ink);font-weight:800}
:root[data-theme="dark"] #view .exercise-day57.planned{background:#193953!important;border-color:#60a5fa!important}
:root[data-theme="dark"] #view .exercise-day57.today:not(.planned):not(.completed):not(.missed){background:#3d331a!important}
:root[data-theme="dark"] #view .exercise-day57.planned .exercise-day-top61 small{color:#bfdbfe!important;font-weight:700}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) #view .exercise-day57.planned{background:#193953!important;border-color:#60a5fa!important}:root:not([data-theme="light"]) #view .exercise-day57.today:not(.planned):not(.completed):not(.missed){background:#3d331a!important}:root:not([data-theme="light"]) #view .exercise-day57.planned .exercise-day-top61 small{color:#bfdbfe!important;font-weight:700}}

.task-quick-panel153 .quick-add-head small{display:block;color:var(--muted);margin-top:5px}
.task-quick-panel153 .task-quick-category153{margin:12px 12px 0;width:calc(100% - 24px)}
.task-quick-panel153 .quick-add-inline139{grid-template-columns:40px minmax(0,1fr) auto}
.task-quick-panel153 .quick-add-inline139>.btn{height:46px;align-self:start}

/* Stop the page edge bounce from carrying fixed phone controls off screen. */
html.life-phone138,html.life-phone138 body{overscroll-behavior-y:none}

/* Keep the phone bar on the visible screen as browser chrome changes height. */
.life-phone138 body:not(:has(.notes-editor92)) #mobileNav138{
 top:calc(var(--life-visible-top155,0px) + var(--life-visible-height155,100dvh));bottom:auto;transform:translateY(-100%);
}

/* Use one bounded scroll surface for each mobile editor, including landscape. */
@media(max-width:760px),(pointer:coarse){
 :root :is(.overlay,.user-overlay89,.doc31-overlay,.exercise-edit-overlay77,.exercise-edit-overlay81,.quick-add-overlay,.confirm-overlay85):not(dialog){
  box-sizing:border-box;top:var(--life-visible-top155,0px);bottom:auto;height:var(--life-visible-height155,100dvh);
  display:flex;align-items:safe center;justify-content:center;
  padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
 }
 :root :is(.overlay,.user-overlay89,.doc31-overlay,.exercise-edit-overlay77,.exercise-edit-overlay81,.quick-add-overlay):not(dialog){z-index:12000}
 :root :is(.dialog,.user-dialog89,.doc31-dialog,.exercise-edit-dialog77,.exercise-edit-card81,.quick-add-panel,.confirm-box85){
  box-sizing:border-box;max-height:calc(var(--life-visible-height155,100dvh) - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));
  min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:80px;
 }
 #modal .dialog{display:flex;flex-direction:column;overflow:hidden;width:100%;padding:12px;border-radius:16px}
 #modal .dialog>.head{position:static;flex-shrink:0;padding:8px 0;margin-bottom:8px}
 #mform{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}
 #mfields{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 4px 20px;scroll-padding-block:16px;grid-auto-rows:max-content;align-content:start}
 #mform>.ui-form-actions136{position:static;flex-shrink:0;margin:0;padding:10px 0 max(2px,env(safe-area-inset-bottom));z-index:3}
 :root.life-phone138 .quick-add-panel{max-height:calc(var(--life-visible-height155,100dvh) - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))}
 /* Native dialogs already provide the backdrop: center their own scroll box. */
 :root dialog[open]:not(.con-media-viewer153){
  position:fixed;top:calc(var(--life-visible-top155,0px) + var(--life-visible-height155,100dvh) / 2);bottom:auto;
  height:auto;margin:0 auto;transform:translateY(-50%);box-sizing:border-box;
  max-height:calc(var(--life-visible-height155,100dvh) - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
 }
 :root .doc95-modal .doc31-dialog{max-height:none;overflow:visible}
 :root :is(.doc31-dialog-foot,.exercise-edit-actions77,.exercise-edit-actions81,.user-dialog-actions89){position:sticky;bottom:0;background:var(--white);padding-bottom:max(12px,env(safe-area-inset-bottom));z-index:3}
 :root .mobile-more-overlay138{top:var(--life-visible-top155,0px);bottom:auto;height:var(--life-visible-height155,100dvh);box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain}
 :root .mobile-more-sheet138{max-height:calc(var(--life-visible-height155,100dvh) - 100px - env(safe-area-inset-bottom));min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 body:has(:is(.overlay,.user-overlay89,.exercise-edit-overlay77,.exercise-edit-overlay81,.quick-add-overlay,.confirm-overlay85):not(.hide),dialog[open]) :is(.mobile-nav138,.quick-add-fab138){visibility:hidden}
 .tabs>button[hidden]{display:none!important}
}
.tabs>button[hidden]{display:none!important}

/* v159: consistent rows, visible category affordance and due-date colours. */
:root{--due-today-bg159:#dceeff;--due-today-ink159:#315e7d;--due-overdue-bg159:#fff4cc;--due-overdue-ink159:#745e28}
:root[data-theme="dark"]{--due-today-bg159:#dceeff;--due-today-ink159:#315e7d;--due-overdue-bg159:#fff4cc;--due-overdue-ink159:#745e28}
#view .task-action-stack85 .btn,#view .goal-action-stack86 .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1.2!important;min-height:34px;padding:6px 10px!important;margin:0!important}
#view .task-action-stack85,#view .goal-action-stack86{display:flex!important;align-items:center!important;justify-content:flex-end;gap:6px}
#view .task-table.goal-table86 tbody td{height:68px;vertical-align:middle!important}
#view .goal-table86 .goal-actions86{vertical-align:middle!important}
#view .goal-table86 .goal-next-cell86 .task-view{max-height:68px;overflow:hidden}
#view .goal-table86 .goal-title-cell86 .task-description-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
#view select.task-quick-type85{appearance:none!important;-webkit-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px!important;padding-right:38px!important}
:root[data-theme="dark"] #view select.task-quick-type85{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
#view .task-time.due-today,#view .due-today159{background:var(--due-today-bg159)!important;color:var(--due-today-ink159)!important;border-radius:7px;padding:3px 7px!important;font-weight:750}
#view .task-time.due-overdue,#view .due-overdue159{background:var(--due-overdue-bg159)!important;color:var(--due-overdue-ink159)!important;border-radius:7px;padding:3px 7px!important;font-weight:750}
#view .home-review-item120 small:is(.due-today159,.due-overdue159){white-space:nowrap;display:inline-block}
/* Age-based task tags keep the existing soft palette in both themes. */
:root{--due-orange-bg170:#ffc18a;--due-orange-ink170:#75400d;--due-red-bg170:#ffabab;--due-red-ink170:#792424}
#view .task-time.due-overdue-orange170,#view .home-review-item120 small.due-overdue-orange170{background:var(--due-orange-bg170)!important;color:var(--due-orange-ink170)!important}
#view .task-time.due-overdue-red170,#view .home-review-item120 small.due-overdue-red170{background:var(--due-red-bg170)!important;color:var(--due-red-ink170)!important}
.home-connections-card .home-section-head{gap:8px;flex-wrap:wrap}
.home-connections-card .home-section-head>div{margin-right:auto}
.sort-hint159{display:block;color:var(--muted);font-size:12px;margin:4px 0 10px}
.task-add-date159{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 12px 12px;font-size:14px;font-weight:650}.task-add-date159 input{width:170px;min-height:42px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:10px;padding:8px;color-scheme:light}
:root[data-theme="dark"] .task-add-date159 input{color-scheme:dark}
.prompts-content148>button{margin-right:8px;margin-bottom:12px}.prompts-row-actions148{vertical-align:middle}.prompts-row-actions148 button{display:inline-flex;align-items:center;justify-content:center;min-height:34px}
.job-toolbar159{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:14px 0}.job-toolbar159>input{flex:1;min-width:180px;max-width:440px}.job-toolbar159 label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750}.job-toolbar159 :is(input,select){min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit}.job-toolbar159 select{min-width:110px}
#view .job-table159{margin-top:10px}#view .job-table159 table{width:100%;min-width:1000px!important;table-layout:auto!important}#view .job-table159 th{padding:10px;text-align:left;font-size:12px}#view .job-table159 :is(th,td):first-child{min-width:100px}#view .job-table159 .job-title159{width:24%;min-width:190px}
#view .job-table159 td{vertical-align:middle!important;height:76px;padding:8px 10px!important;font-size:13px}
.job-title159{min-width:190px;max-width:280px}.job-title159 b,.job-title159 span,.job-title159 small{display:block}.job-title159 b{font-size:14px}.job-title159 small{color:var(--muted)}
.job-stage159 select{min-width:120px;padding:8px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:9px}
.job-comments159{max-width:230px;white-space:pre-line;overflow-wrap:anywhere}.job-link159 a{color:var(--ui-primary);white-space:nowrap}.job-applied159,.job-follow159{white-space:nowrap}
.job-row-actions159{white-space:nowrap}.job-row-actions159 button{display:inline-flex;align-items:center;justify-content:center;margin:2px;min-height:34px;line-height:1.2}
.job-dialog159{width:min(650px,100%);max-height:calc(100dvh - 24px);overflow-y:auto}.job-form159{display:flex;flex-direction:column;gap:12px}.job-form159 .field input,.job-form159 .field select,.job-form159 .field textarea{width:100%;box-sizing:border-box}
.job-form159 input[type=date]{color-scheme:light}:root[data-theme="dark"] .job-form159 input[type=date]{color-scheme:dark}
.job-actions159{position:sticky;bottom:-12px;display:flex;gap:8px;justify-content:flex-end;padding:12px 0;background:var(--white);border-top:1px solid var(--line);z-index:3}
.job-error159{margin:0;color:var(--ui-error)}.job-existing-comments159{max-height:180px;overflow:auto;white-space:pre-wrap;font-size:13px;padding:12px;background:var(--soft-bg);border-radius:10px}.job-history159 ol{padding-left:20px;font-size:13px}.job-history159 li{margin:8px 0;white-space:pre-wrap}.job-history159 time{font-weight:650}
.life-phone138 #view .goal-table86 tbody tr{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"title title actions" "category due status" "notes notes notes";gap:5px 8px;min-height:118px;padding:9px 10px!important;align-items:center}
.life-phone138 #view .goal-table86 tbody td{display:block!important;height:auto!important;min-width:0!important;padding:0!important;order:0!important}
.life-phone138 #view .goal-table86 tbody td::before{display:none!important}
.life-phone138 #view .goal-table86 tbody td:nth-child(1){grid-area:title}.life-phone138 #view .goal-table86 tbody td:nth-child(2){grid-area:category}.life-phone138 #view .goal-table86 tbody td:nth-child(3){grid-area:due}.life-phone138 #view .goal-table86 tbody td:nth-child(4){grid-area:status}.life-phone138 #view .goal-table86 tbody td:nth-child(5){grid-area:notes}.life-phone138 #view .goal-table86 tbody td:nth-child(6){grid-area:actions}
.life-phone138 #view .goal-table86 .goal-action-stack86{flex-direction:row!important;align-items:center}.life-phone138 #view .goal-table86 .goal-action-stack86 button{min-height:32px!important}
.life-phone138 #view .goal-table86 .task-view{min-height:28px!important}.life-phone138 #view .goal-table86 .goal-title-cell86 .task-view{height:40px!important}.life-phone138 #view .goal-table86 .goal-next-cell86 .task-view{height:44px!important;overflow:hidden}.life-phone138 #view .goal-table86 .goal-status-select86{max-width:100%;min-width:0}
.life-phone138 #view .job-table159{overflow:visible;border:0;background:transparent}.life-phone138 #view .job-table159 table{display:block;width:100%!important;min-width:0!important}.life-phone138 #view .job-table159 thead{display:none}.life-phone138 #view .job-table159 tbody{display:grid;gap:8px}
.life-phone138 #view .job-table159 tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"title title" "stage applied" "follow link" "comments comments" "actions actions";gap:7px 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.life-phone138 #view .job-table159 tbody td{display:block!important;grid-area:auto;width:auto!important;max-width:none;min-width:0;height:auto;padding:0!important;border:0!important;order:0!important}.life-phone138 #view .job-table159 td::before{display:none!important}
.life-phone138 #view .job-table159 .job-title159{grid-area:title}.life-phone138 #view .job-table159 .job-stage159{grid-area:stage}.life-phone138 #view .job-table159 .job-applied159{grid-area:applied;align-self:center;text-align:right}.life-phone138 #view .job-table159 .job-follow159{grid-area:follow;font-size:12px}.life-phone138 #view .job-table159 .job-link159{grid-area:link;text-align:right}.life-phone138 #view .job-table159 .job-comments159{grid-area:comments;font-size:13px}.life-phone138 #view .job-table159 .job-row-actions159{grid-area:actions;display:flex!important;justify-content:flex-end;gap:6px;border-top:1px solid var(--line)!important;padding-top:8px!important}
.life-phone138 #view .job-table159 tr:has(.empty){display:block!important}.life-phone138 .job-dialog159{border-radius:16px}.life-phone138 .job-toolbar159{gap:8px}.life-phone138 .job-toolbar159 .task-filter-group{flex:1}.life-phone138 .job-toolbar159>input{width:100%;max-width:none;flex-basis:100%}

/* Personal section order and visibility share one draft and Save action. */
.section-order-list164{display:flex;flex-direction:column;gap:8px;min-width:0}
.section-order-row164{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--white);min-width:0}
.section-order-choice164{display:flex;align-items:center;gap:12px;flex:1;min-width:0;cursor:pointer;padding:5px 0}
.section-order-choice164>input{flex:0 0 20px;width:20px;height:20px;margin:0;accent-color:var(--royal)}
.section-order-choice164>span{display:flex;flex-direction:column;gap:3px;min-width:0}
.section-order-choice164 b{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.section-order-choice164 small{font-size:11px;color:var(--muted)}
.section-hidden164{background:var(--soft-bg)}
.section-hidden164 .section-order-choice164 b{color:var(--muted)}
.section-order-arrows164{display:flex;align-items:center;gap:6px;flex-shrink:0}
.section-order-arrows164>.btn{display:flex;align-items:center;justify-content:center;width:42px;min-width:42px;min-height:42px;height:42px;padding:0!important;font-size:21px!important;line-height:1}
.section-order-arrows164>.btn:disabled{opacity:.3;cursor:default}
.section-order-status164{font-size:12px;color:var(--muted);line-height:1.4}
.section-order-status164:empty{display:none}
.life-phone138 .section-order-row164{gap:8px;padding:8px}
.life-phone138 .section-order-choice164{gap:9px}
.life-phone138 .section-order-arrows164{gap:4px}
.life-phone138 .section-order-arrows164>.btn{width:44px;min-width:44px;height:44px;min-height:44px}

/* Keep the quick note, its pencil and the goal actions in their own columns. */
html:not(.life-phone138) #view .goal-table86 :is(th,td):nth-child(6){width:190px!important;min-width:190px!important;max-width:190px!important}
#view .goal-table86 .goal-next-cell86 .task-view{display:grid!important;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:5px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:6px!important}
#view .goal-table86 .goal-next-cell86 .task-pencil{position:static!important;grid-column:2;grid-row:1;align-self:center;justify-self:center;margin:0!important;transform:none!important}
#view .goal-table86 .goal-next-cell86 :is(.goal-note-summary86,.goal-note-summary87,.goal-note-empty87){min-width:0;max-width:100%;overflow:hidden;overflow-wrap:anywhere;grid-column:1;grid-row:1}
.life-phone138 #view .goal-table86 .goal-action-stack86 .btn{width:56px!important;min-width:56px!important;padding:6px!important;font-size:12px}
/* An explicit calendar control has its own uncropped tap target. */
.task-add-date159{flex-wrap:wrap}.task-date-control165{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px;width:210px;max-width:100%;align-items:center}
.task-add-date159 .task-date-control165 input{width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;box-sizing:border-box;padding:8px;font:inherit}
.task-date-control165 input::-webkit-calendar-picker-indicator{display:none}
.task-date-control165 input::-webkit-date-and-time-value{min-width:0;text-align:left}
.task-calendar165{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--soft-bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;cursor:pointer}
/* Give phone task descriptions the full available width. Actions share the metadata row. */
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody tr{grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"done description description" "type due actions";gap:6px 5px;align-items:center;padding:10px}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(5){align-self:center!important}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(2) .task-view{padding:4px 15px 4px 0!important}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) tbody td:nth-child(3) .task-view{padding:0!important}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-action-stack85{gap:4px}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-action-stack85 .btn{width:auto!important;min-width:0!important;min-height:40px!important;padding:6px 7px!important;font-size:11px}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-description .task-view{padding:4px 20px 4px 2px!important;max-width:100%;box-sizing:border-box}
.life-phone138 #view .task-table:not(.goal-table86):not(.job-table159) .task-actions .task-row-state:not(:empty){position:static}

#view .goal-table86 .goal-next-cell86 .task-view{height:56px!important;min-height:56px!important}#view .goal-table86 .goal-note-text87{min-width:0;white-space:normal!important;overflow-wrap:anywhere;font-size:12px;line-height:1.3}

/* All quick-add categories use their saved fill, with a visible dark arrow. */
#view select.task-quick-type85{background-color:var(--quick-category-bg171,#DBEAFE)!important;color:#1E293B!important}
:root[data-theme] #view select.task-quick-type85{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.category-colors171{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%;margin-top:4px}.category-colors171 .notes-swatch92{flex-shrink:0}
.packing-item89:has(.category-colors171){flex-wrap:wrap}.packing-item89 .category-colors171{flex-basis:100%}

/* Home descriptions use normal-weight text and wrap without hiding words. */
#view .home-review-item120{height:auto;max-height:none;align-items:center}
#view .home-review-item120>span{flex:1 1 auto;min-width:0;font-weight:400!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;text-overflow:clip;overflow:visible;display:block;-webkit-line-clamp:unset;line-height:1.4}

/* The due count lives beside Home, leaving the page space for actual items. */
#view>.head.home-head169{gap:8px}
#view .home-title169{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}
.home-header-count169{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:var(--soft-bg);color:var(--ink);white-space:nowrap;line-height:1.2}
.home-header-count169 b{font-size:18px;color:var(--royal)}
.home-header-count169>span{font-size:12px;font-weight:400}
.home-header-actions169{display:flex;align-items:center;gap:8px;margin-left:auto}
#view .home-refresh169{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;font-size:22px;line-height:1}
.life-phone138 #view .home-title169{gap:8px}

/* Compact Home Connections controls share one row on phones. */
.home-connections-count175{display:none}
.life-phone138 #view .home-connections-card .home-section-head{flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px}
.life-phone138 #view .home-connections-card .home-connections-title175{display:none}
.life-phone138 #view .home-connections-card .home-section-head>.btn{flex:0 0 auto;white-space:nowrap;font-size:12px}
.life-phone138 #view .home-connections-count175{display:inline}
@media(max-width:359px){.life-phone138 #view .home-connections-card .home-section-head>.btn{font-size:11px}}

/* Match the Frequency field while allowing each weekday to be selected directly. */
.recurring-frequency-field179{align-self:start}
.recurring-weekdays179{display:grid;gap:0;border:1px solid var(--line);border-radius:9px;background:var(--white);padding:4px}
.recurring-weekdays179>label{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:6px;cursor:pointer;font-weight:400}
.recurring-weekdays179>label:has(input:checked){background:var(--life-surface-eff6ff,#eff6ff);color:var(--navy)}
.recurring-weekdays179 input{width:18px;height:18px;padding:0;accent-color:var(--royal)}
.recurring-weekdays179>label:focus-within{outline:2px solid var(--royal);outline-offset:-2px}
