/* Calendar and measurable progress */
.content{max-width:1540px}.metric-task{align-items:flex-start;padding:21px 22px;gap:13px}.metric-task .task-check{margin-top:2px;width:22px;height:22px;border-color:var(--project);color:var(--project)}.metric-task .task-title{font-size:14px;line-height:1.6}.metric-task.done .task-title{text-decoration:none;color:#749184}.metric-task.skipped,.metric-task.cancelled{opacity:.58}.metric-task .task-main{min-width:0}.record-button{background:#f4f7f5;border:1px solid #e6ede8;border-radius:6px;color:#567368;padding:7px 10px;white-space:nowrap;font-size:10px;margin-top:3px}.metric-line{margin-top:13px}.metric-line>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#77877f;margin-bottom:7px}.metric-line strong{font-weight:500;color:#476658;font-size:11px}.metric-line.compact{max-width:430px;margin-top:12px}.metric-line.compact>div:first-child{font-size:10px}.metric-line.compact strong{font-size:10px}.metric-track{height:5px;background:#edf1ee;border-radius:10px;overflow:hidden}.metric-track>span{height:100%;display:block;background:#639580;border-radius:10px;transition:width .2s}.rule-note{font-size:9px;color:#9aa79f;display:block;margin-top:9px}.deadline-tag{color:#ae8250}.goal-card{padding:22px;border-bottom:1px solid var(--line);background:white}.goal-card:last-child{border-bottom:0}.goal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.goal-card h3{font-size:13px;font-weight:500;margin:16px 0 12px}.goal-card .goal-value{font-size:26px;color:#3d6f5d;margin-bottom:14px}.goal-value small{font-size:12px;color:#94a199}.goal-card p{font-size:10px;line-height:1.8;color:#829087;margin:12px 0 5px}.goal-card>small{font-size:9px;color:#a4afa8}.goals-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 16px}.goals-heading h2{font-size:18px;font-weight:500;margin:0}.goals-heading p{font-size:11px;margin:8px 0 0}.goals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.goals-grid .goal-card{border:1px solid var(--line);border-radius:12px}.project-card{padding:0}.project-card-head{display:flex;gap:15px;align-items:center;padding:24px}.project-card-head h3{margin:0 0 5px;font-size:16px}.project-card-head small{font-size:10px}.project-card .metric-task{padding:18px}.project-card .metric-task .task-title{font-size:12px}.project-card .record-button{padding:6px;font-size:9px}.day-progress{padding:22px}.progress-task{padding:20px 0;border-top:1px solid var(--line);margin-top:12px}.progress-task .metric-line{max-width:600px}.actual-totals{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0 30px}.actual-totals>div{background:#f5f8f6;border-radius:8px;padding:18px;display:flex;justify-content:space-between;gap:16px;align-items:center}.actual-totals span{font-size:11px;color:#7e8f84}.actual-totals strong{font-size:21px;font-weight:500;color:#3f7560}.history-card{display:grid;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:white;padding:17px 0;gap:7px;color:var(--ink)}.history-card strong{font-size:12px;font-weight:500}.history-card span{font-size:11px;color:#647f6c}.history-card small{font-size:10px;color:#98a59b}.calendar-layout{display:block}.calendar-layout>.right-stack{display:flex;align-items:stretch;margin-top:22px;gap:18px}.calendar-layout>.right-stack>.note-panel{flex:1}.calendar-layout>.right-stack>.panel{flex:2}.calendar-layout .right-stack .panel .goal-card{display:inline-block;vertical-align:top;width:50%;border:0}.calendar-toolbar{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.calendar-nav{display:flex;align-items:center;gap:15px}.calendar-nav strong{font-size:14px;font-weight:500}.calendar-nav .icon-button{font-size:24px;color:#718a7e}.tiny{font-size:10px;padding:5px 10px}.calendar-legend{display:flex;gap:20px;align-items:center;padding:0 24px 15px;color:#93a198;font-size:10px;flex-wrap:wrap}.calendar-legend span{display:flex;gap:5px;align-items:center}.legend-fill,.legend-fixed{width:9px;height:9px;border-radius:2px;background:#e4eee8;border-left:2px solid #548978}.legend-fixed{background:#f4f2ec;border-left-color:#a99a73}.desktop-hint{margin-left:auto}.calendar-scroll{overflow:auto;max-height:710px;scrollbar-width:thin;scrollbar-color:#dbe5df transparent;border-top:1px solid var(--line)}.time-calendar{background:#fff}.time-calendar.week{min-width:800px}.calendar-days,.all-day-row{display:grid;grid-template-columns:56px repeat(var(--days),minmax(0,1fr))}.calendar-days{position:sticky;top:0;background:#fff;z-index:4;box-shadow:0 1px 0 var(--line)}.zone-label{font-size:9px;color:#a1ada5;text-align:center;line-height:1.8;align-self:center}.calendar-day{border:0;border-left:1px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 4px;color:#788c80}.calendar-day span{font-size:10px}.calendar-day strong{font-size:18px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px}.calendar-day.today strong{background:#39776a;color:#fff;border-radius:50%}.calendar-day.today span{color:#39776a}.all-day-row{border-bottom:1px solid var(--line);background:#fcfdfc;min-height:58px}.all-day-cell{border-left:1px solid var(--line);padding:6px 4px;min-width:0}.unscheduled-chip,.deadline-chip{display:block;width:100%;text-align:left;font-size:9px;line-height:1.7;border:0;background:#f0f5f2;color:var(--project,#5a7b69);border-radius:3px;padding:3px 5px;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deadline-chip{background:#faf3e9;color:#b18d59}.time-grid{display:grid;grid-template-columns:56px repeat(var(--days),minmax(0,1fr));position:relative}.time-labels{position:relative}.time-labels>span{position:absolute;right:10px;font-size:9px;color:#a0ada3;transform:translateY(1px)}.time-day{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 28px,#f7f9f7 28px,#f7f9f7 29px,transparent 29px,transparent 57px,#eaf0eb 57px,#eaf0eb 58px)}.calendar-event{position:absolute;border-radius:5px;border:1px solid color-mix(in srgb,var(--project) 24%,white);border-left:3px solid var(--project);background:color-mix(in srgb,var(--project) 10%,white);color:var(--project);overflow:hidden;z-index:2;box-shadow:0 2px 3px #203b2d03;min-width:0}.calendar-event.fixed{background:repeating-linear-gradient(135deg,#ffffff80 0,#ffffff80 5px,#ffffff00 5px,#ffffff00 10px),color-mix(in srgb,var(--project) 13%,white);border-left-width:4px}.calendar-event.completed{opacity:.6}.event-open{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;border:0;background:transparent;padding:7px 18px 5px 7px;width:100%;height:100%;color:inherit;overflow:hidden}.event-open strong{font-size:10px;font-weight:500;line-height:1.5;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.event-open small{font-size:8px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;flex-shrink:0}.event-record{position:absolute;right:1px;top:3px;border:0;background:none;color:inherit;font-size:14px;padding:0 3px}.resize-handle{position:absolute;bottom:0;right:0;width:17px;height:12px;cursor:ns-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,#6c887526 51%,#6c887526 60%,transparent 61%)}.time-calendar.day .event-open strong{font-size:12px}.time-calendar.day .event-open small{font-size:10px}.time-calendar.day .event-open{padding:8px 15px}.now-line{position:absolute;left:0;right:0;height:1px;background:#cc846a;z-index:3;pointer-events:none}.now-line span{display:block;width:5px;height:5px;border-radius:50%;background:#cc846a;transform:translate(-2px,-2px)}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcfb}.month-weekdays span{text-align:center;padding:12px;font-size:10px;color:#8e9e94}.month-cell{min-height:132px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 6px;overflow:hidden}.month-cell:nth-child(7n){border-right:0}.month-cell.outside{background:#fafbf9}.month-cell.outside .day-number{color:#c1ccc3}.day-number{border:0;background:none;color:#6b7d71;width:26px;height:26px;border-radius:50%;font-size:11px;display:block;margin:0 0 6px 1px;padding:0}.month-cell.is-today .day-number{background:#39776a;color:white}.month-event{display:block;width:100%;border:0;border-left:2px solid var(--project);background:color-mix(in srgb,var(--project) 10%,white);color:var(--project);padding:4px;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;margin-bottom:4px;border-radius:3px}.month-event.fixed{border-left-width:4px}.month-event.completed{opacity:.55}.month-time{font-size:8px;opacity:.8}.month-deadline{display:block;width:100%;border:0;background:none;padding:2px 0;color:#ac8554;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.month-more{padding:3px 2px;font-size:9px}.calendar-footnote{font-size:10px;color:#95a399;padding:0 20px}.drag-over{background-color:#e9f3ed!important;outline:2px dashed #a4c5b0;outline-offset:-2px}.metric-editor-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0;padding:12px 0}.metric-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.metric-editor-header h3{font-size:15px;margin:0}.metric-editor-header p{font-size:10px;color:#9aa79f;margin:6px 0}.metric-config{background:#f7f9f7;border:1px solid #e6ece7;border-radius:8px;padding:15px;margin:13px 0}.metric-config-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8a9b8f}.metric-config label{font-size:11px;margin:12px 0 4px}.metric-config input,.metric-config select,.metric-config textarea{font-size:12px}.metric-config input:disabled,.metric-config select:disabled,.metric-config textarea:disabled{color:#7a8f80;background:#f0f4f0;opacity:.8}.record-metric{border:1px solid var(--line);border-radius:8px;padding:15px;margin:12px 0}.record-metric>strong{font-size:12px;font-weight:500}.record-metric>small{display:block;font-size:10px;color:#9aaa9e;margin-top:5px}.record-form-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:20px;border-top:1px solid var(--line);margin-top:20px}.record-form-header strong{font-size:13px;font-weight:500}.record-form-header .section-link{font-size:10px}.steps-options{display:grid;gap:2px;margin-top:12px}.steps-options label{margin:5px 0;font-size:12px}.record-history{border-top:1px solid var(--line);margin-top:24px;padding-top:10px}.record-history h3{font-size:13px}.history-entry{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.history-entry strong{font-size:10px;color:#7b8d7e;font-weight:500}.history-entry p{font-size:11px;margin:6px 0;color:#54725d}.history-entry small{font-size:10px;color:#97a69b}.history-actions{display:flex;gap:12px;align-self:flex-start;flex-shrink:0}.danger{color:#b3826c}#recorder{width:min(570px,calc(100% - 28px))}#editor{width:min(600px,calc(100% - 28px))}.event-open:focus-visible,.day-number:focus-visible,.month-event:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.migration-tip{background:#edf4f0;border:1px solid #dbe9df;padding:14px 18px;border-radius:8px;margin-bottom:18px;font-size:12px;color:#5a7a65;display:flex;align-items:center;justify-content:space-between;gap:15px}
@media(max-width:1100px){.goals-grid{grid-template-columns:repeat(2,1fr)}.calendar-layout>.right-stack{display:grid;grid-template-columns:1fr 1fr}.calendar-layout>.right-stack>.panel{grid-column:1/-1}.project-grid{grid-template-columns:1fr}.desktop-hint{display:none}}
@media(max-width:650px){.content{padding-left:14px;padding-right:14px}.metric-task{padding:18px 13px;gap:9px}.metric-task .task-title{font-size:12px}.record-button{font-size:9px;padding:6px;margin-top:4px}.metric-task .task-meta{line-height:1.8;font-size:9px;gap:4px 8px}.metric-line.compact>div:first-child,.metric-line.compact strong{font-size:9px}.metric-line>div:first-child{gap:8px}.metric-line strong{font-size:10px}.metric-track{height:4px}.goals-grid{grid-template-columns:1fr}.goals-heading h2{font-size:16px}.goals-heading>span{max-width:130px;font-size:10px}.project-card .metric-task{padding:16px 13px}.actual-totals{grid-template-columns:1fr}.calendar-toolbar{padding:15px 12px;flex-wrap:wrap;gap:12px}.calendar-nav{gap:10px;flex:1}.calendar-nav strong{font-size:12px}.calendar-toolbar>.tabs{margin-left:auto}.calendar-legend{padding:0 14px 13px;gap:12px;font-size:9px}.calendar-scroll{max-height:560px}.time-calendar.week{min-width:760px}.time-calendar.day{min-width:0}.calendar-layout>.right-stack{display:grid;grid-template-columns:1fr}.calendar-layout .right-stack .panel .goal-card{width:100%}.month-cell{min-height:103px;padding:5px 2px}.month-weekdays span{padding:10px 0;font-size:9px}.month-event{font-size:8px;padding:3px 2px;border-left-width:2px;margin-bottom:3px}.month-time{display:none}.month-deadline{font-size:8px}.day-number{width:23px;height:23px;font-size:10px;margin-left:0}.month-more{font-size:8px;padding:1px}.calendar-footnote{font-size:9px;padding:0 12px}.page-heading h1{font-size:20px}.page-heading p{font-size:10px}.record-metric{padding:12px}.record-form-header strong{font-size:12px}.metric-editor-header h3{font-size:14px}.goal-card{padding:20px}.calendar-days,.all-day-row{grid-template-columns:46px repeat(var(--days),minmax(0,1fr))}.time-grid{grid-template-columns:46px repeat(var(--days),minmax(0,1fr))}.calendar-day{gap:6px}.time-labels>span{right:5px;font-size:8px}.migration-tip{font-size:10px}.task-main{overflow:hidden}.goal-card>small{font-size:10px}.calendar-layout .right-stack{gap:16px}}

@media(min-width:651px){.time-calendar.week{min-width:660px}}

[hidden]{display:none!important}

.event-open,.time-calendar.day .event-open{padding-top:4px;padding-bottom:4px;gap:2px}.event-open strong{line-height:1.3}.event-open small{line-height:1.2}.short-event .event-open small{display:none}
