.ring{transition:--p 1.2s ease}
@property --p{syntax:"<number>";inherits:false;initial-value:0}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.identity-mark svg,.heading-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#main-nav .nav-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 20px}
#main-nav button .nav-icon{color:#81908c}
#main-nav button.active .nav-icon{color:var(--green)}
.tree-row{
  grid-template-columns:44px minmax(220px,.9fr) minmax(280px,1.25fr) auto;
  gap:10px;
  margin-left:calc(var(--level-indent)*24px);
  width:calc(100% - var(--level-indent)*24px);
}
.tree-row[data-depth]:before{left:-12px;top:-1px;bottom:-1px;border-left-color:#c7d4cf}
.tree-row[data-depth]:after{content:"";position:absolute;left:-15px;top:50%;width:5px;height:5px;border:0;border-radius:50%;background:#739b92;box-shadow:0 0 0 2px #fff;transform:translateY(-50%);z-index:1}
.tree-row[data-has-children="true"]{cursor:pointer}
.tree-row[data-has-children="true"]:hover{background:#fafcfb}
.tree-row[data-has-children="true"]:focus{outline:2px solid #aac7be;outline-offset:-2px}
.guide small{display:block;color:#9aa5a2}
.tree-row.emphasized,.task-card.emphasized,.today-task.emphasized{border-color:transparent;background:#faead8}
.emphasized button:not(.ring),.emphasized input,.emphasized .process-preview{background:#fff;border-color:#ead8c3;color:#67584a}
.emphasized .ring{background:conic-gradient(#d9a168 calc(var(--p)*1%),#f1ebe4 0);color:#8d6742}
.emphasis-chip{background:#fff;color:#956737;border-color:#d89a55}
.chip.high{background:#fff7ed;color:#9b5f20;border:1px solid #d89a55;box-shadow:0 1px 3px rgba(174,104,33,.08)}
.goal-card[data-has-children="true"]{cursor:pointer}.goal-card[data-has-children="true"]:hover{border-color:#d2ded9}.goal-card[data-has-children="true"]:focus{outline:2px solid #aac7be;outline-offset:-2px}.goal-child-panel{grid-column:1/-1;margin:2px -20px -18px;border-top:1px solid #edf0ec;background:#fff}.goal-child-panel .task-tree{padding-top:5px}
.today-check{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--green-dark);white-space:nowrap}
.today-check input{width:19px;height:19px;accent-color:var(--green)}
.today-task.acted{background:#f1f2ef;border-color:#dfe2de;box-shadow:none}
.today-task.acted .task-main h3{text-decoration:line-through;text-decoration-color:#9bb4ad;color:#63736f}
.state-explainer{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.state-item{border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px 14px}
.state-item b{display:block;font-size:14px;margin-bottom:4px}
.state-item span{font-size:12px;color:#7d8a87;line-height:1.5}
.goal-create{display:flex;justify-content:flex-end;margin-bottom:14px}
.ring{aspect-ratio:1;min-width:52px;max-width:52px;padding:0;border:0;border-radius:50%;box-shadow:none}
.ring.small{min-width:42px;max-width:42px}
button.ring:hover{border:0;filter:brightness(.97)}
dialog input:not([type=checkbox]):not([type=radio]):not([type=range]),dialog textarea,dialog select{width:100%;border:1px solid #d8dfdb;border-radius:10px;padding:11px;background:#fff}
dialog:not(.drawer){max-height:calc(100vh - 24px);overflow:auto}
.task-edit-dialog{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 28px)}
.detail-context{margin:4px 0 0;color:#7d8a87;font-size:13px}
.task-name-emphasis-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:12px;align-items:end}
.emphasis-toggle{display:flex!important;align-items:center;gap:10px;height:43px;margin:13px 0 6px!important;padding:8px 11px;border:1px solid #d8dfdb;border-radius:10px;background:#fff;font-weight:400!important;cursor:pointer;transition:.16s ease}
.emphasis-toggle input{width:18px;height:18px;margin:0;accent-color:#ed9b36}
.emphasis-toggle span{font-size:13px;font-weight:700;white-space:nowrap}
.emphasis-toggle:has(input:checked){border-color:#efb15f;background:#fff3df;color:#b85f00;box-shadow:0 0 0 2px rgba(239,177,95,.16)}
.history-module>h3{margin:0 0 10px}.history-compose textarea{grid-column:1;grid-row:1;min-height:76px}.history-next-preview{grid-column:1;grid-row:2;margin:0;padding:2px 4px;font-size:13px}.history-compose button{grid-column:2;grid-row:1/3;min-width:66px}
@media(max-width:620px){.task-name-emphasis-row{grid-template-columns:1fr}.emphasis-toggle{margin-top:2px!important}.history-compose textarea{grid-column:1/-1}.history-next-preview{grid-column:1/-1;grid-row:2}.history-compose button{grid-column:1/-1;grid-row:3}}
.detail-grid label{min-width:0}.detail-grid label>input,.detail-grid label>select{display:block;margin-top:6px}
dialog input[readonly]{background:#f3f5f3;color:#697672}
.process-preview{display:block;width:100%;margin-top:5px;padding:6px 8px;border:1px solid #e3e8e5;border-radius:8px;background:#f8faf9;color:#71817e;text-align:left;font-size:12px}
.process-preview:hover{background:#eef5f2;border-color:#ccddd7}
.progress-editor{display:grid;grid-template-columns:minmax(0,1fr) 82px 20px;gap:10px;align-items:center;margin:20px 0}.progress-editor input[type=range]{width:100%;accent-color:var(--green)}
.execution-btn.done{background:#e5e7e3;border-color:#d7dad5;color:#64706d}
.row-actions button,.today-task .buttons button{min-height:34px}
.paused-box{display:block;margin-top:20px}.paused-box summary{padding:10px 4px;font-weight:700}.paused-box .task-list{margin-top:8px}
.goal-card[hidden],#goal-filter-empty[hidden]{display:none!important}
.selection-strip button{background:#fff;color:#315f5a;border-color:#d5e3df;font-weight:650}
.selection-strip .selection-primary{background:#e8f3ef;color:#234f4a;border-color:#e8f3ef}
.selection-strip{flex-wrap:wrap}
.auth-demo-link{justify-self:center;color:#7d8a86;font-size:13px;text-decoration:none;padding:6px 10px}
.auth-demo-link:hover,.auth-demo-link:focus-visible{color:#315f5a;text-decoration:underline}
.selection-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:0 0 100%;width:100%;min-width:0}
.selection-actions>button{width:100%;min-width:0;min-height:44px;padding:9px 10px;line-height:1.4;white-space:normal}
.row-actions,.goal-actions,.completed-item-actions,.trash-actions{justify-self:end;justify-content:flex-end}
.today-added{background:#f1f3f1!important;color:#7a8682!important}
.tree-title-line{display:flex;align-items:center;gap:8px;min-width:0}
.tree-title-line h3{min-width:0}
.execution-chip{flex:0 0 auto;border-radius:999px;padding:3px 7px;background:#f1f3f2;color:#7a8682;font-size:11px;font-weight:500}
.execution-chip.ready{background:#e7f3ee;color:#397166}
.execution-chip.today{background:#ece9e2;color:#746b5f}
.tree-row.selected{background:#f1f8f5;box-shadow:inset 3px 0 #5d968a}
.goal-selection{margin:0 0 14px}
.task-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;min-width:46px;height:46px;min-height:46px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#285e54;cursor:pointer;user-select:none;box-shadow:none;transition:transform .16s}
.task-picker:hover{background:transparent;box-shadow:none}
.task-picker:active{transform:scale(.98)}
.task-picker:has(input:focus-visible){outline:3px solid rgba(65,124,113,.24);outline-offset:2px}
.task-picker input[type=checkbox]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}
.picker-box,.picker-text{pointer-events:none}
.picker-box{width:25px;height:25px;display:grid;place-items:center;border:2px solid #4d8177;border-radius:7px;background:#fff;transition:background .16s,border-color .16s,box-shadow .16s}
.task-picker:hover .picker-box{border-color:#356f65;box-shadow:0 0 0 4px rgba(63,120,110,.1)}
.task-picker input:checked+.picker-box{border-color:#3f786e;background:#3f786e;color:#fff}
.task-picker input:checked+.picker-box:after{content:"✓";font-size:17px;font-weight:900;line-height:1}
.task-picker:has(input:checked){background:transparent;color:#fff;box-shadow:none}
.candidate-picker{min-width:46px}
.task-card{grid-template-columns:42px minmax(0,1fr) auto}
.child-add-row{margin-left:calc((var(--child-depth) + 1)*24px);padding:7px 18px 11px 54px}
.child-add-row button{border:0;background:#eef5f2;color:#356d63;padding:9px 13px;border-radius:10px;font-weight:700}
.child-add-row button:hover{background:#e2eee9}
.child-add-row small{margin-left:5px;color:#84928e;font-weight:400}
.detail-block{margin:0 0 12px;padding:14px;border-radius:14px}
.detail-block>h3{margin:0 0 11px;font-size:14px;color:#50615c}
.detail-block-main{background:#fafbf9;border:1px solid #e7ebe8}
.detail-block-status{background:#edf6f1;border:1px solid #d7e7df}
.detail-block-schedule{background:#f6f3eb;border:1px solid #e9e1cf}
.detail-block-options{background:#f7f8f7;border:1px solid #e6e9e7}
.detail-block-history{background:#f5f7f6;border:1px solid #e5e9e7}
.detail-block label:last-child{margin-bottom:0}
.progress-completion-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.3fr);gap:12px;align-items:end}
.progress-completion-row .finish-control{margin:13px 0 6px}
.progress-completion-row .finish-control>button{width:100%;height:43px}
.schedule-top{align-items:start}
.schedule-top .recurrence-controls{margin-top:0}
.schedule-top .recurrence-controls>label{margin-top:13px}
.schedule-dates{margin-top:2px}
.history-compose{margin:8px 0 4px}
.history-module{margin-top:14px;padding:12px;border-radius:14px;background:#f2f7f5;border:1px solid #dce9e4}
.history-module .history-compose{margin:0}
.history-module .history-list{margin-top:12px}
.history-module .history-card{background:rgba(255,255,255,.72);border-color:#bcd6cd}
.history-empty{padding:18px;text-align:center;color:#83918d}
.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.settings-card h2{margin:0 0 6px;font-size:17px}.settings-card>p{margin:0 0 15px;color:var(--muted);font-size:13px;line-height:1.6}.settings-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.45fr) auto;gap:8px}.settings-form.single{grid-template-columns:minmax(0,1fr) auto}.settings-form input{min-width:0;border:1px solid #d8dfdb;border-radius:10px;padding:10px;background:#fff}.setting-list{display:grid;gap:7px;margin-top:14px}.setting-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f7f9f7;border-radius:10px;padding:10px 12px}.setting-item code{color:var(--green-dark)}.fixed-fields{display:grid;gap:8px}.fixed-field{border:1px solid #e4e8e4;border-radius:10px;padding:11px}.fixed-field b{font-size:14px}.fixed-field span{display:block;margin-top:3px;color:#87938f;font-size:12px}
.setting-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.5fr) auto auto}.setting-edit input{min-width:0;border:1px solid #d8dfdb;border-radius:9px;padding:8px;background:#fff}
.goal-tools{display:flex;align-items:center;gap:9px;margin-bottom:14px}.goal-tools input,.goal-tools select{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px}.goal-tools input{min-width:260px}.goal-tools .spacer{flex:1}
.paused-goals-toggle{display:inline-flex;align-items:center;gap:6px;min-width:48px;justify-content:center;color:#697b76;background:#fff}
.paused-goals-toggle svg,.attention-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.paused-goals-toggle.active{color:var(--green-dark);border-color:#9bbdb4;background:#f3f9f7}
.goal-card.attention-paused{opacity:.66;box-shadow:none;background:#fafafa}
.goal-card.attention-paused .goal-child-panel{background:#fafafa}
.paused-chip{background:#f1f1ef;color:#858b88}
.attention-toggle{display:inline-flex;align-items:center;gap:7px;color:#a47716;border-color:#ead38c;background:#fff9dd}
.attention-toggle.is-paused{color:#3f7771;border-color:#b8d5cc;background:#f0faf6}
.page-heading{align-items:center;margin:4px 0 18px}
.page-heading>div:last-child{display:flex;align-items:center}
.page-heading h1{line-height:1.2}
.today-intro.today-intro-clean{grid-template-columns:minmax(0,1fr)}
.settings-card>h2{margin-bottom:14px}
.reflection h3{margin-bottom:10px}
.recurrence-controls{margin-top:10px}.weekday-picker{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:9px 0}.weekday-picker>span{color:#71817e;font-size:13px;margin-right:4px}.weekday-picker label{margin:0!important;font-weight:400!important}.weekday-picker input{position:absolute;opacity:0;pointer-events:none}.weekday-picker label span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d8dfdb;border-radius:50%;background:#fff}.weekday-picker input:checked+span{background:var(--green);border-color:var(--green);color:#fff}.interval-field{max-width:220px}.recurrence-controls [hidden],#quick-recurrence-fields [hidden]{display:none!important}
.quick-checks{display:flex;gap:18px;flex-wrap:wrap}.inline-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:14px}.inline-record textarea{grid-column:1/-1}.inline-record input{min-width:0}.inline-record button{align-self:stretch}.day-cell[data-calendar-day]{cursor:pointer}.day-cell[data-calendar-day]:hover{background:#f5faf7}
.recurrence-preview{margin:7px 0 0!important;color:#9aa4a1!important;font-size:12px!important;line-height:1.6;font-weight:400!important}.quick-interval{margin-top:8px}.quick-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.quick-footer button{width:100%;min-height:44px}
.history-list{display:grid;gap:10px;margin-top:18px}.history-card{border-left:3px solid var(--mint);background:#fafbf9;border-radius:0 12px 12px 0;padding:13px 15px}.history-card header{display:flex;justify-content:space-between;gap:12px}.history-card time{color:#899692;font-size:12px}.history-card p{margin:7px 0}.history-card .log-next{margin-top:5px}
.focus-day-list{display:grid;gap:1px;margin:0 0 12px;border:1px solid #e4e9e6;border-radius:11px;overflow:hidden}.focus-day-list div{display:flex;justify-content:space-between;gap:20px;padding:9px 12px;background:#fafbf9;font-size:13px}.focus-day-list b{font-family:ui-monospace,Consolas,monospace;color:var(--green-dark)}
.detail-actions .spacer{flex:1}
.focus-card{position:relative;transform-origin:top left;background:#edf5f2;border-color:#c8d8d3}.focus-card.focus-enter{animation:focus-link .85s ease both}.focus-timer{position:absolute;right:16px;top:14px;min-width:218px;height:54px;display:flex;align-items:center;justify-content:center;gap:13px;padding:0 16px;border:2px solid #aeb7b3;border-radius:11px;background:#fff;color:#244f49;box-shadow:none;font-family:ui-monospace,Consolas,monospace}.focus-timer strong{font-size:25px;font-weight:850;line-height:1;letter-spacing:.4px}.focus-timer span{display:flex;flex-direction:column;color:#77837f;font-size:11px;font-weight:700;line-height:1.2}.focus-timer b{color:#3f625c;font-size:14px;font-weight:800}@keyframes focus-link{0%{transform:scale(1);opacity:1}35%{transform:scale(.72);opacity:.15}60%{transform:scale(.72);opacity:0}100%{transform:scale(1);opacity:1}}
.focus-card .focus-next{display:block;width:fit-content;max-width:min(680px,100%);border:2px solid #b3bab7;background:#fff}
.time-message{width:fit-content;max-width:min(620px,100%);margin-top:10px;padding:9px 11px;border:3px solid #aeb4b1;border-radius:9px;background:#fff;color:#606a67;font-size:12px;line-height:1.55}
@media(max-width:700px){.focus-timer{position:static;width:fit-content;min-width:190px;height:50px;margin:0 0 12px}.focus-card .focus-next,.time-message{max-width:100%}}
.duration-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.duration-summary div{padding:12px;border-radius:11px;background:#f4f7f5}.duration-summary strong{display:block;font-size:20px;color:var(--green-dark)}.duration-summary span{font-size:12px;color:#7e8b87}
.completed-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.completed-stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;text-align:center}.completed-stat strong{display:block;font:500 30px Georgia,serif;color:var(--green)}.completed-stat span{font-size:13px;color:#7f8d89}.completed-day{margin:0 0 18px}.completed-day h2{font-size:14px;color:#61716d;margin:0 0 8px}.completed-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin-bottom:7px}.completed-item h3{margin:0 0 4px;font-size:15px}.completed-item p{margin:0;color:#8b9793;font-size:12px}.completed-item .done-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e4f2e7;color:#39804b;font-size:20px}.positive-note{padding:14px 16px;border-radius:13px;background:#f9f3e5;color:#756a57;line-height:1.6;margin-bottom:18px}
.completed-item-actions{display:flex;gap:7px;align-items:center}.completed-item-actions button{padding:7px 10px}
.danger-action,.quiet-delete{background:#f5f3f0;border-color:#ddd8d2;color:#716a63;font-weight:600}.danger-action:hover,.quiet-delete:hover{background:#ece8e3}
.task-detail-actions{align-items:center}.completion-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 16px;padding:11px 12px;border:1px solid #e5eae7;border-radius:12px;background:#f8faf8;transition:background .2s,border-color .2s,box-shadow .2s}.completion-panel>div{display:grid;gap:3px}.completion-panel b{font-size:13px;color:#52615d}.completion-panel small{color:#929997;font-size:11px;line-height:1.35}.completion-panel.finish-ready{background:#f0f7f2;border-color:#b7d0c0;box-shadow:0 3px 14px rgba(82,137,105,.08)}.finish-action{background:#fff;border-color:#d8dfdb;color:#6f7c78;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}.finish-action.finish-ready{background:#e6f1ea;border-color:#85ad97;color:#2f6c50;box-shadow:0 0 0 3px rgba(82,137,105,.1);font-weight:700}
@media(max-width:1180px){
  .tree-row{grid-template-columns:42px minmax(150px,.7fr) minmax(180px,1fr) auto;gap:7px}
}
@media(max-width:900px){
  .tree-row{grid-template-columns:42px minmax(0,1fr) auto}
  .tree-row .guide{grid-column:2/-1}.tree-row .row-actions{grid-column:3;grid-row:1}
  .state-explainer{grid-template-columns:1fr}
  .settings-layout{grid-template-columns:1fr}
  .completed-stats{grid-template-columns:1fr}
}
@media(max-width:620px){
  .tree-row{grid-template-columns:40px minmax(0,1fr);gap:7px;margin-left:calc(var(--level-indent)*18px);width:calc(100% - var(--level-indent)*18px)}
  .tree-row .guide,.tree-row .row-actions{grid-column:2}.tree-row .row-actions{grid-row:auto}
  .task-card{grid-template-columns:minmax(0,1fr)}
  .task-card .task-main{grid-column:1}
  .task-card .row-actions{grid-column:1;grid-row:auto;justify-content:flex-end;flex-wrap:wrap}
  .child-add-row{margin-left:calc((var(--child-depth) + 1)*18px);padding-left:48px}
  .goal-child-panel{margin:2px -15px -15px}
  .goal-actions button:first-child,.task-card .row-actions button[data-detail]{display:inline-flex}
  .settings-form{grid-template-columns:1fr}.settings-form.single{grid-template-columns:1fr}
  .setting-edit{grid-template-columns:1fr 1fr}.goal-tools{flex-wrap:wrap}.goal-tools input{width:100%;min-width:0}.goal-tools .spacer{display:none}
  .task-detail-actions{display:grid;grid-template-columns:1fr 1fr}.task-detail-actions .spacer{display:none}.task-detail-actions>button[type=submit]{grid-column:2}.completion-panel{align-items:stretch;flex-direction:column}.completion-panel button{width:100%}
}
@media(max-width:620px){.tree-row .row-actions{flex-wrap:wrap;white-space:normal}.tree-row .row-actions button{flex:0 1 auto}}
@media(max-width:620px){.progress-completion-row{grid-template-columns:1fr}.progress-completion-row .finish-control{margin-top:4px}}

/* Task tree: fixed columns keep every title aligned; level is shown by a compact color tag. */
.tree-row{
  grid-template-columns:36px 48px 44px minmax(210px,.82fr) minmax(280px,1.18fr) auto;
  gap:10px;
  margin-left:0;
  width:100%;
  padding-left:14px;
  padding-right:14px;
}
.tree-row[data-depth]:before,.tree-row[data-depth]:after{content:none;display:none}
.level-tag{display:inline-grid;place-items:center;width:48px;height:26px;border-radius:999px;background:#e7f2ee;color:#356f65;font-size:11px;font-weight:750;letter-spacing:.02em}
.level-tag.level-3{background:#edf0f7;color:#63708e}
.level-tag.level-4,.level-tag.level-5,.level-tag.level-6{background:#f3eee7;color:#7d6c58}
.icon-button{display:inline-grid;place-items:center;width:38px;min-width:38px;height:38px;min-height:38px!important;padding:0!important;border-radius:10px}
.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.row-add-peer{opacity:0;pointer-events:none;border-color:transparent;background:transparent;color:#477b72;transition:opacity .14s,background .14s,border-color .14s,transform .14s}
.tree-row:hover .row-add-peer,.tree-row:focus-within .row-add-peer,.row-add-peer:focus-visible{opacity:1;pointer-events:auto}
.row-add-peer:hover{background:#eaf4f0;border-color:#ccdfd8;transform:scale(1.04)}
.drag-handle{cursor:grab;touch-action:none;color:#6f7e7a;background:#fff}
.drag-handle:active,body.is-reordering .drag-handle{cursor:grabbing}
.tree-row.dragging{opacity:.48;background:#f4f8f6}
.tree-row.reorder-before{box-shadow:inset 0 3px #4c8479}
.tree-row.reorder-after{box-shadow:inset 0 -3px #4c8479}
body.is-reordering{cursor:grabbing;user-select:none}
.row-actions{align-items:center}
.goal-actions .icon-button{display:inline-grid}

@media(hover:none){.row-add-peer{opacity:1;pointer-events:auto}}
@media(max-width:1180px){
  .tree-row{grid-template-columns:36px 48px 42px minmax(0,1fr) auto;gap:8px}
  .tree-row .guide{grid-column:4/-1;grid-row:2}
  .tree-row .row-actions{grid-column:5;grid-row:1}
}
@media(max-width:620px){
  .tree-row{grid-template-columns:36px 48px minmax(0,1fr);gap:8px;margin-left:0;width:100%;padding:12px 10px}
  .tree-row>.row-add-peer{grid-column:1;grid-row:1}
  .tree-row>.level-tag{grid-column:2;grid-row:1}
  .tree-row>.ring{grid-column:2;grid-row:2}
  .tree-row>.tree-main{grid-column:3;grid-row:1}
  .tree-row>.guide{grid-column:3;grid-row:2}
  .tree-row>.row-actions{grid-column:3;grid-row:3;justify-content:flex-end;flex-wrap:nowrap}
  .goal-actions button:first-child,.task-card .row-actions button[data-detail]{display:inline-grid}
}

/* Outline-style task controls: drag at the leading edge, edit/add/select at the trailing edge. */
.tree-row{grid-template-columns:36px 44px minmax(210px,.82fr) minmax(280px,1.18fr) auto}
.row-add-action{background:#f5faf8;color:#356f65;border-color:#c9ddd6}
.row-add-action:hover{background:#e8f3ef;border-color:#9ebfb6}
.tree-row.reorder-inside{box-shadow:inset 4px 0 #4c8479;background:#eef7f3}
.tree-row.reorder-outdent{box-shadow:inset -4px 0 #9a7750;background:#f8f3eb}
@media(max-width:1180px){
  .tree-row{grid-template-columns:36px 42px minmax(0,1fr) auto}
  .tree-row .guide{grid-column:3/-1;grid-row:2}
  .tree-row .row-actions{grid-column:4;grid-row:1}
}
@media(max-width:620px){
  .tree-row{grid-template-columns:36px 42px minmax(0,1fr)}
  .tree-row>.ring{grid-column:2;grid-row:1}
  .tree-row>.tree-main{grid-column:3;grid-row:1}
  .tree-row>.guide{grid-column:3;grid-row:2}
  .tree-row>.row-actions{grid-column:3;grid-row:3}
}

/* Task-field settings are real configuration, while system fields read as status rows. */
.task-field-settings{grid-column:1/-1}
.fixed-fields{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:15px}
.fixed-field{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:#f4f7f5;padding:12px 13px}
.fixed-field span{display:inline;margin:0;color:#6f847d;font-size:11px;white-space:nowrap}
.custom-field-form{display:grid;grid-template-columns:minmax(180px,1fr) 130px auto;gap:8px;align-items:center;padding-top:14px;border-top:1px solid #e8ece9}
.custom-field-form input,.custom-field-form select{min-width:0;border:1px solid #d8dfdb;border-radius:10px;padding:10px;background:#fff}
.custom-field-empty{margin:11px 0 0!important;color:#98a29f!important;font-size:12px!important}
.detail-block-custom{background:#f2f5fa;border:1px solid #e0e6ef}
.custom-field-grid:empty{display:none}
@media(max-width:900px){.fixed-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.fixed-fields,.custom-field-form{grid-template-columns:1fr}.task-field-settings{grid-column:auto}.custom-field-form button{width:100%}}

/* Every row keeps the same trailing control grid, including completed tasks. */
.task-picker-disabled{background:transparent;color:#9aa29f;box-shadow:none;cursor:not-allowed}
.task-picker-disabled input{cursor:not-allowed}
.task-picker-disabled .picker-box,.task-picker-disabled:hover .picker-box{border-color:#c4cac7;background:#f8f9f8;color:#fff;box-shadow:none}
.task-picker-disabled:has(input:checked){background:transparent;color:#929a97;box-shadow:none}
.task-picker-disabled input:checked+.picker-box{border-color:#c4cac7;background:#c4cac7;color:#fff}
.task-picker-notice{cursor:pointer;opacity:1}
.task-picker-notice input{pointer-events:none}
.task-picker-notice:hover .picker-box,.task-picker-notice:focus-visible .picker-box{border-color:#7fa99f;box-shadow:0 0 0 3px rgba(63,125,115,.12)}
.tree-row.task-done,.tree-row.task-done.emphasized{background:#fafafa!important;border-color:#eef0ef;box-shadow:none!important;padding-top:5px;padding-bottom:5px}
.tree-row.task-done .tree-main h3,.tree-row.task-done .tree-main p,.tree-row.task-done .guide,.tree-row.task-done .next-step,.tree-row.task-done .next-step:before{color:#a5aba9!important}
.tree-row.task-done .execution-chip{background:#f0f1f0!important;color:#a0a6a4!important}
.tree-row.task-done .process-preview{background:#f7f8f7!important;border-color:#e7e9e8!important;color:#a5aba9!important}
.tree-row.task-done .ring{background:conic-gradient(#bfc5c3 calc(var(--p)*1%),#eceeed 0)!important;color:#969e9b!important}
.tree-row.task-done .icon-button{background:#f8f9f8!important;border-color:#e2e6e4!important;color:#9ca4a1!important}
.goal-card.goal-done{background:#fafafa;color:#a5aba9;box-shadow:none}
.goal-card.goal-done h2,.goal-card.goal-done .outcome,.goal-card.goal-done .dates{color:#a5aba9}
.goal-card.goal-done .ring{background:conic-gradient(#bfc5c3 calc(var(--p)*1%),#eceeed 0)!important;color:#969e9b!important}
.tree-row>.row-actions{grid-column:5;grid-row:1;justify-self:end}
.task-picker{width:38px;min-width:38px;height:38px;min-height:38px}
.task-picker input[type=checkbox]{inset:-4px;width:46px;height:46px}
.picker-box{width:38px;height:38px;border-radius:10px}
.task-drag-ghost{position:fixed!important;z-index:1000;display:grid;grid-template-columns:36px 44px minmax(210px,.82fr) minmax(280px,1.18fr) auto;gap:10px;align-items:center;margin:0!important;max-width:calc(100vw - 16px);padding:8px 14px!important;border:1px solid #a9c2bb!important;border-radius:12px;background:#fff!important;box-shadow:0 16px 40px rgba(35,65,59,.2)!important;opacity:.92;pointer-events:none;overflow:hidden}
.tree-row.dragging-descendant{opacity:.3}
.tree-row.reorder-before:before,.tree-row.reorder-after:before{content:""!important;display:block!important;position:absolute;left:54px;right:10px;height:2px;border:0;background:#4c8479;z-index:6}
.tree-row.reorder-before:before{top:-1px}.tree-row.reorder-after:before{top:auto;bottom:-1px}
.tree-row.reorder-before:after,.tree-row.reorder-after:after{content:""!important;display:block!important;position:absolute;left:48px;width:9px;height:9px;border:2px solid #4c8479;border-radius:50%;background:#fff;padding:0;box-shadow:none;z-index:7}
.tree-row.reorder-before:after{top:-5px}.tree-row.reorder-after:after{top:auto;bottom:-5px}
@media(max-width:1180px){.tree-row>.row-actions{grid-column:4;grid-row:1}.task-drag-ghost{grid-template-columns:36px 42px minmax(0,1fr) auto}.task-drag-ghost .guide{display:none}}
@media(max-width:620px){.tree-row>.row-actions{grid-column:3;grid-row:3}.tree-row.task-done>.row-actions{grid-column:3;grid-row:2;margin-top:-3px}.task-drag-ghost{grid-template-columns:36px 42px minmax(0,1fr);max-width:calc(100vw - 24px)}.task-drag-ghost .row-actions{display:none}}


/* Guide rails indent by level while every task row keeps the same content columns. */
.task-tree{--tree-guide-end:58px;--tree-guide-color:#93aaa4}
.task-guide-branch{position:relative;--branch-guide-x:54px}
.task-guide-branch[data-guide-level="0"]{--branch-guide-x:18px}
.task-guide-branch[data-guide-level="1"]{--branch-guide-x:30px}
.task-guide-branch[data-guide-level="2"]{--branch-guide-x:42px}
.tree-row{--row-guide-x:54px}
.tree-row[data-guide-level="1"]{--row-guide-x:30px}
.tree-row[data-guide-level="2"]{--row-guide-x:42px}
.tree-row.guide-origin:not(.reorder-before):not(.reorder-after)::after{content:"";display:block;position:absolute;left:calc(var(--row-guide-x) - 4px);top:calc(50% - 4px);width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--tree-guide-color);box-shadow:0 0 0 3px #fff;z-index:4}
.task-guide-branch>.tree-row:not(.reorder-before):not(.reorder-after)::before{content:"";display:block;position:absolute;left:var(--branch-guide-x);top:-50%;width:max(4px,calc(var(--tree-guide-end) - var(--branch-guide-x)));height:100%;border:0;border-left:2px dashed var(--tree-guide-color);border-bottom:2px dashed var(--tree-guide-color);border-bottom-left-radius:13px;background:transparent;z-index:2;pointer-events:none}
.task-guide-branch>.task-guide-branch+.tree-row:not(.reorder-before):not(.reorder-after)::before{top:0;height:50%}

.task-guide-branch>.tree-row>*{position:relative;z-index:3}
@media(max-width:620px){
  .task-tree{--tree-guide-end:46px}
  .task-guide-branch{--branch-guide-x:42px}
  .task-guide-branch[data-guide-level="0"]{--branch-guide-x:14px}
  .task-guide-branch[data-guide-level="1"]{--branch-guide-x:24px}
  .task-guide-branch[data-guide-level="2"]{--branch-guide-x:34px}
  .tree-row{--row-guide-x:42px}
  .tree-row[data-guide-level="1"]{--row-guide-x:24px}
  .tree-row[data-guide-level="2"]{--row-guide-x:34px}
}

/* Rows drag from a deliberate long press; the former grip column stays as the guide rail. */
.tree-row>.ring{grid-column:2;grid-row:1}
.tree-row>.tree-main{grid-column:3;grid-row:1}
.tree-row>.guide{grid-column:4;grid-row:1}
.tree-row>.row-actions{grid-column:5;grid-row:1}
.tree-row[data-task]{touch-action:pan-y}
.tree-row.dragging{cursor:grabbing}
@media(max-width:1180px){.tree-row>.ring{grid-column:2}.tree-row>.tree-main{grid-column:3}.tree-row>.guide{grid-column:3/-1;grid-row:2}.tree-row>.row-actions{grid-column:4;grid-row:1}}
@media(max-width:620px){.tree-row>.ring{grid-column:2;grid-row:1}.tree-row>.tree-main{grid-column:3;grid-row:1}.tree-row>.guide{grid-column:3;grid-row:2}.tree-row>.row-actions{grid-column:3;grid-row:3}}


/* Unified guide branches, card corners, separators and drag ghost alignment. */
.goal-card{overflow:hidden}
.goal-child-panel{position:relative;border-radius:0 0 17px 17px}

.tree-row,.tree-row:last-child{border-bottom:1px solid #e7ece9}
.tree-row.guide-origin.guide-closing::after{opacity:0;transition:opacity .14s ease}
.task-guide-branch.guide-opening{animation:guide-branch-in .18s ease-out both}
.task-guide-branch.guide-closing,.goal-child-panel.guide-closing{animation:guide-branch-out .15s ease-in both;pointer-events:none}
@keyframes guide-branch-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes guide-branch-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}
.task-drag-ghost>.ring{grid-column:2;grid-row:1}
.task-drag-ghost>.tree-main{grid-column:3;grid-row:1}
.task-drag-ghost>.guide{grid-column:4;grid-row:1}
.task-drag-ghost>.row-actions{grid-column:5;grid-row:1;justify-self:end}
@media(max-width:1180px){.task-drag-ghost>.ring{grid-column:2}.task-drag-ghost>.tree-main{grid-column:3}.task-drag-ghost>.guide{grid-column:3/-1;grid-row:2}.task-drag-ghost>.row-actions{grid-column:4;grid-row:1}}
@media(max-width:620px){.goal-child-panel{border-radius:0 0 15px 15px}.task-drag-ghost>.ring{grid-column:2}.task-drag-ghost>.tree-main{grid-column:3}.task-drag-ghost>.guide{display:none}.task-drag-ghost>.row-actions{display:none}}
@media(prefers-reduced-motion:reduce){.task-guide-branch.guide-opening,.task-guide-branch.guide-closing,.goal-child-panel.guide-closing{animation:none}}

/* Product-styled calendar used by every date field. */
input[data-date-field]{cursor:pointer;background:#fff linear-gradient(90deg,transparent calc(100% - 38px),#f6f8f7 calc(100% - 38px));padding-right:42px!important}
.date-picker-dialog{width:min(340px,calc(100vw - 24px));padding:16px;border-radius:16px;overflow:visible}
.date-picker-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:12px}.date-picker-head h2{margin:0;text-align:center;font-size:17px}.date-picker-head button{width:38px;height:38px;padding:0;border-radius:10px;font-size:24px;line-height:1;color:var(--green-dark);background:#f4f8f6}
.date-picker-weekdays,.date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.date-picker-weekdays{margin-bottom:6px;color:#899692;font-size:12px;text-align:center}.date-picker-weekdays span{padding:5px 0}
.date-picker-days button,.date-picker-empty{aspect-ratio:1;min-width:0;padding:0;border:0;border-radius:10px;background:transparent;color:#344843;font-size:13px}.date-picker-days button:hover{background:#eef5f2}.date-picker-days button.today{box-shadow:inset 0 0 0 1px #75a298;color:var(--green-dark);font-weight:700}.date-picker-days button.selected{background:var(--green);color:#fff;font-weight:700;box-shadow:none}
.date-picker-actions{display:flex;justify-content:space-between;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.date-picker-actions button{padding:8px 13px}
#date-picker-dialog [hidden]{display:none!important}
#date-picker-title{display:flex;justify-content:center;align-items:center;min-width:0;gap:2px}
#date-picker-title button{width:auto;min-width:0;padding:0 3px;border:0;border-radius:6px;background:transparent;color:var(--green-dark);box-shadow:none;font-size:17px;font-weight:700;white-space:nowrap}
#date-picker-title button:hover,#date-picker-title button[aria-expanded=true]{background:var(--green-soft);color:var(--green-dark);box-shadow:none}
#date-picker-dialog .date-picker-days button{border-radius:8px}
#date-picker-dialog .date-picker-days button.today:not(.selected){box-shadow:inset 0 0 0 1px #75a298;color:var(--green-dark)}
#date-picker-dialog .date-picker-days button.selected,#date-picker-dialog .date-picker-days button.selected:hover,#date-picker-dialog .date-picker-periods button.selected,#date-picker-dialog .date-picker-periods button.selected:hover{background:var(--green);border-color:var(--green);color:#fff;box-shadow:none;font-weight:700}
#date-picker-period-label{margin:8px 0 14px;text-align:center;font-size:13px;color:var(--muted)}
.date-picker-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#date-picker-dialog .date-picker-periods button{height:44px;padding:0 4px;min-width:0;border-radius:8px;font-size:14px}
/* Sidebar spacing, account footer and recycle bin. */
.sidebar .identity{margin-bottom:22px;flex:0 0 auto}
#main-nav{min-height:0;overflow-y:auto;padding-bottom:12px}
.sidebar-foot{display:grid;gap:16px}.sidebar-stat{padding:0 2px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:12px;background:#f3f7f5;color:#324943}.sidebar-user>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dcece7;color:var(--green-dark);font-weight:800}.sidebar-user div{min-width:0;display:grid;gap:2px}.sidebar-user b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.sidebar-user small{margin:0!important;font-size:11px!important;color:#899692!important}
.trash-tools{display:flex;justify-content:flex-end;margin-bottom:12px}.trash-list{display:grid;gap:10px}.trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.trash-item h3{margin:0 0 5px;font-size:15px}.trash-item p{margin:0;color:#899692;font-size:12px}.trash-actions{display:flex;gap:8px}.trash-actions .danger-action{color:var(--danger);border-color:#efceca;background:#fff}
.account-card-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.account-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e5f1ed;color:var(--green-dark);font-weight:800}.account-card-head h2{margin:0 0 3px}.account-card-head p{margin:0;color:#899692;font-size:12px}.login-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.login-method{display:flex;align-items:center;justify-content:space-between;text-align:left}.login-method span{color:#899692;font-size:12px}.account-session{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border-radius:11px;background:#f4f8f6}.account-session p{margin:3px 0 0;color:#899692;font-size:12px}.account-session-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.account-session-actions button{min-height:38px}
@media(max-width:760px){.trash-item{grid-template-columns:1fr}.trash-actions{justify-content:flex-end}.login-methods{grid-template-columns:1fr}.account-session{align-items:stretch;flex-direction:column}.account-session-actions{justify-content:stretch}.account-session-actions button{flex:1 1 auto}}
@media(max-width:900px){.sidebar-foot{display:none}}
.account-form-grid{grid-template-columns:1fr}.account-form-grid label{display:grid;gap:7px}.account-settings{grid-column:1/-1}
/* Unified task-field configuration cards. */
.field-config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0 16px}
.field-config-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:11px 12px;border:1px solid #e3e9e6;border-radius:11px;background:#f5f8f6}
.field-config-item b{min-width:0;font-size:13px;line-height:1.25}
.field-system-check{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#4b847a;color:#fff;font-size:18px;font-weight:900;line-height:1;box-shadow:0 2px 7px rgba(63,119,113,.2)}
.field-config-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.field-type{color:#768982;font-size:11px;white-space:nowrap}
.field-delete{display:grid!important;place-items:center;width:24px!important;height:24px!important;min-width:24px;padding:0!important;border:0!important;border-radius:50%!important;background:#e65f59!important;color:#fff!important;font-size:21px!important;font-weight:800;line-height:1;box-shadow:0 2px 6px rgba(190,54,49,.2)}
.field-delete:hover{background:#cb4641!important;transform:translateY(-1px)}
.detail-grid.single-field{grid-template-columns:1fr}
@media(max-width:980px){.field-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.field-config-grid{grid-template-columns:1fr}.field-config-item{min-height:52px}}
/* Separate management navigation from daily work while keeping mobile horizontal navigation compact. */
#main-nav{display:flex;flex-direction:column;gap:0}
.nav-primary,.nav-management{display:grid;gap:5px}
.nav-management{margin-top:72px;padding-top:18px;border-top:1px solid #d9e1dd}
@media(max-width:900px){
  #main-nav{flex-direction:row;align-items:center;overflow-x:auto;overflow-y:hidden;padding-bottom:0}
  .nav-primary,.nav-management{display:flex;flex:0 0 auto;gap:4px}
  .nav-management{margin:0 0 0 14px;padding:0 0 0 14px;border-top:0;border-left:1px solid #d9e1dd}
}
@media(max-width:620px){
  .nav-management{margin-left:10px;padding-left:10px}
}
#quick-owner-field[hidden]{display:none!important}

/* Large borderless glass timer for the active focus session. */
.focus-card:has(.focus-timer){min-height:190px;padding-right:400px;overflow:hidden}
.focus-timer{right:20px;top:18px;min-width:350px;height:104px;gap:18px;padding:0 24px;border:0!important;border-radius:24px;background:rgba(255,255,255,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 16px 36px rgba(39,78,70,.12);-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%);font-variant-numeric:tabular-nums}
.focus-timer strong{font-size:60px;font-weight:850;letter-spacing:-2.5px;color:rgba(27,73,66,.86);text-shadow:0 1px 0 rgba(255,255,255,.7)}
.focus-timer span{gap:4px;color:rgba(70,96,90,.68);font-size:11px;font-weight:700;letter-spacing:.08em}
.focus-timer b{color:rgba(32,82,74,.82);font-size:18px;font-weight:800;letter-spacing:.02em}
@media(max-width:760px){
  .focus-card:has(.focus-timer){padding-right:20px;min-height:0}
  .focus-timer{position:static;width:100%;min-width:0;height:92px;margin:0 0 16px;justify-content:flex-start;border-radius:20px}
  .focus-timer strong{font-size:50px}
}
@media(max-width:420px){.focus-timer{height:84px;padding:0 18px;gap:13px}.focus-timer strong{font-size:42px}.focus-timer b{font-size:15px}}
/* One visual process composer with a fixed, accented next-step label. */
.history-compose{grid-template-columns:minmax(0,1fr) 72px;gap:9px;align-items:stretch}
.history-compose-box{grid-column:1;display:grid;overflow:hidden;border:2px solid #b8cec8;border-radius:12px;background:rgba(255,255,255,.78);transition:border-color .18s,box-shadow .18s}
.history-compose-box:focus-within{border-color:#6f9e94;box-shadow:0 0 0 3px rgba(79,132,121,.11)}
.history-compose-box textarea{grid-column:1!important;grid-row:auto!important;min-height:68px!important;margin:0!important;padding:12px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;resize:vertical}
.history-next-entry{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:0!important;padding:8px 12px!important;border-top:1px solid #e2e9e6;font-weight:400!important}
.history-next-entry span{color:#c46d17;font-size:13px;font-weight:850;white-space:nowrap}
.history-next-entry input{width:100%;min-width:0;margin:0!important;padding:2px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#365c55}
.history-next-entry input::placeholder{color:#94a09d}
.history-compose>button{grid-column:2;grid-row:1;min-width:72px}
@media(max-width:620px){.history-compose{grid-template-columns:1fr}.history-compose-box{grid-column:1}.history-compose>button{grid-column:1;grid-row:auto;min-height:44px}}
/* Harmonized glass system: stable canvas, translucent primary surfaces, readable nested controls. */
:root{--card:rgba(255,255,255,.62);--glass-surface:rgba(255,255,255,.58);--glass-strong:rgba(255,255,255,.74);--glass-line:rgba(255,255,255,.72);--glass-shadow:0 14px 34px rgba(44,75,68,.09)}
html,body{background:
  radial-gradient(circle at 13% 8%,rgba(199,225,216,.58),transparent 27%),
  radial-gradient(circle at 88% 20%,rgba(244,222,187,.48),transparent 30%),
  linear-gradient(145deg,#f2f4ef 0%,#f7f1e8 48%,#edf3ef 100%);
  background-attachment:fixed}
body.auth-pending .app-shell,body.auth-mode .app-shell,body.auth-pending #toast,body.auth-mode #toast{display:none}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,rgba(239,247,242,.88),rgba(255,247,235,.88))}
.auth-screen[hidden]{display:none}
.auth-card{width:min(420px,100%);padding:32px;border:1px solid rgba(185,208,202,.78);border-radius:18px;background:rgba(255,255,255,.76);box-shadow:0 22px 70px rgba(54,80,73,.11);-webkit-backdrop-filter:blur(22px) saturate(125%);backdrop-filter:blur(22px) saturate(125%)}
.auth-brand{display:grid;justify-items:center;text-align:center;margin-bottom:24px}
.auth-brand .identity-mark{width:46px;height:46px;border-radius:15px;margin-bottom:12px}
.auth-brand h1{margin:0 0 8px;font-size:28px;line-height:1.18;letter-spacing:0;color:#243533}
.auth-brand p{margin:0;color:#70807c;font-size:14px;line-height:1.55}.auth-brand .auth-kicker{margin:0 0 7px;color:#7c684e;font-size:14px;font-weight:800}
.auth-form{display:grid;gap:10px}
.auth-form label{display:grid;gap:8px;color:#536762;font-size:14px;font-weight:800}
.auth-form input{width:100%;height:48px;border:1px solid #d6dfdc;border-radius:10px;padding:0 13px;background:#fff;color:#243533}
.auth-form input::placeholder{color:#a4aba8}
.auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-label-row b{font:inherit}.auth-label-row small{font-size:11px;font-weight:650;color:#98a39f;white-space:nowrap}
.phone-input-row{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;border:1px solid #d6dfdc;border-radius:10px;background:#fff}
.phone-prefix{width:100%!important;height:46px!important;padding:0 0 0 13px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#243533;font-weight:850}
.phone-input-row input:not(.phone-prefix){border:0!important;border-radius:0!important;background:transparent!important}
.auth-code-link{justify-self:end;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0;color:#899692;font-size:13px;font-weight:800;text-decoration:none;line-height:1.2}
.auth-code-link:hover{color:#71807d}
.auth-agreement{display:flex!important;grid-template-columns:none!important;align-items:center;gap:7px!important;margin:-4px 0 1px;padding:0 2px;border-radius:0;background:transparent!important;font-size:11px!important;font-weight:600!important;color:#7d8b88!important}
.auth-agreement input{width:15px!important;height:15px;flex:0 0 auto;accent-color:var(--green);padding:0!important}
.auth-agreement button{display:inline!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#3f7771;font-size:inherit;font-weight:800;line-height:inherit;text-decoration:none}
.auth-agreement button:hover{color:#285d58}
.auth-form .primary{min-height:48px;margin-top:-4px;border-radius:10px;font-size:16px}
.policy-content{display:grid;gap:11px;color:#5f706d;font-size:14px;line-height:1.75}
.policy-content h3{margin:4px 0 0;color:#243533;font-size:15px}
.policy-content p{margin:0}
.policy-content ul{margin:0;padding-left:20px}
.sidebar{background:rgba(255,255,255,.54);-webkit-backdrop-filter:blur(24px) saturate(125%);backdrop-filter:blur(24px) saturate(125%);border-color:rgba(255,255,255,.72);box-shadow:8px 0 28px rgba(49,79,72,.05)}
.topbar{position:relative}
.goal-card,.project-group,.task-card,.today-task,.completed-item,.calendar-card,.settings-card,.reflection,.focus-card,.trash-item,.completed-stat,.history-module,.empty{background:var(--glass-surface);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px) saturate(122%);backdrop-filter:blur(18px) saturate(122%)}
dialog{background:rgba(250,252,250,.78);border:1px solid rgba(255,255,255,.82);-webkit-backdrop-filter:blur(26px) saturate(128%);backdrop-filter:blur(26px) saturate(128%)}
.project-head,.goal-child-panel,.day-cell,.summary-card,.setting-item,.account-session,.field-config-item,.duration-summary div,.history-card,.focus-day-list div{background:rgba(255,255,255,.46)}
button:not(.primary):not(.selection-primary),.date-switch,input[type=text],input[type=number],input[type=date],textarea,select{background-color:rgba(255,255,255,.68);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.process-preview{background:rgba(255,255,255,.48)}
.task-card,.today-task{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px 15px;border-radius:15px}
.task-card .task-main,.today-task .task-main{grid-column:2;grid-row:1}
.task-card .row-actions,.today-task .buttons{grid-column:3;grid-row:1;display:flex;align-items:center;gap:7px;justify-self:end}
.task-card .row-actions button,.today-task .buttons button{min-height:38px;padding:8px 11px;font-size:13px}
.task-card.emphasized,.today-task.emphasized,.tree-row.emphasized{background:rgba(250,229,204,.74)}
.today-task.acted{background:rgba(232,237,233,.63);border-color:rgba(255,255,255,.66)}
.tree-row{background:rgba(255,255,255,.24)}
.tree-row:hover{background:rgba(255,255,255,.46)}
.completed-item{border-radius:15px}
.ring:before{background:rgba(255,255,255,.9)}
.focus-card{background:rgba(225,240,235,.54);min-height:214px;padding:24px 480px 24px 24px}
.focus-card:has(.focus-timer){min-height:214px;padding-right:480px}
.focus-timer{top:12px;right:12px;bottom:12px;width:440px;min-width:440px;height:auto;padding:0 30px;border-radius:28px;background:rgba(255,255,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 20px 44px rgba(42,82,73,.13)}
.focus-timer strong{font-size:72px;letter-spacing:-3px}
.focus-timer b{font-size:20px}
@media(max-width:900px){
  .sidebar{background:rgba(255,255,255,.7);box-shadow:0 8px 22px rgba(45,76,69,.08)}
}
@media(max-width:760px){
  .focus-card,.focus-card:has(.focus-timer){padding:18px;min-height:0}
  .focus-timer{position:static;width:100%;min-width:0;height:112px;margin:0 0 18px;padding:0 22px;border-radius:24px}
  .focus-timer strong{font-size:58px}
  .task-card,.today-task{grid-template-columns:38px minmax(0,1fr);padding:13px 12px;gap:10px}
  .task-card .ring{display:grid}
  .task-card .task-main,.today-task .task-main{grid-column:2;grid-row:1}
  .task-card .row-actions,.today-task .buttons{grid-column:2;grid-row:2;justify-self:end;flex-wrap:wrap}
}
@media(max-width:420px){.focus-timer{height:100px}.focus-timer strong{font-size:49px}.task-card .row-actions button,.today-task .buttons button{padding:7px 9px}}
/* Focus is a seamless stage; only the timer keeps a glass plate. */
.focus-card{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding-left:10px}
@media(max-width:760px){.focus-card,.focus-card:has(.focus-timer){padding-left:4px;padding-right:4px}}

/* Clear focus split and higher-contrast controls. */
.focus-card,.focus-card:has(.focus-timer){min-height:214px;padding:12px 480px 12px 0;overflow:visible}
.focus-info{min-height:190px;padding:20px 22px;border:1px solid rgba(188,205,199,.9);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 10px 28px rgba(43,72,66,.09);-webkit-backdrop-filter:blur(14px) saturate(116%);backdrop-filter:blur(14px) saturate(116%)}
.focus-timer{top:12px;right:0;bottom:12px;width:440px;min-width:440px;height:auto;padding:0 30px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
button:not(.primary):not(.selection-primary):not(.prototype-bar button){background:#fff;border-color:#cbd7d3;color:#294f49;box-shadow:0 2px 7px rgba(42,72,65,.07);opacity:1}
button:not(.primary):not(.selection-primary):not(.prototype-bar button):hover{background:#f8fbfa;border-color:#9fbab3;box-shadow:0 4px 11px rgba(42,72,65,.1)}
.icon-button{background:#fff!important;border-color:#bfcfc9!important;color:#214d46!important;box-shadow:0 2px 7px rgba(42,72,65,.08)!important}
.icon-button svg{stroke-width:2}
.record-btn{background:#eef7f4!important;border-color:#aac8c0!important;color:#265c54!important;font-weight:700}
#main-nav button{background:rgba(255,255,255,.9);border:1px solid rgba(210,222,217,.92);color:#48615c;box-shadow:0 2px 8px rgba(43,72,66,.055)}
#main-nav button .nav-icon{color:#52776f;stroke-width:2}
#main-nav button:hover{background:#f8fbfa;border-color:#bfd0cb;color:#284f49}
#main-nav button.active{background:#e1ece8;border-color:#b8d0c9;color:#24554d;box-shadow:inset 3px 0 #4c8479,0 3px 9px rgba(43,72,66,.07)}
#main-nav button.active .nav-icon{color:#2d7065}
.task-card,.today-task,.task-card.emphasized,.today-task.emphasized{border:1px solid rgba(197,210,205,.86)!important;box-shadow:0 8px 22px rgba(43,72,66,.085)!important}
.task-card.emphasized,.today-task.emphasized{border-color:rgba(220,179,130,.65)!important}
.today-task.acted{box-shadow:0 8px 22px rgba(43,72,66,.07)!important}
.process-preview{background:#fff;border-color:#d5dfdb;color:#546963}
@media(max-width:760px){.focus-card,.focus-card:has(.focus-timer){padding:0;min-height:0}.focus-timer{position:static;width:100%;min-width:0;height:100px;margin:0 0 10px;padding:0 18px;justify-content:flex-start}.focus-info{min-height:0;padding:17px 16px}.task-card,.today-task,.task-card.emphasized,.today-task.emphasized{box-shadow:0 6px 17px rgba(43,72,66,.075)!important}}


/* Balanced focus panels and clearer circular section markers. */
.identity-mark,.heading-icon{border:1px solid rgba(151,188,178,.68);border-radius:50%;background:rgba(224,241,235,.92);color:#2f7468;box-shadow:0 5px 14px rgba(44,82,73,.12),inset 0 1px 0 rgba(255,255,255,.92)}
.identity-mark{width:43px;height:43px;flex:0 0 43px}
.heading-icon{width:47px;height:47px;flex:0 0 47px}
.identity-mark svg,.heading-icon svg{width:24px;height:24px;stroke-width:2.15;filter:drop-shadow(0 1px 0 rgba(255,255,255,.8))}
.focus-card:has(.focus-timer){display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;min-height:224px;padding:0;overflow:visible}
.focus-card:has(.focus-timer) .focus-info{min-height:224px;height:100%}
.focus-timer{position:static;width:auto;min-width:0;height:100%;min-height:224px;margin:0;padding:0 34px;border:1px solid rgba(255,255,255,.84)!important;border-radius:24px!important;background:rgba(255,255,255,.42)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 18px 42px rgba(42,82,73,.13)!important;-webkit-backdrop-filter:blur(19px) saturate(130%)!important;backdrop-filter:blur(19px) saturate(130%)!important}
.focus-timer strong{font-size:82px;letter-spacing:-4px;color:rgba(30,79,71,.76);background:linear-gradient(180deg,rgba(30,79,71,.9),rgba(30,79,71,.6));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.focus-timer b{color:rgba(31,82,74,.72)}
@media(max-width:900px){.focus-card:has(.focus-timer){grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}.focus-timer strong{font-size:68px}}
@media(max-width:760px){.identity-mark{width:40px;height:40px;flex-basis:40px}.heading-icon{width:43px;height:43px;flex-basis:43px}.focus-card:has(.focus-timer){display:grid;grid-template-columns:1fr;gap:10px;min-height:0}.focus-card:has(.focus-timer) .focus-info{min-height:0}.focus-timer{width:100%;height:118px;min-height:118px;margin:0;padding:0 20px}.focus-timer strong{font-size:58px}}
@media(max-width:420px){.focus-timer{height:104px;min-height:104px}.focus-timer strong{font-size:50px}}


/* Today and executable rows share the same icon-action grammar. */
.focus-card:has(.focus-timer) .focus-info{grid-column:1;grid-row:1}
.focus-card:has(.focus-timer) .focus-timer{grid-column:2;grid-row:1;height:auto;align-self:stretch}
.today-task .buttons .icon-button{width:40px;min-width:40px;height:40px;min-height:40px;padding:0}
.today-task .buttons .icon-button svg{width:19px;height:19px}
@media(max-width:760px){.focus-card:has(.focus-timer) .focus-timer{grid-column:1;grid-row:1}.focus-card:has(.focus-timer) .focus-info{grid-column:1;grid-row:2}.today-task .buttons .icon-button{width:38px;min-width:38px;height:38px;min-height:38px}}


/* Keep the two focus panels on the same grid-row height. */
.focus-card:has(.focus-timer){align-items:stretch}
.focus-card:has(.focus-timer) .focus-info,.focus-card:has(.focus-timer) .focus-timer{height:auto;align-self:stretch;box-sizing:border-box}


/* Restore the timer's original solid numeral treatment. */
.focus-timer strong{color:#2b655c;background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;opacity:1;text-shadow:none}
.focus-timer b{color:#356d64;opacity:1}


/* Equal desktop focus-panel widths. */
.focus-card:has(.focus-timer){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:760px){.focus-card:has(.focus-timer){grid-template-columns:1fr}}


/* Let focus and remove actions read as icons instead of framed buttons. */
.today-task .buttons .icon-button:not([data-detail]){border-color:transparent!important;border-radius:50%;background:transparent!important;box-shadow:none!important}
.today-task .buttons .icon-button:not([data-detail]) svg{width:38px;height:38px;stroke-width:1.6}
.today-task .buttons .icon-button:not([data-detail]):hover{border-color:transparent!important;background:rgba(71,126,115,.1)!important;box-shadow:none!important}


/* Center the primary timer and pin the secondary total to the top-right. */
.focus-timer{position:relative!important;justify-content:center}
button.focus-timer{cursor:pointer;touch-action:manipulation;text-align:center}
button.focus-timer:focus-visible{outline:2px solid #356d64;outline-offset:4px}
.focus-timer strong{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;white-space:nowrap}
.focus-timer span{position:absolute;top:20px;right:24px;display:flex;align-items:flex-end;gap:3px;font-family:ui-monospace,Consolas,monospace;font-size:12px;font-weight:700;line-height:1.15;letter-spacing:.04em;color:rgba(53,109,100,.46);text-align:right}
.focus-timer b{font-family:inherit;font-size:14px;font-weight:750;line-height:1.1;letter-spacing:.02em;color:rgba(53,109,100,.58)}
@media(max-width:760px){.focus-timer span{top:15px;right:18px}.focus-timer b{font-size:13px}}


/* Product-styled icon tooltips and a lower management group. */
.icon-button[data-tooltip]{position:relative}
.icon-button[data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 9px);z-index:30;padding:7px 10px;border:1px solid rgba(255,255,255,.55);border-radius:9px;background:rgba(43,78,71,.9);box-shadow:0 9px 24px rgba(36,65,59,.18);-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);color:rgba(255,255,255,.94);font-size:12px;font-weight:650;line-height:1;letter-spacing:.01em;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease}
.icon-button[data-tooltip]:hover::after,.icon-button[data-tooltip]:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.today-task .buttons .icon-button:last-child::after{left:auto;right:0;transform:translateY(4px)}
.today-task .buttons .icon-button:last-child:hover::after,.today-task .buttons .icon-button:last-child:focus-visible::after{transform:translateY(0)}
.sidebar .nav-management{margin-top:100px;padding-top:20px}
@media(max-width:900px){.sidebar .nav-management{margin:0 0 0 14px;padding:0 0 0 14px}}
@media(max-width:620px){.sidebar .nav-management{margin-left:10px;padding-left:10px}}


/* Adaptive schedule rows: duration, frequency and custom interval align on one row. */
.schedule-top{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;align-items:start}
.schedule-top>label{grid-column:1}
.schedule-top>.recurrence-controls{grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1fr);column-gap:12px;align-items:start;margin-top:0}
.schedule-top>.recurrence-controls:has([data-interval]:not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}
.schedule-top .recurrence-controls>label{grid-column:1;margin-top:13px}
.schedule-top .interval-field{grid-column:2;grid-row:1;max-width:none;margin:0}
.schedule-top .interval-field>label{margin-top:13px}
.schedule-top .weekday-picker{grid-column:1/-1}
.custom-field-grid{grid-template-columns:1fr}
@media(max-width:620px){.schedule-top{grid-template-columns:1fr}.schedule-top>label,.schedule-top>.recurrence-controls{grid-column:1}.schedule-top>.recurrence-controls:has([data-interval]:not([hidden])){grid-template-columns:1fr}.schedule-top .interval-field{grid-column:1;grid-row:auto}.schedule-top .interval-field>label{margin-top:7px}}


/* Exact focus-panel alignment and evenly distributed focus actions. */
.focus-card:has(.focus-timer) .focus-info,.focus-card:has(.focus-timer) .focus-timer{top:auto;right:auto;bottom:auto;margin:0;height:auto;align-self:stretch}
.focus-info .focus-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
.focus-info .focus-actions:has(>button:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}
.focus-info .focus-actions>button{width:100%;min-width:0;margin:0;white-space:nowrap}


/* Keep page-title icons in the same quiet, linear language as navigation icons. */
.heading-icon{width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(198,214,208,.92);border-radius:13px;background:rgba(255,255,255,.72);color:#376f66;box-shadow:0 3px 10px rgba(43,72,66,.07);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.heading-icon svg{width:23px;height:23px;stroke-width:2;filter:none}
@media(max-width:760px){.heading-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}.heading-icon svg{width:22px;height:22px}}

/* Progress is always a visible ring, including clickable task progress controls. */
.ring,button.ring{--ring-width:3px;box-sizing:border-box;display:grid;place-items:center;width:52px;height:52px;min-width:52px;max-width:52px;aspect-ratio:1;flex:0 0 52px;padding:0;border:0!important;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.97) 0 calc(50% - var(--ring-width)),transparent calc(50% - var(--ring-width) + .25px)),conic-gradient(from 0deg at 50% 50%,#4c8479 calc(var(--p)*1%),#d9e5e1 0)!important;box-shadow:0 2px 7px rgba(43,72,66,.09)!important;color:#2f6d63!important;line-height:1;overflow:hidden}
.ring.small,button.ring.small{--ring-width:3px;width:42px;height:42px;min-width:42px;max-width:42px;flex-basis:42px}
.ring:before{display:none}
.ring span{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:100%;line-height:1;text-align:center}
.emphasized .ring,.emphasized button.ring{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.97) 0 calc(50% - var(--ring-width)),transparent calc(50% - var(--ring-width) + .25px)),conic-gradient(from 0deg at 50% 50%,#c87521 calc(var(--p)*1%),#e9ded1 0)!important;color:#8d6742!important}
.tree-row.task-done .ring,.task-card.task-done .ring,.today-task.task-done .ring,.goal-card.goal-done .ring{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.97) 0 calc(50% - var(--ring-width)),transparent calc(50% - var(--ring-width) + .25px)),conic-gradient(from 0deg at 50% 50%,#aeb9b5 calc(var(--p)*1%),#e2e7e5 0)!important;color:#7f8c87!important}

/* Square dialog close control and one consistent rhythm between edit modules. */
.dialog-x{box-sizing:border-box;display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;aspect-ratio:1;flex:0 0 40px;margin:0;padding:0;border-radius:11px;font-family:Arial,sans-serif;font-size:21px;font-weight:400;line-height:1}
#detail-form,#project-detail-form{display:grid;gap:14px}
#detail-form>.detail-head,#project-detail-form>.detail-head{align-items:flex-start;min-height:40px;margin:0}
#detail-form>.detail-block,#project-detail-form>.detail-block{margin:0}
#detail-form>.detail-actions,#project-detail-form>.detail-actions{margin:0;padding-top:14px}
@media(max-width:620px){.dialog-x{width:38px;height:38px;min-width:38px;min-height:38px;flex-basis:38px;border-radius:10px}#detail-form,#project-detail-form{gap:12px}}

/* Task schedule: start, duration and end first; recurrence controls on the next row. */
.detail-block-schedule .schedule-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start;margin:0}
.detail-block-schedule .schedule-primary>label{grid-column:auto;grid-row:auto;margin-top:13px}
.detail-block-schedule .schedule-recurrence{display:block;margin-top:12px}
.detail-block-schedule .schedule-recurrence>.recurrence-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;align-items:start;margin:0}
.detail-block-schedule .schedule-recurrence .recurrence-controls>label{grid-column:1;grid-row:1;margin-top:13px}
.detail-block-schedule .schedule-recurrence .interval-field{grid-column:2;grid-row:1;max-width:none;margin:0}
.detail-block-schedule .schedule-recurrence .interval-field>label{margin-top:13px}
.detail-block-schedule .schedule-recurrence .weekday-picker{grid-column:1/-1;grid-row:2}
@media(max-width:620px){.detail-block-schedule .schedule-primary{grid-template-columns:1fr}.detail-block-schedule .schedule-recurrence>.recurrence-controls{grid-template-columns:1fr}.detail-block-schedule .schedule-recurrence .interval-field{grid-column:1;grid-row:auto}.detail-block-schedule .schedule-recurrence .interval-field>label{margin-top:7px}.detail-block-schedule .schedule-recurrence .weekday-picker{grid-column:1;grid-row:auto}}

/* Product-styled recurrence dropdown: rounded menu and a light focus treatment. */
.product-select{position:relative;width:100%;margin-top:6px;z-index:1}
.product-select.open{z-index:80}
.product-select-native{position:absolute!important;left:0;bottom:0;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0;pointer-events:none}
.product-select-trigger{display:flex!important;align-items:center;justify-content:space-between;width:100%!important;min-height:43px!important;margin:0!important;padding:10px 13px!important;border:1px solid #cfdad6!important;border-radius:11px!important;background:rgba(255,255,255,.86)!important;box-shadow:0 2px 6px rgba(43,72,66,.045)!important;color:#243f3a!important;font-weight:600!important;text-align:left;transition:border-color .16s,box-shadow .16s,background .16s}
.product-select-trigger:hover{border-color:#abc3bc!important;background:#fff!important}
.product-select-trigger:focus,.product-select-trigger:focus-visible,.product-select.open .product-select-trigger{outline:0!important;border-color:#79a89d!important;background:#fff!important;box-shadow:0 0 0 3px rgba(76,132,121,.12)!important}
.product-select-chevron{width:8px;height:8px;margin:0 3px 4px 12px;border-right:1.8px solid #416a62;border-bottom:1.8px solid #416a62;transform:rotate(45deg);transition:transform .16s}
.product-select.open .product-select-chevron{margin-bottom:-3px;transform:rotate(225deg)}
.product-select-list{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:90;display:grid;gap:3px;margin:0;padding:6px;border:1px solid rgba(190,208,201,.9);border-radius:13px;background:rgba(250,252,251,.96);box-shadow:0 14px 34px rgba(39,70,63,.16),inset 0 1px 0 rgba(255,255,255,.9);-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%)}
.product-select-list[hidden]{display:none!important}
.product-select-option{display:flex!important;align-items:center;justify-content:flex-start;width:100%!important;min-height:36px!important;margin:0!important;padding:8px 10px!important;border:0!important;border-radius:9px!important;background:transparent!important;box-shadow:none!important;color:#304a45!important;font-weight:500!important;text-align:left}
.product-select-option:hover,.product-select-option:focus,.product-select-option:focus-visible{outline:0!important;background:#edf5f2!important;color:#275c53!important;box-shadow:none!important}
.product-select-option.selected{background:#dfeee9!important;color:#21574e!important;font-weight:750!important}
@media(max-width:620px){.product-select-list{position:fixed;left:16px;right:16px;top:auto;bottom:18px;max-height:min(55vh,360px);overflow:auto;padding:8px;border-radius:16px}.product-select-option{min-height:42px!important}}

/* Give task guidance more breathing room before trailing row actions. */
@media(min-width:1181px){
  .tree-row,.task-drag-ghost{grid-template-columns:36px 44px minmax(190px,.68fr) minmax(320px,1.32fr) auto}
  .tree-row>.guide,.task-drag-ghost>.guide{margin-right:24px}
}

/* Unified task rows, actions and daily-completion state. */
.unified-task-row,.completed-task-row{grid-template-columns:42px minmax(190px,.68fr) minmax(320px,1.32fr) auto!important;column-gap:14px;align-items:center}
.unified-task-row>.ring,.completed-task-row>.done-mark{grid-column:1;grid-row:1}
.unified-task-row>.task-main,.completed-task-row>.task-main{grid-column:2;grid-row:1;min-width:0}
.unified-task-row>.task-guide,.completed-task-row>.task-guide{grid-column:3;grid-row:1;min-width:0;margin-right:24px}
.unified-task-row>.row-actions,.unified-task-row>.buttons,.completed-task-row>.row-actions{grid-column:4;grid-row:1;justify-self:end}
.task-guide{display:grid;gap:3px;line-height:1.35}
.task-guide .guide-copy,.focus-guide .guide-copy{display:block;color:#687975;font-size:12px;white-space:normal}
.task-guide .next-step,.focus-guide .next-step{margin:0;color:#315f58;font-size:13px;white-space:normal}
.task-guide .process-preview{width:100%;min-height:25px;margin-top:1px;padding:3px 8px;text-align:left}
.tree-row .row-actions .icon-button,.task-card .row-actions .icon-button,.today-task .buttons .icon-button,.completed-task-row .row-actions .icon-button,.today-task .buttons .icon-button:not([data-detail]){box-sizing:border-box;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border:1px solid #bfcfc9!important;border-radius:10px!important;background:#fff!important;box-shadow:0 2px 7px rgba(42,72,65,.08)!important;color:#214d46!important;display:grid;place-items:center}
.tree-row .row-actions .icon-button svg,.task-card .row-actions .icon-button svg,.today-task .buttons .icon-button svg,.completed-task-row .row-actions .icon-button svg,.today-task .buttons .icon-button:not([data-detail]) svg{width:18px!important;height:18px!important;stroke-width:2!important}
.tree-row .row-actions .icon-button:hover,.task-card .row-actions .icon-button:hover,.today-task .buttons .icon-button:hover,.completed-task-row .row-actions .icon-button:hover{background:#f2f8f6!important;border-color:#91b2aa!important;box-shadow:0 4px 10px rgba(42,72,65,.11)!important}
.today-complete-chip{background:#d9f1e7;color:#236b55;border:1px solid #83bda8;font-weight:700;box-shadow:0 1px 4px rgba(35,107,85,.12)}
.today-task{touch-action:pan-y;transition:transform .18s ease,background .18s,border-color .18s,box-shadow .18s}
.today-task.swiping-today{transition:none}
.today-task.today-done{grid-template-columns:42px minmax(0,1fr) auto!important;min-height:70px;padding-top:10px;padding-bottom:10px;background:rgba(235,238,235,.82)!important;border-color:rgba(204,212,208,.9)!important;box-shadow:0 4px 13px rgba(43,72,66,.055)!important}
.today-task.today-done>.task-guide{display:none}
.today-task.today-done>.task-main{grid-column:2}
.today-task.today-done>.buttons{grid-column:3}
.today-task.today-done .task-main h3{color:#687773;text-decoration:none}
.today-task.today-done .ring{filter:saturate(.48);opacity:.82}
.today-done-picker .picker-box{border-radius:10px}
.focus-guide{display:grid;gap:5px;margin-top:11px;padding:0;background:transparent;border:0;box-shadow:none}
.focus-guide .guide-copy{font-size:13px}
.focus-guide .next-step{font-size:14px}
.completed-task-row{display:grid!important;padding:13px 15px!important}
.completed-task-row .done-mark{width:38px;height:38px;border-radius:10px!important;border:1px solid #b8cec6;background:#e6f1ed!important;color:#356f64!important;font-size:18px!important}
.completed-task-row .meta-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.completed-task-row .meta-line h3{margin:0}
@media(max-width:1180px){
  .unified-task-row,.completed-task-row{grid-template-columns:42px minmax(0,1fr) auto!important;row-gap:7px}
  .unified-task-row>.task-main,.completed-task-row>.task-main{grid-column:2}
  .unified-task-row>.task-guide,.completed-task-row>.task-guide{grid-column:2/4;grid-row:2;margin-right:0}
  .unified-task-row>.row-actions,.unified-task-row>.buttons,.completed-task-row>.row-actions{grid-column:3;grid-row:1}
  .today-task.today-done{grid-template-columns:42px minmax(0,1fr) auto!important}
}
@media(max-width:620px){
  .unified-task-row,.completed-task-row{grid-template-columns:38px minmax(0,1fr)!important;padding:12px 11px!important}
  .unified-task-row>.task-main,.completed-task-row>.task-main{grid-column:2;grid-row:1}
  .unified-task-row>.task-guide,.completed-task-row>.task-guide{grid-column:2;grid-row:2}
  .unified-task-row>.row-actions,.unified-task-row>.buttons,.completed-task-row>.row-actions{grid-column:2;grid-row:3;justify-self:end}
  .today-task.today-done{grid-template-columns:38px minmax(0,1fr)!important}
  .today-task.today-done>.buttons{grid-column:2;grid-row:2;justify-self:end}
  .completed-item:not(.completed-task-row){grid-template-columns:38px minmax(0,1fr)}
  .completed-item:not(.completed-task-row)>.completed-item-actions{grid-column:2;grid-row:2}
}

/* Product mode: storage status stays in the top bar; remove the obsolete prototype strip. */
.app-shell{min-height:100vh}
.sidebar{height:100vh}
@media(max-width:900px){
  .sidebar{height:auto;min-height:0}
}

/* Keep the focus task card stable before and during timing. */
.focus-info{display:flex;flex-direction:column;min-height:224px}
.focus-info .focus-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto}
.focus-info .focus-actions>button:only-child{grid-column:1/-1;width:calc(50% - 4px)!important;justify-self:center}
@media(max-width:620px){.focus-info{min-height:0}.focus-info .focus-actions>button:only-child{width:100%!important}}

/* Daily completion keeps the exact same task-row anatomy and controls. */
.today-task.today-done{grid-template-columns:42px minmax(190px,.68fr) minmax(320px,1.32fr) auto!important;min-height:0;padding:14px 15px;background:rgba(235,238,235,.82)!important}
.today-task.today-done>.task-main{grid-column:2;grid-row:1}
.today-task.today-done>.task-guide{display:grid;grid-column:3;grid-row:1}
.today-task.today-done>.buttons{grid-column:4;grid-row:1}
@media(max-width:1180px){.today-task.today-done{grid-template-columns:42px minmax(0,1fr) auto!important}.today-task.today-done>.task-guide{grid-column:2/4;grid-row:2}.today-task.today-done>.buttons{grid-column:3;grid-row:1}}
@media(max-width:620px){.today-task.today-done{grid-template-columns:38px minmax(0,1fr)!important;padding:12px 11px!important}.today-task.today-done>.task-guide{grid-column:2;grid-row:2}.today-task.today-done>.buttons{grid-column:2;grid-row:3}}

/* Reveal the reversible “remove from today” action from row whitespace. */
.today-task{position:relative;overflow:visible;touch-action:auto}
.today-remove-reveal{position:absolute!important;z-index:8;top:-10px;right:-10px;display:grid!important;place-items:center;width:31px!important;min-width:31px!important;height:31px!important;min-height:31px!important;margin:0!important;padding:0!important;border:1px solid #d96e69!important;border-radius:50%!important;background:#fff8f7!important;box-shadow:0 5px 15px rgba(143,55,51,.18)!important;color:#c94f49!important;font:700 21px/1 Arial,sans-serif!important;opacity:0;pointer-events:none;transform:scale(.8);transition:opacity .14s ease,transform .14s ease}
.today-task.remove-visible .today-remove-reveal{opacity:1;pointer-events:auto;transform:scale(1)}
.today-remove-reveal:hover,.today-remove-reveal:focus-visible{background:#c95550!important;border-color:#c95550!important;color:#fff!important}

/* Only manual completion confirmation uses the fully neutral gray state. */
.today-task.today-done{background:#ecefed!important;border-color:#d5dbd8!important;box-shadow:0 4px 13px rgba(63,73,69,.055)!important;color:#77817e!important}
.today-task.today-done .task-main h3,.today-task.today-done .task-main p,.today-task.today-done .task-guide,.today-task.today-done .task-guide .guide-copy,.today-task.today-done .task-guide .next-step{color:#7d8784!important}
.today-task.today-done .task-guide .next-step:before{color:#959d9a!important}
.today-task.today-done .chip,.today-task.today-done .today-complete-chip,.today-task.today-done .emphasis-chip{background:#d9dddb!important;color:#737d79!important;border-color:#cdd3d0!important}
.today-task.today-done .process-preview,.today-task.today-done .buttons .icon-button{background:#f2f3f2!important;border-color:#cbd1ce!important;color:#77827e!important;box-shadow:none!important}
.today-task.today-done .process-preview:hover,.today-task.today-done .buttons .icon-button:hover{background:#e5e8e6!important;border-color:#b8c0bc!important;color:#68736f!important}
.today-task.today-done .ring{filter:grayscale(1);opacity:.78}
.today-task.today-done .task-picker input:checked+.picker-box{border-color:#aeb6b2;background:#aeb6b2;color:#f7f8f7}

/* The task panel keeps the same 50% footprint before and during focus. */
.focus-card:not(:has(.focus-timer)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:224px;padding:0}
.focus-card:not(:has(.focus-timer)) .focus-info{grid-column:1;grid-row:1;width:100%;height:100%;align-self:stretch}
@media(max-width:760px){.focus-card:not(:has(.focus-timer)){grid-template-columns:1fr;min-height:0}.focus-card:not(:has(.focus-timer)) .focus-info{grid-column:1}}

/* Manual confirmation stays visible in Today and uses the same neutral row in Completed. */
.manual-complete-row{background:#ecefed!important;border-color:#d5dbd8!important;box-shadow:0 4px 13px rgba(63,73,69,.055)!important;color:#77817e!important}
.manual-complete-row .task-main h3,.manual-complete-row .task-main p,.manual-complete-row .task-guide,.manual-complete-row .guide-copy,.manual-complete-row .next-step{color:#7d8784!important}
.manual-complete-row .next-step:before{color:#959d9a!important}
.manual-complete-row .chip{background:#d9dddb!important;color:#737d79!important;border-color:#cdd3d0!important}
.manual-complete-row .process-preview,.manual-complete-row .icon-button{background:#f2f3f2!important;border-color:#cbd1ce!important;color:#77827e!important;box-shadow:none!important}
.manual-complete-row .ring{filter:grayscale(1);opacity:.78}
.manual-complete-row .task-picker input:checked+.picker-box{border-color:#aeb6b2;background:#aeb6b2;color:#f7f8f7}
.today-remove-reveal{opacity:0!important}
.today-task.remove-visible .today-remove-reveal{opacity:1!important}

/* One task-level progress-ring scale across breakdown, executable, today and completed. */
.tree-row>.ring,.task-card>.ring,.today-task>.ring,.completed-task-row>.ring{--ring-width:3px;width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;flex-basis:42px!important;font-size:11px!important}

/* Product tooltip system: never expose browser-native square title bubbles. */
.tooltip-target[data-tooltip]{position:relative}
.tooltip-target[data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 9px);z-index:80;display:block;padding:7px 10px;border:1px solid rgba(190,207,201,.86);border-radius:10px;background:rgba(250,252,251,.94);box-shadow:0 10px 26px rgba(43,72,66,.14),inset 0 1px 0 rgba(255,255,255,.9);-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);color:#355a53;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease}
.tooltip-target[data-tooltip]:hover::after,.tooltip-target[data-tooltip]:focus-visible::after,.tooltip-target[data-tooltip]:focus-within::after{opacity:1;transform:translate(-50%,0)}
:is(.row-actions,.goal-actions,.buttons,.completed-item-actions,.trash-actions)>.tooltip-target[data-tooltip]:last-child::after{left:auto;right:0;transform:translateY(4px)}
:is(.row-actions,.goal-actions,.buttons,.completed-item-actions,.trash-actions)>.tooltip-target[data-tooltip]:last-child:hover::after,:is(.row-actions,.goal-actions,.buttons,.completed-item-actions,.trash-actions)>.tooltip-target[data-tooltip]:last-child:focus-within::after{transform:translateY(0)}
.goal-tools>.tooltip-target[data-tooltip]::after{left:auto;right:0;transform:translateY(4px)}
.goal-tools>.tooltip-target[data-tooltip]:hover::after,.goal-tools>.tooltip-target[data-tooltip]:focus-within::after{transform:translateY(0)}
.today-remove-reveal.tooltip-target[data-tooltip]::after{left:auto;right:0;transform:translateY(4px)}
.today-remove-reveal.tooltip-target[data-tooltip]:hover::after,.today-remove-reveal.tooltip-target[data-tooltip]:focus-visible::after{transform:translateY(0)}
.calendar-grid .day-cell.tooltip-target[data-tooltip]::after{left:0;transform:translateY(4px)}
.calendar-grid .day-cell.tooltip-target[data-tooltip]:hover::after,.calendar-grid .day-cell.tooltip-target[data-tooltip]:focus-visible::after{transform:translateY(0)}
.calendar-grid .day-cell.tooltip-target[data-tooltip]:nth-child(7n)::after{left:auto;right:0}
.calendar-grid .day-cell.tooltip-target[data-tooltip]::after{width:max-content;max-width:220px;white-space:normal;text-align:left}
.calendar-grid .day-cell.tooltip-target[data-tooltip]:nth-child(7n-2)::after,.calendar-grid .day-cell.tooltip-target[data-tooltip]:nth-child(7n-1)::after{left:auto;right:0}
@media(max-width:620px){.tooltip-target[data-tooltip]::after{max-width:calc(100vw - 24px);white-space:normal;text-align:center}}
.icon-button .play-glyph{fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round;stroke-linejoin:round}
.today-task .buttons .icon-button[data-start] svg{width:21px!important;height:21px!important}

@keyframes manual-confirmed-pop{0%{transform:scale(1);box-shadow:0 8px 22px rgba(43,72,66,.085)}38%{transform:scale(.992);box-shadow:0 0 0 4px rgba(126,139,134,.12),0 8px 22px rgba(43,72,66,.06)}100%{transform:scale(1);box-shadow:0 4px 13px rgba(63,73,69,.055)}}
.today-task.manual-confirmed-pop{animation:manual-confirmed-pop .62s ease both}


/* Manual confirmation compacts the Today row without clearing its focus module or timer. */
.today-task.today-done{grid-template-columns:42px minmax(0,1fr) auto!important;min-height:70px!important;padding:10px 15px!important;background:#ecefed!important;border-color:#d5dbd8!important;box-shadow:0 4px 13px rgba(63,73,69,.055)!important}
.today-task.today-done>.task-main{grid-column:2;grid-row:1}
.today-task.today-done>.task-guide{display:none!important}
.today-task.today-done>.buttons{grid-column:3;grid-row:1;justify-self:end}
.today-task.today-done,.today-task.today-done *{color:#7d8784!important}
.today-task.today-done .task-main h3{position:relative;display:inline-block;width:max-content;max-width:100%;color:#747e7b!important}
.today-task.today-done .task-main h3::after{content:"";position:absolute;left:0;right:0;top:52%;height:1.5px;border-radius:999px;background:#8f9995;transform:scaleX(1);transform-origin:left center;pointer-events:none}
@keyframes manual-strike-in{0%{transform:scaleX(0);opacity:.35}100%{transform:scaleX(1);opacity:1}}
.today-task.today-done.manual-confirmed-pop .task-main h3::after{animation:manual-strike-in .52s cubic-bezier(.22,.8,.3,1) both}
.today-task.today-done .process-preview,.today-task.today-done .buttons .icon-button,.today-task.today-done .today-remove-reveal{background:#f2f3f2!important;border-color:#cbd1ce!important;color:#77827e!important;box-shadow:none!important}
.today-task.today-done .task-picker input:checked+.picker-box{border-color:#aeb6b2!important;background:#aeb6b2!important;color:#f7f8f7!important}
@media(max-width:620px){.today-task.today-done{grid-template-columns:42px minmax(0,1fr)!important;padding:11px!important}.today-task.today-done>.task-main{grid-column:2;grid-row:1}.today-task.today-done>.buttons{grid-column:2;grid-row:2;justify-self:end}}
/* Keep emphasis warm but pale enough for the orange progress ring to stay distinct. */
.task-card.emphasized,.today-task.emphasized:not(.today-done),.tree-row.emphasized{background:rgba(253,248,241,.78)!important;border-color:rgba(226,196,159,.58)!important}
/* Keep the task information module away from right-edge controls to reduce accidental clicks. */
@media(min-width:1181px){
  .unified-task-row,.completed-task-row{grid-template-columns:42px minmax(170px,.52fr) minmax(320px,1.48fr) auto!important}
  .unified-task-row>.task-guide,.completed-task-row>.task-guide{width:min(100%,620px);max-width:620px;justify-self:start;margin-left:0;margin-right:72px}
}
@media(min-width:621px) and (max-width:1180px){
  .unified-task-row>.task-guide,.completed-task-row>.task-guide{grid-column:2!important;width:min(78%,600px);min-width:280px;max-width:600px;justify-self:start;margin-left:-10px;margin-right:64px}
}
/* Level-one goals use the same main / information / actions rhythm as child task rows. */
.goal-card{grid-template-columns:52px minmax(190px,.58fr) minmax(320px,1.42fr) auto;column-gap:16px;row-gap:8px}
.goal-card>.ring{grid-column:1;grid-row:1}
.goal-card>.goal-main{grid-column:2;grid-row:1;min-width:0}
.goal-card>.goal-summary{grid-column:3;grid-row:1;min-width:0;width:min(100%,620px);max-width:620px;justify-self:start;display:grid;gap:5px;align-content:center}
.goal-card>.goal-actions{grid-column:4;grid-row:1;justify-self:end}
.goal-card>.goal-child-panel{grid-column:1/-1}
.goal-card .goal-main h2{margin:6px 0 0}
.goal-card .goal-main .dates{margin:4px 0 0;color:#929e9a;font-size:12px}
.goal-card .goal-summary .outcome{margin:0;color:#687975;font-size:13px;line-height:1.45}
.goal-card .goal-summary .goal-owner{margin:0;color:#929e9a;font-size:12px}
@media(max-width:1180px) and (min-width:621px){
  .goal-card{grid-template-columns:52px minmax(0,1fr) auto}
  .goal-card>.goal-main{grid-column:2;grid-row:1}
  .goal-card>.goal-summary{grid-column:2;grid-row:2;width:min(78%,600px);min-width:280px;margin-left:-8px}
  .goal-card>.goal-actions{grid-column:3;grid-row:1}
}
@media(max-width:620px){
  .goal-card{grid-template-columns:45px minmax(0,1fr)}
  .goal-card>.goal-main{grid-column:2;grid-row:1}
  .goal-card>.goal-summary{grid-column:2;grid-row:2;width:100%;min-width:0}
  .goal-card>.goal-actions{grid-column:2;grid-row:3;justify-self:end}
}

/* Date selection reads as a segmented slider with one clear active segment. */
.date-switch{gap:3px;padding:4px!important;border:1px solid rgba(190,207,201,.86)!important;border-radius:14px!important;background:rgba(226,237,233,.72)!important;box-shadow:inset 0 1px 3px rgba(45,78,71,.08)!important}
.date-switch button{min-width:54px;border:0!important;border-radius:10px!important;background:#fff!important;color:#657671!important;box-shadow:0 1px 4px rgba(43,72,66,.07)!important;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.date-switch button.active{background:#3f7d73!important;color:#fff!important;box-shadow:0 5px 13px rgba(47,101,91,.24)!important;transform:translateY(-1px)}
/* Today Executable rows use the same compact vertical rhythm as the other task lists. */
.candidate-group .task-card{padding-top:12px!important;padding-bottom:12px!important}

/* Temporary-unfollow is available directly on each long-term goal. */
.goal-actions .attention-card-toggle{color:#7b8985}
.goal-actions .attention-card-toggle:hover,.goal-actions .attention-card-toggle:focus-visible{color:#9a6c1c!important;border-color:#ddc17b!important;background:#fff9e5!important}
.goal-card.attention-paused .goal-actions .attention-card-toggle{color:#2f7469!important;border-color:#a8c9c0!important;background:#f2faf7!important}
.goal-card.attention-paused .goal-actions .main-action:disabled{opacity:.42}

/* Goal-toolbar search and filter use the same product surface language as dialogs. */
.goal-tools #goal-search{box-sizing:border-box;width:520px;min-width:520px;flex:0 1 520px}
.goal-tools>.product-select{flex:0 0 142px;width:142px;margin-top:0}
.goal-tools>.product-select .product-select-trigger{min-height:40px!important;padding:9px 12px!important}
.goal-tools>.product-select .product-select-list{min-width:160px}
@media(max-width:1180px) and (min-width:621px){.goal-tools{flex-wrap:wrap}.goal-tools #goal-search{width:min(520px,calc(100% - 160px));min-width:300px;flex:1 1 420px}.goal-tools .spacer{display:none}}
@media(max-width:620px){.goal-tools #goal-search{width:100%;min-width:0;flex:1 1 100%}.goal-tools>.product-select{flex:0 0 142px;width:142px}}

/* Sidebar completion sentence, nickname, and account session controls. */
.sidebar-stat p{margin:0;color:#74827e;font-size:12px;line-height:1.7}
.sidebar-stat strong{color:#397c71;font-family:Georgia,serif;font-size:25px;font-weight:500;vertical-align:-2px}
.sidebar-user>div{flex:1}
#sidebar-account-action{flex:0 0 auto;margin-left:auto;padding:6px 8px;border:1px solid #c9d8d3;border-radius:8px;background:rgba(255,255,255,.76);box-shadow:none;color:#42665f;font-size:11px}
#sidebar-account-action:hover,#sidebar-account-action:focus-visible{border-color:#8fb2a9;background:#fff;color:#285f55}
.nickname-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;margin:14px 0}
.nickname-form label{display:grid;gap:6px;color:#65746f;font-size:12px;font-weight:700}
.nickname-form input{width:100%;min-width:0;border:1px solid #d8dfdb;border-radius:10px;padding:10px 11px;background:#fff}
.nickname-form button{min-height:40px}
@media(max-width:620px){.nickname-form{grid-template-columns:1fr}.nickname-form button{width:100%}}

/* Move both desktop navigation groups down without moving the bottom account area. */
@media(min-width:901px){.sidebar #main-nav{margin-top:24px}}

/* Compact sidebar account card: full nickname plus one icon-only session action. */
.sidebar-user{display:grid!important;grid-template-columns:30px minmax(0,1fr) 30px;gap:8px!important;align-items:center;padding:10px 9px!important}
.sidebar-user>span{width:30px!important;height:30px!important}
.sidebar-user>div{min-width:0;overflow:visible}
.sidebar-user b{display:block;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.25}
#sidebar-account-action{box-sizing:border-box;display:grid;place-items:center;width:30px;height:30px;min-width:30px;margin:0;padding:0;border-radius:8px}
#sidebar-account-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* System and removable task-field controls share one 28px footprint. */
.field-delete{width:28px!important;height:28px!important;min-width:28px!important;flex:0 0 28px}

/* Cross-device data transfer */
.data-transfer-settings{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:center}
.data-transfer-copy h2{margin-bottom:6px}
.data-transfer-copy p{margin:0;color:#71817e;line-height:1.55}
.data-transfer-actions{display:flex;gap:10px;align-items:center}
.data-transfer-settings>.soft-note{grid-column:1/-1;margin:0}
@media(max-width:680px){.data-transfer-settings{grid-template-columns:1fr}.data-transfer-actions{display:grid;grid-template-columns:1fr 1fr}.data-transfer-actions button{width:100%}}
