:root{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);font-size:calc(100% * var(--text-scale,1));color:#202e29;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green:#245548;--muted:#55665e;--border:#e7ece9;--paper:#fff;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin:0}button svg{flex-shrink:0}.app-shell{max-width:1920px;min-height:100vh;margin-inline:auto}.sidebar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:16px 32px;display:flex}.brand{letter-spacing:-.7px;white-space:nowrap;align-items:center;gap:9px;font-size:1.125rem;font-weight:650;text-decoration:none;display:flex}.brand-mark{flex-shrink:0}nav{gap:6px;display:flex}.nav-item{min-height:44px;color:var(--muted);background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:11px 15px;font-size:.875rem;display:flex}.nav-item:hover{background:#f5f7f6}.nav-item.active{color:var(--green);background:#eef4f1;font-weight:600}.main{min-width:0;padding:0 32px 48px}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 18px;display:flex}.page-heading>div:first-child{min-width:0}h1{letter-spacing:-1px;word-break:keep-all;font-size:1.75rem;font-weight:650;line-height:1.4}.heading-date{color:var(--muted);margin-top:7px;font-size:.875rem}.heading-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.primary,.outline-button,.light-button{white-space:normal;overflow-wrap:anywhere;border-radius:7px;justify-content:center;align-items:center;gap:8px;max-width:100%;min-height:44px;padding:11px 17px;font-size:1rem;font-weight:600;display:inline-flex}.primary{background:var(--green);color:#fff}.primary:hover{background:#35695c}.outline-button{color:var(--green);background:#fff;border:1px solid #d4ded8}.outline-button:hover,.light-button:hover{background:#f2f6f4}.light-button{color:var(--green);background:#f2f6f4}.text-button{min-height:44px;color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:7px;padding:8px 0;font-size:.875rem;display:inline-flex}.text-button:hover{color:var(--green)}.icon-button{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border-radius:7px;justify-content:center;align-items:center;padding:8px;display:inline-flex}.icon-button:hover{color:var(--green);background:#f2f6f4}.planner-tools{position:relative}.planner-tools summary{cursor:pointer;list-style:none}.planner-tools summary::-webkit-details-marker{display:none}.planner-tools-popup{z-index:15;border:1px solid var(--border);background:#fff;border-radius:9px;width:238px;padding:5px;position:absolute;top:49px;right:0;box-shadow:0 8px 30px #263c2a15}.planner-tools-popup button{text-align:left;background:0 0;border-radius:5px;align-items:center;gap:8px;width:100%;min-height:44px;padding:10px 12px;font-size:.875rem;display:flex}.planner-tools-popup button:hover{background:#f3f6f4}.week-strip{z-index:20;border-bottom:1px solid var(--border);background:#fff;margin-bottom:12px;padding-bottom:8px;position:sticky;top:0}.week-strip-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:.875rem;display:flex}.week-strip-heading>div:first-child{min-width:0}.week-strip-heading>div:first-child span{overflow-wrap:anywhere}.week-nav{flex-wrap:wrap;flex-shrink:0;align-items:center;display:flex}.week-nav .text-button{padding-inline:9px}.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.day{min-height:72px;color:var(--muted);background:0 0;border-radius:7px;flex-direction:column;align-items:center;gap:7px;padding:8px 0 3px;display:flex}.day:hover{background:#f5f7f6}.day>span{font-size:.75rem}.day>strong{border-radius:10px;place-items:center;width:34px;height:34px;font-size:1.25rem;font-weight:500;line-height:1;display:grid}.day.sunday>span{color:#a94e45}.day.saturday>span{color:#3f6b91}.day.selected>strong{background:var(--green);color:#fff;font-weight:600}.day.is-today>span{font-weight:700}.schedule-section{max-width:1080px;margin-inline:auto}.empty-state{text-align:center;color:var(--muted);padding:78px 16px}.empty-state h2{font-size:1rem;font-weight:500}.empty-state .text-button{margin-top:10px}.backlog-section{border-top:1px solid var(--border);margin:20px 0 0}.backlog-section summary{cursor:pointer;min-height:44px;padding:16px 0;font-size:.875rem}.backlog-section summary span{color:var(--muted);margin-left:5px;font-size:.75rem}.backlog-caption{color:var(--muted);margin-bottom:10px;font-size:.75rem}.backlog-task{border-bottom:1px solid var(--border);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-height:44px;padding:14px 0;display:flex}.backlog-task>div{flex:1;min-width:0}.backlog-task strong{overflow-wrap:anywhere;font-size:.875rem;font-weight:500;display:block}.backlog-task small{color:var(--muted);margin-top:5px;font-size:.75rem;display:block}.task-color-dot{background:var(--task-swatch);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.notice{color:#456454;overflow-wrap:anywhere;background:#f0f5f2;border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding:4px 12px;font-size:.875rem;line-height:1.8;display:flex}.notice>span{flex:1;min-width:0}.notice>button{flex-shrink:0}.notice-undo{white-space:nowrap;font-size:.75rem}.notice-error{color:#93583f;background:#faf0eb}.week-actions{justify-content:flex-end;margin-bottom:8px;display:flex}.settings-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.settings-card{border:1px solid var(--border);background:#fff;border-radius:9px;min-width:0;padding:25px}.settings-title{color:var(--green);align-items:center;gap:10px;display:flex}.settings-title h2{font-size:.9375rem;font-weight:600}.settings-card>p{color:var(--muted);margin:15px 0 19px;font-size:.75rem;line-height:1.9}.settings-card form{margin-top:24px}.settings-card form .primary{margin-top:8px}.settings-right{flex-direction:column;gap:20px;min-width:0;display:flex}code{font-family:ui-monospace,monospace;font-size:.75rem}.small-help{color:var(--muted);margin-top:11px;font-size:.75rem;line-height:1.9;display:block}.connection-secret{margin-top:20px}.connection-secret small{color:#85533b;margin-top:8px;font-size:.75rem;line-height:1.8;display:block}.modal{border:1px solid var(--border);color:#28342f;background:#fff;border-radius:12px;width:calc(100% - 32px);max-width:510px;max-height:calc(100dvh - 48px);padding:0;overflow:hidden;box-shadow:0 25px 80px #22361c29}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#293d3545}.modal[open]{flex-direction:column;display:flex}.modal-head{flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-head h2{letter-spacing:-.6px;font-size:1.25rem;font-weight:600}.modal form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.editor-fields{min-height:0;padding:0 24px 18px;overflow-y:auto}.task-action-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:20px;padding-bottom:16px;display:flex}.task-action-bar .outline-button{padding-inline:12px;font-size:.875rem}.task-action-bar .text-button{font-size:.75rem}.editor-status{color:var(--muted);flex-basis:100%;font-size:.75rem}.field-label{color:var(--muted);margin-bottom:18px;font-size:.75rem;line-height:1.8;display:block}input:not([type=checkbox]):not([type=radio]),select,textarea{color:#374c40;background:#fff;border:1px solid #d6ded9;border-radius:6px;outline:none;width:100%;min-width:0;min-height:44px;margin-top:7px;padding:11px 12px;font-size:1rem;display:block}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #90bda519}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:disabled,select:disabled{color:var(--muted);background:#f4f6f5}textarea{resize:vertical}.form-row{gap:15px;display:flex}.form-row>label{flex:1;min-width:0}[data-color=blue]{--task-swatch:#5677ad;--task-bg:#eaf0fc;--task-text:#244a87;--task-border:#b3c5e3}[data-color=coral]{--task-swatch:#c47560;--task-bg:#fcebe6;--task-text:#854a3b;--task-border:#e6c0b6}[data-color=green]{--task-swatch:#5e8a6b;--task-bg:#eaf4ed;--task-text:#365d42;--task-border:#b4cfbc}[data-color=violet]{--task-swatch:#8970b3;--task-bg:#f0ebfa;--task-text:#60478b;--task-border:#cbbce1}[data-color=pink]{--task-swatch:#be7091;--task-bg:#faebf2;--task-text:#854663;--task-border:#e4b8cb}[data-color=amber]{--task-swatch:#b88a3f;--task-bg:#fbf2dc;--task-text:#77591f;--task-border:#ddc68d}[data-color=teal]{--task-swatch:#4f9090;--task-bg:#e7f4f3;--task-text:#306767;--task-border:#aed0ce}[data-color=gray]{--task-swatch:#7b858d;--task-bg:#edf0f3;--task-text:#4d5964;--task-border:#bdc6ce}.time-field,.color-field{border:0;min-width:0;margin:0 0 18px;padding:0}.time-field legend,.color-field legend{color:var(--muted);margin-bottom:10px;font-size:.75rem}.time-field .form-row .field-label{margin-bottom:0}.color-options{flex-wrap:wrap;gap:6px;display:flex}.color-choice{cursor:pointer;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid;position:relative}.color-choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.color-swatch{background:var(--task-swatch);color:#fff;pointer-events:none;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.color-choice:has(input:checked) .color-swatch{outline:2px solid var(--task-text);outline-offset:3px}.color-choice:has(input:focus-visible){outline-offset:2px;border-radius:7px;outline:2px solid #245548}.checkbox-row{color:var(--muted);align-items:flex-start;gap:9px;margin:17px 0 20px;font-size:.875rem;display:flex}.checkbox-row input{accent-color:var(--green);margin-top:4px}.checkbox-row small{color:var(--muted);margin-top:5px;font-size:.75rem;display:block}.optional{margin-left:5px;font-size:.75rem}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.modal-footer>div{align-items:center;gap:18px;display:flex}.danger-text{color:#985338;background:0 0;min-height:44px;padding:8px 0;font-size:.75rem}.form-error{color:#93583f;margin:13px 0;font-size:.75rem;line-height:1.8}.startup{flex-direction:column;justify-content:center;align-items:center;gap:25px;min-height:100dvh;padding:30px;display:flex}.startup p{color:var(--muted);text-align:center;font-size:.875rem;line-height:1.9}.login-shell{min-height:100dvh;padding:max(32px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:#fff;place-items:center;display:grid}.login-card{border:1px solid var(--border);background:#fff;border-radius:12px;width:100%;max-width:400px;height:fit-content;padding:24px}.login-card form{width:100%;max-width:352px;margin-inline:auto}.login-card input:not([type=checkbox]):not([type=radio]),.login-card .primary,.login-card .google-button{min-height:48px;font-size:1rem;line-height:1.5}.login-card .primary,.login-card .google-button{white-space:normal}.login-card .brand{margin-bottom:30px}.login-card h1{font-size:1.5rem}.login-card>p{color:var(--muted);margin:15px 0 25px;font-size:.75rem;line-height:1.9}.login-card .primary{width:100%;margin-top:10px}.auth-card h1{margin-bottom:24px}.auth-shell{background:#f6f8f7}.auth-layout{grid-template-columns:minmax(0,1fr) minmax(340px,400px);align-items:center;gap:64px;width:100%;max-width:980px;display:grid}.auth-intro{min-width:0}.auth-artwork{width:100%;max-width:440px;height:auto;margin-inline:auto;display:block}.auth-intro-copy{max-width:340px;margin:16px auto 0}.auth-intro-copy strong{letter-spacing:-.8px;font-size:1.5rem;font-weight:650}.auth-intro-copy p{color:var(--muted);word-break:keep-all;margin-top:12px;font-size:.9375rem;line-height:1.8}.auth-card .brand{color:var(--green);gap:6px;margin-bottom:4px;font-size:1.625rem}.auth-card>.auth-descriptor{margin:0 0 28px 46px;font-size:.8125rem}.auth-card .field-label small{margin-top:6px;font-size:.75rem;display:block}.auth-card .google-button{width:100%;margin-top:14px}.auth-links{flex-wrap:wrap;column-gap:18px;margin-top:14px;display:flex}.auth-links .text-button{font-size:.75rem}.auth-message{color:#456454;overflow-wrap:anywhere;margin:16px 0;font-size:.75rem;line-height:1.8}@media (width<=900px){.auth-layout{max-width:400px;display:block}.auth-intro{display:none}}@media (width<=480px){.auth-shell{background:#fff}.auth-shell .auth-card{border:0;max-width:352px;margin-inline:auto;padding:12px 0}.auth-card>.auth-descriptor{margin-bottom:24px}}@media (height<=600px){.login-shell{align-items:start}}.account-email{overflow-wrap:anywhere;font-size:.875rem!important}.account-section{border-top:1px solid var(--border);margin-top:25px;padding-top:23px}.account-section h3{font-size:.875rem;font-weight:600}.ai-connections h4{margin:0 0 8px;font-size:.875rem;font-weight:600}.connection-url{margin-top:20px}.connection-url input{font-family:ui-monospace,monospace}.connection-providers{gap:20px;margin-top:24px;display:grid}.connection-providers>div{border:1px solid var(--border);border-radius:8px;min-width:0;padding:16px}.connection-providers a{white-space:normal;margin-top:12px;text-decoration:none}.connection-providers ol{margin:0;padding-left:20px}.connection-providers li+li{margin-top:8px}.connection-list-heading{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.connection-list-heading h4{margin:0}.connection-scopes{flex-wrap:wrap;gap:5px;margin:8px 0;padding:0;list-style:none;display:flex}.connection-scopes li{color:var(--green);overflow-wrap:anywhere;background:#eef4f1;border:0;border-radius:4px;padding:3px 7px;font-size:.75rem}.connection-list{margin-top:5px}.connection-list .text-button{flex-shrink:0}.connection-dialog{border:1px solid var(--border);width:min(420px,100vw - 32px);max-height:calc(100dvh - 32px);color:inherit;border-radius:12px;padding:24px;overflow-y:auto}.connection-dialog::backdrop{background:#17281f55}.connection-dialog h2{margin-bottom:14px;font-size:1.25rem}.connection-dialog p{overflow-wrap:anywhere;font-size:.875rem;line-height:1.8}.connection-dialog-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.consent-card .connection-scopes{margin-block:20px}.consent-card>p{overflow-wrap:anywhere;margin-block:14px;line-height:1.8}.consent-card .account-email{color:var(--muted)}.consent-client-id code{overflow-wrap:anywhere;font-size:.6875rem}.account-section form{margin-top:18px}.account-key-list{margin:20px 0 0;padding:0;list-style:none}.account-key-list li{border-top:1px solid var(--border);align-items:center;gap:12px;padding:14px 0;display:flex}.account-key-list li>div{flex:1;min-width:0}.account-key-list strong{overflow-wrap:anywhere;font-size:.875rem;font-weight:500;display:block}.account-key-list small{color:var(--muted);margin-top:5px;font-size:.75rem;line-height:1.8;display:block}.legacy-import{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.legacy-import summary{cursor:pointer;min-height:44px;padding-block:10px;font-size:.875rem}.secret-actions{flex-wrap:wrap;column-gap:20px;display:flex}.connection-secret input{font-family:ui-monospace,monospace;font-size:.875rem}@media (width<=800px){.sidebar,.main{padding-inline:24px}.settings-grid{grid-template-columns:1fr}}@media (width<=700px){.sidebar{flex-direction:column;gap:2px;padding:6px 20px 4px}.sidebar .brand{font-size:1rem;line-height:20px}nav{gap:4px;width:100%}.nav-item{flex:1;gap:6px;padding-inline:7px;font-size:.75rem}.nav-item svg{width:16px}.main{padding-inline:20px;padding-bottom:30px}.page-heading{gap:12px;margin:16px 0 12px}h1{font-size:1.5rem}.heading-date{font-size:.75rem}.week-strip{margin-bottom:16px;padding-bottom:10px}.week-strip-heading{gap:8px;margin-bottom:4px;font-size:.75rem}.day{gap:4px;min-height:64px;padding-top:4px}.days{gap:3px}.day>strong{width:30px;height:30px;font-size:1.125rem}.week-actions{align-items:flex-end;gap:12px}.settings-card{padding:21px}.settings-card .outline-button{white-space:normal;text-align:left}.modal{max-height:calc(100dvh - 24px)}.modal-head{padding:14px 20px}.modal-head h2{font-size:1.125rem}.editor-fields,.modal-footer{padding-inline:20px}.login-card{padding:29px}}@media (width<=420px){.sidebar{padding-inline:12px}.nav-item{gap:5px;padding-inline:4px}.nav-item svg{display:none}.main{padding-inline:16px}.page-heading{flex-wrap:wrap}.page-heading>div:first-child{flex:138px}h1{font-size:1.375rem}.form-row{flex-direction:column;gap:0}.time-field .form-row{flex-direction:row;gap:15px}.modal-head,.modal-footer,.editor-fields{padding-inline:16px}.modal-footer>div{gap:12px}.settings-card{padding:18px}.week-actions{flex-direction:column;align-items:flex-start}.week-actions .outline-button{align-self:flex-end}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.date-range,.date-navigation{align-items:center;gap:4px;display:flex}.date-picker{flex-shrink:0;position:relative}.date-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.date-picker:focus-within{outline:3px solid var(--green);outline-offset:2px}.compact-date{display:none}.day-dots{height:3px}.day-dots i{background:#94aea3;border-radius:50%;width:3px;height:3px;display:block}.main{padding:0 24px 24px}.sidebar{padding:12px 24px}.schedule-section{width:100%;min-width:0;max-width:none}.planner-workspace{gap:18px;min-width:0;display:flex}.wide-backlog{display:none}.day-calendar{min-width:0;position:relative}.time-grid-scroll{border:1px solid var(--border);overscroll-behavior:contain;overflow-anchor:none;border-radius:12px;height:max(320px,100dvh - 225px);position:relative;overflow:auto}.time-grid{width:100%}.hour-label{z-index:10;width:48px;color:var(--muted);background:#fff;flex:0 0 48px;padding:10px 4px;font-size:.6875rem;position:sticky;left:0}.hour-row{border-bottom:1px solid var(--border);display:flex}.hour-track{flex:1;min-width:0;position:relative}.time-block{border:1px solid var(--task-border);background:var(--task-bg);color:var(--task-text);z-index:3;border-radius:12px;position:absolute}.time-block.done .time-block-title,.time-block.skipped .time-block-title{text-decoration:line-through}.time-block.inProgress,.time-block.selected-block{box-shadow:inset 0 0 0 1px var(--green)}.time-block.preview{box-shadow:0 0 0 2px var(--green);z-index:8}.time-block-body{border-radius:inherit;text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:0 0;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;width:100%;padding:8px min(8px,10%);display:flex;position:absolute;inset:0;overflow:hidden}.time-block-title{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:1.0625rem;font-weight:730;line-height:1.5;overflow:hidden}.time-block-title svg{margin-right:3px}.time-block-body small{white-space:nowrap;font-size:.6875rem}.time-block-body:focus-visible{outline-offset:-3px}.time-block-state{font-size:.75rem}.is-dragging .time-block-body{cursor:grabbing}.time-edge{touch-action:none;z-index:12;cursor:ew-resize;background:0 0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute}.time-edge:after{content:"";background:var(--green);width:12px;height:12px;box-shadow:0 0 0 1px var(--green);border:2px solid #fff;border-radius:50%}.wrapped-calendar .time-edge{cursor:ew-resize}.wrapped-calendar .time-block.done .time-block-body,.wrapped-calendar .time-block.inProgress .time-block-body,.wrapped-calendar .time-edge[data-readonly]{touch-action:pan-y}.wrapped-calendar .hour-label{font-variant-numeric:tabular-nums;flex-basis:56px;width:56px;padding:0 4px}.wrapped-calendar .mobile-band{box-shadow:none;border-width:.75px;border-radius:0}.wrapped-calendar .band-start{border-top-left-radius:6px;border-bottom-left-radius:6px}.wrapped-calendar .band-end{border-top-right-radius:6px;border-bottom-right-radius:6px}.mobile-band-label{pointer-events:none;flex-direction:column;justify-content:center;padding-inline:16px;display:flex;position:absolute;inset:0;overflow:hidden}.mobile-band-label .time-block-title{font-weight:600}.wrapped-calendar .time-block-body{border-radius:0;padding:0;overflow:visible}.wrapped-calendar .time-edge{border-radius:0}.wrapped-calendar .time-edge:after{left:calc(var(--point-x) - 5px);background:var(--task-text);width:10px;height:10px;box-shadow:none;border:2px solid #fff;position:absolute}.wrapped-calendar .time-edge[data-readonly]{cursor:pointer}.wrapped-calendar .preview{border-color:var(--task-text);box-shadow:none;border-width:1.5px}.drag-original{opacity:0;pointer-events:none}.drag-band,.drag-edge{pointer-events:none}.grid-end{height:48px}.grid-empty{pointer-events:none;color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.grid-empty h2{background:var(--paper);border-radius:6px;padding:6px 10px;font-size:.875rem;font-weight:500}.drag-time-preview{z-index:25;background:var(--green);color:#fff;pointer-events:none;border-radius:6px;padding:5px 10px;font-size:.75rem;position:absolute;top:50px;right:16px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.vertical-time-grid{grid-template-columns:48px repeat(var(--day-count), minmax(0, 1fr));display:grid}.vertical-axis{z-index:15;color:var(--muted);background:#fff;font-size:.6875rem;position:sticky;left:0}.vertical-axis>div:not(.vertical-header){padding:6px 4px}.vertical-header{z-index:16;border-bottom:1px solid var(--border);width:100%;height:48px;color:var(--muted);background:#fff;justify-content:center;align-items:center;gap:6px;font-size:.75rem;display:flex;position:sticky;top:0}.vertical-header strong{color:#28342f;font-size:1.1875rem}.vertical-header.current{color:var(--green);background:#f3f7f5}.vertical-day{border-left:1px solid var(--border);min-width:0}.vertical-day-track{background:repeating-linear-gradient(to bottom, transparent 0, transparent 75px, var(--border) 75px, var(--border) 76px);position:relative}.vertical-calendar .time-edge{cursor:ns-resize;height:44px;left:calc(50% - 22px)}.vertical-calendar .time-edge:after{width:12px;height:12px;box-shadow:0 0 0 1px var(--green);border:2px solid #fff;border-radius:50%}.vertical-calendar .time-edge.start{top:-22px}.vertical-calendar .time-edge.end{bottom:-22px}.vertical-calendar .short-block .time-edge.start{top:-44px;left:0}.vertical-calendar .short-block .time-edge.end{bottom:-44px;left:auto;right:0}.vertical-calendar .short-block .time-block-body small,.vertical-calendar .short-block .time-block-state{display:none}.vertical-calendar .time-block-body{justify-content:flex-start}.vertical-calendar .short-block .time-block-body{padding-block:0}.vertical-calendar .selected-block{z-index:10}.vertical-calendar .preview{z-index:11}.vertical-calendar .near-start .time-edge.start{top:0}.vertical-calendar .near-end .time-edge.end{bottom:0}.app-shell{width:var(--shell-width);min-height:var(--shell-height);margin:var(--shell-y) 0 0 var(--shell-x)}.app-shell[data-calendar-mode=day] .main{padding:0 10px 78px}.app-shell[data-calendar-mode=day] .settings-grid{grid-template-columns:1fr}.app-shell[data-calendar-mode=day] .week-strip{margin-bottom:8px;padding:8px 0 5px}.app-shell[data-calendar-mode=day] .week-strip-heading{flex-wrap:wrap;gap:0;margin:0}.app-shell[data-calendar-mode=day] .week-strip-heading>.date-range{flex-basis:100%}.app-shell[data-calendar-mode=day] .week-strip .date-range{grid-template-columns:44px minmax(0,1fr) 44px;gap:0;width:100%;display:grid}.app-shell[data-calendar-mode=day] .date-navigation{justify-content:center;gap:0;min-width:0}.app-shell[data-calendar-mode=day] .date-navigation .icon-button{flex-shrink:0}.app-shell[data-calendar-mode=day] .period-label{letter-spacing:-.5px;font-size:1rem;font-weight:700}.app-shell[data-calendar-mode=day] .week-strip .week-nav{justify-content:flex-end;width:100%;display:flex}.app-shell[data-calendar-mode=day] .week-strip .days{display:grid}.app-shell[data-calendar-mode=day] .day{gap:3px;min-height:54px;padding-top:3px}.app-shell[data-calendar-mode=day] .day>strong{width:30px;height:30px;font-size:1.125rem}.app-shell[data-calendar-mode=day] .time-grid-scroll{height:max(100px, calc(var(--shell-height) - 210px));padding-bottom:80px;scroll-padding-bottom:80px}.app-shell:not([data-calendar-mode=day]) .week-strip .days{display:none}.app-shell:not([data-calendar-mode=day]) .week-strip{margin:0 0 12px;padding:8px 0}.app-shell:not([data-calendar-mode=day]) .week-strip-heading{margin:0}.app-shell[data-compact-date=true] .compact-date{white-space:nowrap;font-size:1rem;font-weight:700;display:inline-flex}.app-shell[data-compact-date=true] .period-label,.app-shell[data-compact-date=false] .compact-date{display:none}.app-shell[data-compact-date=false] .period-label{display:inline}.app-shell.has-editor[data-editor-placement=side] .planner-workspace{padding-right:var(--editor-reserve)}.app-shell.has-editor[data-editor-placement=side] .month-calendar{margin-right:var(--editor-reserve)}.app-shell[data-calendar-mode=day] .notice{margin-top:8px}.app-shell[data-navigation=bottom] .sidebar{inset:auto auto var(--nav-bottom) var(--shell-x);width:var(--shell-width);z-index:30;border-top:1px solid var(--border);background:#fff;border-bottom:0;flex-direction:row;padding:6px 10px;position:fixed}.app-shell[data-navigation=bottom] .sidebar:after{content:"";width:100%;height:var(--nav-safe-bottom,0px);background:inherit;position:absolute;top:100%;left:0}.app-shell:not([data-navigation=top]) .sidebar .brand{display:none}.app-shell:not([data-navigation=top]) .sidebar nav{justify-content:space-around;width:100%}.app-shell:not([data-navigation=top]) .nav-item{flex-direction:column;flex:1;gap:3px;min-height:44px;padding:5px;font-size:.6875rem}.app-shell:not([data-navigation=top]) .nav-item svg{width:18px;display:block}.app-shell[data-navigation=rail] .sidebar{left:var(--rail-x);top:var(--rail-y);width:64px;height:var(--rail-height);z-index:30;border:0;border-inline:1px solid var(--border);overscroll-behavior:contain;background:#fff;flex-direction:column;justify-content:flex-start;padding:8px 4px;display:flex;position:fixed;overflow-y:auto}.app-shell[data-navigation=rail] .sidebar nav{flex-direction:column;flex-shrink:0;gap:8px;margin-top:auto}.app-shell[data-navigation=rail] .nav-item span{word-break:keep-all}.app-shell[data-navigation=rail] .nav-item{white-space:normal;flex:none;width:100%;min-height:60px}.app-shell[data-navigation=rail] .main{padding-bottom:16px}.app-shell[data-navigation=rail] .time-grid-scroll{height:max(100px, calc(var(--shell-height) - 136px))}.app-shell.month-view{height:var(--shell-height);min-height:0;overflow:hidden}.month-view .main{flex-direction:column;height:calc(100% - 68px);padding:0 0 16px;display:flex}.month-view[data-navigation=bottom] .main{height:100%;padding:0 0 62px}.month-view[data-navigation=rail] .main{height:100%;padding:0}.month-view .notice{flex-shrink:0;margin-inline:10px}.task-editor[open]{z-index:40;min-width:0;max-width:none;margin:0;position:fixed;bottom:auto;right:auto}.task-editor .modal-head,.task-editor .editor-fields,.task-editor .modal-footer{padding-inline:16px}.task-editor .editor-fields{overscroll-behavior:contain;flex:1;scroll-padding-block:12px;display:block}.task-editor .modal-head{padding-block:10px}.task-editor .modal-footer{flex-wrap:wrap;gap:8px;padding-block:10px}.task-editor .modal-footer>div{gap:12px;margin-left:auto}.task-editor .form-row{flex-direction:row;gap:12px}.task-editor[data-editor-placement=sheet]{border-bottom:0;border-radius:18px 18px 0 0}.task-editor[data-editor-placement=sheet]::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#293d3518}.task-editor[data-editor-placement=side]{border-radius:12px;box-shadow:0 8px 30px #263c2a15}.task-editor[data-editor-placement=side]::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}@media (width>=1920px){body{background:#f6f8f7}.app-shell{border-inline:1px solid var(--border);background:#fff}.app-shell[data-calendar-mode=week] .wide-backlog{border-right:1px solid var(--border);flex:0 0 190px;padding-right:18px;display:block}.wide-backlog h2{margin:12px 0;font-size:.9375rem}.wide-backlog small{color:var(--muted);font-weight:400}.app-shell[data-calendar-mode=week] .wide-backlog+.schedule-section .backlog-section{display:none}}.floating-add,.floating-add:hover{right:var(--fab-right);bottom:var(--fab-bottom);z-index:31;background:linear-gradient(155deg,#3d7563,#2b5b4d 55%,#214b3f);border-radius:50%;width:56px;height:56px;padding:0;transition:transform .14s,box-shadow .14s;position:fixed;box-shadow:0 8px 18px #163e3038,0 2px 4px #18382d30,inset 0 1px #ffffff40,inset 0 -1px #00000018}.floating-add:active{transform:translateY(2px)scale(.96);box-shadow:0 2px 5px #163e3033,inset 0 1px 2px #0002}.floating-add svg{stroke-width:2.3px}@media (prefers-reduced-motion:reduce){.floating-add{transition:none}}@media (width<=359px){.task-editor .form-row{flex-direction:column;gap:0}.time-field .form-row{flex-direction:row;gap:15px}}.native-status{margin:16px 0}.native-status>div{justify-content:space-between;gap:16px;margin-bottom:10px;display:flex}.native-status dt{color:var(--muted)}.native-status dd{text-align:right;overflow-wrap:anywhere;margin:0}[data-platform=native] input:not([type=checkbox]):not([type=radio]),[data-platform=native] select,[data-platform=native] textarea{font-size:1rem}.native-timezone{overflow-wrap:anywhere;font-size:.6875rem;display:block}.calendar-event-list{margin-bottom:8px}.calendar-event-list>summary{cursor:pointer;min-height:44px;padding:10px 4px;font-size:.875rem}.calendar-event-list>summary>span{color:var(--muted)}.calendar-event-list ul{border:1px solid var(--border);border-radius:8px;max-height:min(45dvh,360px);margin:0;padding:0 8px;list-style:none;overflow-y:auto}.calendar-event-list li+li{border-top:1px solid var(--border)}.calendar-event-list li button{text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-height:44px;padding:12px 4px;display:flex}.calendar-event-list li button[aria-pressed=true]{outline:2px solid var(--green);outline-offset:-2px}.calendar-event-list li button>span:not(.task-color-dot){flex:1;min-width:0}.calendar-event-list strong{overflow-wrap:anywhere;font-size:1rem;font-weight:600;display:block}.calendar-event-list small{color:var(--muted);overflow-wrap:anywhere;font-size:.875rem;line-height:1.5;display:block}.calendar-event-list li button:focus-visible{outline-offset:-3px}.mobile-state-icons{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.mobile-state-icons svg{flex-shrink:0}.wrapped-calendar .mobile-band.selected-block{outline:2px solid var(--green);outline-offset:1px;z-index:5}.wrapped-calendar .mobile-band.inProgress{border-block:3px double var(--task-text)}.wrapped-calendar .mobile-band.done{background-image:linear-gradient(transparent calc(50% - 1px), var(--task-text) calc(50% - 1px), var(--task-text) calc(50% + 1px), transparent calc(50% + 1px))}.wrapped-calendar .mobile-band.skipped{border-style:dashed}.wrapped-calendar .mobile-band.fixed-block{border-left:2px solid var(--task-text)}.wrapped-calendar .mobile-band[data-split-preview] .mobile-band-label{padding-inline:4px}.wrapped-calendar .mobile-band.drag-band{border:2px dashed var(--task-text)}.time-block-title svg{vertical-align:-.05em}.field-label,.time-field legend,.color-field legend,.editor-status,.form-error,.small-help,.settings-card>p,.account-key-list small,.native-timezone,.native-status,.auth-message,.auth-links .text-button,.notice-undo,.danger-text,.backlog-task small,.connection-secret small{font-size:.875rem}.backlog-task strong{font-size:1rem}.heading-actions,.page-heading,.modal-footer,.modal-footer>div,.connection-list-heading,.connection-dialog-actions,.account-key-list li,.week-strip-heading,.week-strip-heading .date-navigation{flex-wrap:wrap}.day>strong{width:auto;min-width:34px;height:auto;min-height:34px;padding-inline:4px}.app-shell[data-calendar-mode=day] .day>strong{width:auto;min-width:30px;height:auto;min-height:30px}.app-shell[data-calendar-mode=day] .day{min-width:0}.app-shell[data-calendar-mode=day] .period-label{text-align:center}.app-shell:not([data-navigation=top]) .nav-item{overflow-wrap:anywhere;min-width:0;font-size:.875rem}.app-shell[data-navigation=bottom] .main{padding-bottom:calc(var(--navigation-height,62px) + 16px)}.app-shell.month-view[data-navigation=bottom] .main{padding-bottom:var(--navigation-height,62px)}.planner-tools-popup{width:min(270px, calc(var(--shell-width) - 24px));max-height:min(60dvh,400px);overflow-y:auto}.planner-tools-popup button{overflow-wrap:anywhere;font-size:1rem}.native-status>div{flex-wrap:wrap}.native-status dd{max-width:100%}[data-native-platform=android] button:not(.time-edge):not(.task-open):not(.month-date){min-height:48px}[data-native-platform=android] .icon-button,[data-native-platform=android] .color-choice{min-width:48px;min-height:48px}[data-native-platform=android] .app-shell[data-calendar-mode=day] .week-strip .date-range{grid-template-columns:48px minmax(0,1fr) 48px}[data-reduce-motion=true] *,[data-reduce-motion=true] :before,[data-reduce-motion=true] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}[data-bold-text=true]{font-weight:600}[data-bold-text=true] :is(button,input,select,textarea,.field-label,.month-title,.month-day-title){font-weight:650}[data-increased-contrast=true]{--border:#55665e}[data-increased-contrast=true] [data-color]{--task-border:var(--task-text)}[data-increased-contrast=true] :is(input,select,textarea,.outline-button){border-color:var(--muted)}[data-reduce-transparency=true] dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#e7ece9}[data-reduce-transparency=true] .floating-add{background:var(--green)}@media (forced-colors:active){:root{--green:Highlight;--muted:CanvasText;--border:CanvasText;--paper:Canvas}[data-color]{--task-bg:Canvas;--task-text:CanvasText;--task-border:CanvasText;--task-swatch:CanvasText}:is(button,a,summary,input,select,textarea):focus-visible{outline-color:highlight}:is(input,select,textarea,.outline-button){border-color:buttontext}.time-block,.month-date{border-color:canvastext}.primary,.floating-add,.day.selected>strong,.month-date[aria-pressed=true]{color:highlighttext;background:highlight}.month-date[aria-pressed=true] :is(.month-count,.month-date-number){color:highlighttext}.month-date[aria-pressed=true]:focus-visible{outline-color:highlighttext}.time-edge:after{background:canvastext;border-color:canvas}.time-block.selected-block{outline:2px solid highlight}}.month-calendar{background:var(--paper);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.month-header{flex-shrink:0;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding:8px 4px;display:grid}.month-header button{background:0 0;border-radius:7px;min-height:44px;padding:0}.month-back,.month-icon{justify-content:center;align-items:center;display:flex}.month-navigation{justify-content:center;align-items:center;min-width:0;display:flex}.month-icon{flex:0 0 44px;width:44px}.month-title{text-align:center;overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:500;line-height:1.5}.month-today{font-size:.875rem;font-weight:500}.month-header button:hover{background:#f2f6f4}.month-scroll{overscroll-behavior-y:contain;overflow-anchor:none;scrollbar-width:none;min-height:0;scroll-padding-top:calc(var(--month-calendar-height,0px) + var(--month-heading-height,58px));flex:1;scroll-padding-bottom:90px;overflow-y:auto}.month-scroll::-webkit-scrollbar{display:none}.month-scroll:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.month-calendar-slot{z-index:2;pointer-events:none;position:sticky;top:0}.month-unpinned .month-calendar-slot{position:relative;top:auto}.month-calendar-grid{padding:0 4px calc(14px - 6px * var(--month-compression,0));background:var(--paper);pointer-events:auto}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays{padding:calc(8px - 2px * var(--month-compression,0)) 0 calc(6px - 2px * var(--month-compression,0));text-align:center;color:var(--muted);font-size:.75rem;line-height:18px}.month-grid{row-gap:calc(4px - 2px * var(--month-compression,0))}.month-grid-row{display:contents}.month-grid-cell{min-width:0}.month-date{width:100%;min-width:0;min-height:max(48px,3rem);height:calc(60px - 12px * var(--month-compression,0));font-variant-numeric:tabular-nums;background:0 0;border:2px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-weight:400;display:flex}.month-date-number{font-size:.875rem;line-height:1.5}.month-other{color:var(--muted);opacity:.7}.month-current{border-color:#689b8b}.month-date[aria-pressed=true]{background:var(--green);color:#fff;opacity:1}.month-date:focus-visible{outline-offset:-3px}.month-date[aria-pressed=true]:focus-visible{outline-color:#fff}.month-date:hover:not([aria-pressed=true]){background:#f2f6f4}.month-count{min-height:1.0625rem;color:var(--muted);font-size:.6875rem;line-height:1.5}.month-date[aria-pressed=true] .month-count{color:#fff}.month-agenda{padding:0 20px}.month-agenda-spacer{height:calc(90px + env(safe-area-inset-bottom))}.month-day-title{top:var(--month-calendar-height,0px);z-index:1;border-top:1px solid var(--border);background:var(--paper);overflow-wrap:anywhere;margin:0 -20px;padding:16px 20px;font-size:1rem;font-weight:500;line-height:1.5;position:sticky}.month-agenda-list{margin:0;padding:0;list-style:none}.month-agenda-list>li+li{border-top:1px solid var(--border)}.month-agenda-item{text-align:left;background:0 0;align-items:flex-start;gap:12px;width:100%;min-height:60px;padding:13px 0;display:flex}.month-agenda-item>.task-color-dot{flex:0 0 8px;width:8px;height:8px;margin-top:9px}.month-event-body{flex:1;min-width:0}.month-event-title{overflow-wrap:anywhere;font-size:1rem;font-weight:500;line-height:1.5;display:block}.month-event-title svg{color:var(--muted)}.month-event-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:5px 10px;margin-top:3px;font-size:.875rem;line-height:1.5;display:flex}.month-status{color:var(--muted);overflow-wrap:anywhere;background:#f4f6f5;border-radius:6px;flex-shrink:0;max-width:100%;margin-top:1px;padding:1px 7px;font-size:.875rem;line-height:1.5}.month-agenda-item{flex-wrap:wrap}.month-agenda-item>.month-status{margin-left:20px}.month-event-body{flex-basis:calc(100% - 20px)}.month-agenda-item.inProgress .month-status{color:var(--green);background:#edf5ef}.month-agenda-item.skipped .month-event-title{color:var(--muted);text-decoration:line-through}.month-agenda-item:focus-visible{outline-offset:-2px}.month-empty{color:var(--muted);padding:24px 0;font-size:.875rem}@media (width<=359px){.month-title{font-size:.875rem}.month-agenda{padding-inline:16px}.month-day-title{margin-inline:-16px;padding-inline:16px}}.editor-inputs{border:0;min-width:0;margin:0;padding:0}.editor-zone{color:var(--muted);overflow-wrap:anywhere;margin:0 0 12px;font-size:.875rem}.editor-options{margin-top:16px}.editor-options>summary{cursor:pointer;min-height:44px;color:var(--green);align-items:center;display:flex}.editor-options>summary:before{content:"+";margin-right:8px}.editor-options[open]>summary:before{content:"−"}.editor-recovery{margin-block:12px}.draft-confirm-content{padding:0 24px 16px;line-height:1.5}.draft-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:0 24px 24px;display:flex}.plan-range{color:var(--muted);overflow-wrap:anywhere;margin:0 0 12px;font-size:.875rem}.week-actions{flex-wrap:wrap;align-items:center}.week-actions .plan-range{margin:0}html[data-native-platform=ios] .task-editor .modal-head h2{text-align:center;flex:1;font-size:1rem}html[data-native-platform=ios] .task-editor .modal-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}html[data-native-platform=ios] .task-editor .modal-head>button{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}html[data-native-platform=ios] .task-editor .modal-head h2{overflow-wrap:anywhere;min-width:0}.task-editor .time-field .form-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:0 12px;display:grid}.task-editor[data-editor-scroll=dialog]{overscroll-behavior:contain;scroll-padding-block:12px;overflow-y:auto}.task-editor[data-editor-scroll=dialog] form{flex:none;min-height:auto;overflow:visible}.task-editor[data-editor-scroll=dialog] .editor-fields{flex:none;overflow:visible}
