:root{font-family:Pretendard,Noto Sans KR,Malgun Gothic,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#29343b;background:#f7f8fa;font-synthesis:none;font-size:14px;line-height:1.5;--green: #207964;--line: #e7ebee;--muted: #7b858b}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{border:0;background:transparent}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,label:focus-within{outline:2px solid #207964;outline-offset:3px}button:hover:not(:disabled){background-color:#edf1f2}input,select,textarea{min-width:0;border:1px solid #dce3e6;background:#fff;border-radius:5px;color:#29343b;padding:8px 10px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);cursor:pointer}textarea{resize:vertical}h1,h2,h3,p{margin:0}.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100dvh}.app.has-detail{grid-template-columns:252px minmax(0,1fr) 338px}.sidebar{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;height:100dvh;position:sticky;top:0;padding:30px 18px 16px}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 28px}.brand-mark{width:35px;height:35px;flex-shrink:0;color:#fff;border-radius:8px;background:var(--green);display:grid;place-items:center}.brand strong{display:block;font-size:20px;font-weight:700;line-height:1.15}.brand span:not(.brand-mark){font-size:11px;color:var(--muted)}.brand button{margin-left:auto}.search{display:flex;align-items:center;gap:8px;background:#f4f6f7;color:var(--muted);border:1px solid #eef0f2;border-radius:6px;padding:0 10px;height:39px}.search input{border:0;background:transparent;padding:0;width:100%;font-size:13px;outline:0}.search .icon-button{width:20px;height:24px}.main-nav{padding:23px 0 19px;border-bottom:1px solid var(--line)}.nav-item{display:flex;align-items:center;width:100%;gap:13px;padding:11px 12px;min-height:44px;border-radius:5px;text-align:left;margin-bottom:3px;font-size:13px}.nav-item span{overflow-wrap:anywhere;flex:1}.nav-item svg{flex-shrink:0}.nav-item.active{background:#eaf3f0;font-weight:600}.nav-item small{font-size:11px;color:#6f7e79;font-weight:500}.lists-heading{display:flex;justify-content:space-between;align-items:center;padding:19px 10px 9px;font-size:11px;color:#879197}.list-nav{overflow-y:auto;min-height:45px}.new-list{display:flex;align-items:center;gap:12px;text-align:left;color:var(--green);padding:12px;width:100%;border-radius:5px;font-size:13px;margin-top:8px}.sidebar-bottom{margin-top:auto;padding-top:20px}.profile{border-top:1px solid var(--line);padding:18px 7px 0;display:flex;width:100%;align-items:center;gap:10px;text-align:left}.profile div{flex:1}.profile strong{font-size:12px;font-weight:600}.profile small{display:block;color:var(--muted);font-size:10px}.profile>svg{color:var(--muted)}.avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#e5edf2;color:#527183;font-weight:700}.workspace{min-width:0}.workspace-top{height:67px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 36px;gap:12px}.workspace-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#8b959b;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.top-status{display:flex;align-items:center;gap:5px;flex-shrink:0}.save-status{display:flex;align-items:center;gap:6px;color:#81918c;font-size:10px;margin-right:10px}.icon-button{width:32px;height:32px;flex-shrink:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:#808b91}.workspace-inner{max-width:970px;margin:0 auto;padding:39px 44px 30px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:29px}.page-eyebrow{color:#9ba5a9;font-size:9px;font-weight:600}h1{font-size:32px;font-weight:650;margin:5px 0 6px;overflow-wrap:anywhere;line-height:1.35}.page-heading p{font-size:15px;color:#44545d;font-weight:500}.heading-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;flex-shrink:0}.sort{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.sort select{border:0;padding:6px 1px;font-size:11px;background:transparent;max-width:90px}.day-progress{display:flex;align-items:center;gap:16px;font-size:10px;color:var(--muted);margin:-4px 0 27px}.progress-track{height:4px;flex:1;background:#e3eae7;border-radius:2px;overflow:hidden}.progress-track div{height:100%;background:#71a894;transition:width .3s}.day-progress strong{font-weight:500}.task-composer{background:#fff;border:1px solid #dfe9e5;border-radius:6px;margin-bottom:20px;padding:0 15px 14px}.composer-title{display:flex;align-items:center;gap:12px;min-height:58px;color:var(--green)}.composer-title input{border:0;flex:1;background:transparent;padding:12px 0;outline:none;font-size:15px}.composer-title input::placeholder{color:#667b72}.composer-fields{display:grid;grid-template-columns:minmax(140px,1.3fr) minmax(115px,1fr) minmax(110px,1fr) minmax(75px,.7fr) minmax(100px,1fr);gap:12px}.composer-fields>label,.composer-time{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:#52616a}.composer-fields input:not([type=checkbox]),.composer-fields select{width:100%;height:38px;font-size:13px;padding:6px}.composer-time-toggle{display:flex;align-items:center;gap:4px;height:18px}.composer-time-toggle input{width:15px;height:15px;margin:0 0 0 auto}.composer-fields input:disabled{background:#f4f6f7;color:#65737a}.repeat-field,.repeat-field>label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:#52616a}.repeat-field .repeat-interval{flex-direction:row;align-items:center;gap:8px}.repeat-field .repeat-interval input{width:76px;min-width:0}.repeat-interval span{white-space:nowrap}.fields .repeat-field select{width:100%}@media(max-width:1200px){.composer-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-fields>label:last-child{grid-column:1 / -1}}.add-submit{width:32px;height:32px;display:grid;place-items:center;background:#e9f3ef;color:var(--green);border-radius:5px}.sortable-task-row{position:relative}.sortable-task-row.dragging{z-index:5;box-shadow:0 8px 24px #243b3026;opacity:.96}.sortable-task-row .task-row{padding-left:43px}.sortable-task-row.disabled .task-row{padding-left:14px}.sortable-task-row:first-child .task-row{border-radius:5px 5px 0 0}.sortable-task-row:last-child .task-row{border-radius:0 0 5px 5px}.drag-handle{position:absolute;z-index:2;left:5px;top:50%;transform:translateY(-50%);width:32px;height:42px;padding:0;display:grid;place-items:center;color:#9aa5aa;border-radius:4px;touch-action:none;cursor:grab}.drag-handle:active{cursor:grabbing}.sortable-task-row.disabled .drag-handle{display:none}.task-row{display:flex;align-items:center;gap:14px;background:#fff;min-height:67px;border-bottom:1px solid var(--line);padding:10px 14px}.task-row:first-of-type{border-radius:5px 5px 0 0}.task-row:last-of-type{border-radius:0 0 5px 5px}.task-row:hover{background:#fcfdfd}.task-row.selected-row{background:#edf5f1}.check-button{width:20px;height:20px;border:1.5px solid #b4c3bd;border-radius:50%;padding:0;flex-shrink:0;display:grid;place-items:center;color:#fff}.check-button:hover:not(:disabled){background:#e4f1ea;border-color:var(--green)}.check-button.checked{background:var(--green);border-color:var(--green)}.check-button.checked:hover:not(:disabled){background:#186653}.task-content{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:0}.task-content:hover:not(:disabled){background:transparent}.task-title{font-size:13px;overflow-wrap:anywhere}.task-heading{display:flex;align-items:baseline;gap:9px;width:100%;min-width:0}.task-heading .task-title{min-width:0;flex:1}.task-time{flex-shrink:0;min-width:5ch;color:#355364;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.done .task-time{text-decoration:line-through;color:#65737a}.task-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#52616a;font-size:12px;margin-top:4px;min-height:18px}.task-meta:empty{display:none}.task-meta span{display:inline-flex;align-items:center;gap:4px}.priority-badge,.priority-option{flex-shrink:0;display:grid;place-items:center;border:1px solid transparent;font-weight:700;line-height:1}.priority-badge{width:27px;height:27px;border-radius:5px;font-size:11px}.priority-1{color:#a93f4a;background:#fbeaec;border-color:#f1cbd0}.priority-2{color:#8b671f;background:#fff4d9;border-color:#ead9a9}.priority-3{color:#65737a;background:#eef1f3;border-color:#dce2e5}.overdue,.task-meta .overdue{color:#c46766}.done .task-title,.strike{text-decoration:line-through;color:#939b9f}.empty-state{min-height:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aaba4;gap:12px}.empty-art{width:92px;height:92px;display:grid;place-items:center;border:1px solid #e0e8e3;border-radius:50%;background:#f0f5f2}.empty-state h2{font-size:15px;font-weight:500;color:#89978f}.text-button{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--green);padding:5px;border-radius:4px}.suggestions{margin-top:34px;border-top:1px solid var(--line);padding-top:19px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.section-heading h2{font-size:12px;font-weight:600;color:#78857e}.section-heading>span{font-size:10px;color:#929d98}.suggestion-row{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:11px 4px;gap:10px}.suggestion-row>button:first-child{flex:1;min-width:0;display:flex;text-align:left;flex-direction:column;gap:3px;padding:0;font-size:12px}.suggestion-row span{overflow-wrap:anywhere}.suggestion-row small{font-size:10px;color:var(--muted)}.completed{margin-top:25px}.completed-toggle{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:12px;color:#7f888e;margin-bottom:8px}.completed-toggle span{font-size:10px;padding:1px 7px;background:#e9edef;border-radius:4px}.workspace-footer{display:flex;justify-content:space-between;gap:10px;color:#a4acb0;font-size:10px;margin-top:25px}.calendar{margin-bottom:28px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.calendar-toolbar h2{font-size:16px;font-weight:600}.toolbar{display:flex;align-items:center;gap:4px}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));color:#8d959a;font-size:10px;text-align:center;margin-bottom:8px}.weekdays span:last-child{color:#bd757c}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:96px;text-align:left;display:flex;flex-direction:column;padding:7px 4px;gap:4px;overflow:hidden;background:#fff}.calendar-cell.selected{box-shadow:inset 0 0 0 2px #73a191;background:#eff6f2}.calendar-cell.outside{background:#f8f9fa;color:#b7bdc0}.day-number{display:grid;place-items:center;font-size:10px;width:22px;height:22px;flex-shrink:0;margin-left:2px}.day-number.today{background:var(--green);color:#fff;border-radius:50%}.calendar-entries{width:100%;min-width:0;display:flex;flex-direction:column;gap:3px}.calendar-entries>span{display:block;width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:9px;border-radius:2px;padding:1px 3px}.calendar-entries .untimed{background:#e7f0eb;color:#477962}.calendar-entries .timed{background:#e7eef8;color:#507498}.calendar-entries b{font-weight:500}.calendar-entries small{font-size:9px;color:var(--muted);padding-left:3px}.mobile-dot{display:none}.agenda-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.agenda-heading h2{font-size:15px;font-weight:600}.agenda-heading span{font-size:11px;color:var(--muted)}.task-group-title{display:flex;align-items:center;gap:6px;color:#44545d;font-size:14px;font-weight:600;padding:16px 0 8px}.schedule-group+.schedule-group{margin-top:23px}.schedule-group-heading{display:flex;align-items:center;gap:9px;padding:9px 0;color:#35464f}.schedule-group-heading h2{font-size:16px;font-weight:650;overflow-wrap:anywhere}.schedule-group-heading span{flex-shrink:0;font-size:12px;color:#52616a}.schedule-group-heading.overdue{color:#c46766}.detail{background:#fff;border-left:1px solid var(--line);height:100dvh;position:sticky;top:0;display:flex;flex-direction:column;min-width:0}.detail-top{height:67px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);flex-shrink:0}.detail-body{padding:20px;overflow-y:auto;flex:1}.detail-title{display:flex;gap:10px;align-items:flex-start;padding-bottom:15px}.detail-title .check-button{margin-top:7px}.detail-title textarea{width:100%;resize:vertical;border:0;padding:4px 0;font-size:16px;font-weight:600;line-height:1.6}.detail-title .icon-button{width:25px}.day-toggle{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border-radius:5px;background:#f6f8f7;font-size:12px;padding:12px;color:#85968c}.day-toggle.active{background:#eaf4ee;color:var(--green)}.detail-section{border-bottom:1px solid var(--line);padding:21px 0}.detail-section h3{font-size:11px;color:#879197;font-weight:500;margin-bottom:10px}.priority-section{display:flex;align-items:center;justify-content:space-between;gap:18px}.priority-section h3{margin-bottom:3px}.priority-section small{font-size:9px;color:#a1aaae}.priority-control{display:flex;gap:7px}.priority-option{width:34px;height:32px;border-radius:5px;font-size:12px;opacity:.68}.priority-option.active{opacity:1;outline:2px solid #8ba89c;outline-offset:2px}.detail-section .section-heading h3{margin:0}.step-row{display:flex;align-items:center;font-size:12px;gap:4px;min-height:35px}.step-row span{flex:1;overflow-wrap:anywhere}.step-add{display:flex;align-items:center;gap:10px;padding-left:8px;color:#a1aba6}.step-add input{width:100%;font-size:12px;border:0;padding:6px 0}.fields{display:flex;flex-direction:column;gap:13px}.fields label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#8a949a}.fields label.time-mode{flex-direction:row;justify-content:space-between;align-items:center}.fields input,.fields select{width:100%;font-size:12px}.fields input[type=checkbox]{width:17px}.notes{width:100%;font-size:12px;padding:9px 10px;line-height:1.7;border-color:#edf0f1}.attach-button{display:flex;align-items:center;gap:8px;position:relative;font-size:12px;color:var(--green);padding:8px 3px;cursor:pointer}.attach-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.field-hint{font-size:10px;color:#a1aaae}.file-row{display:flex;align-items:center;gap:6px;min-height:48px;font-size:11px}.file-row>svg{flex-shrink:0;color:#7c8e87}.file-row div{flex:1;min-width:0}.file-row span{overflow-wrap:anywhere}.file-row small{display:block;font-size:9px;color:var(--muted)}.file-row .icon-button{width:25px}.detail-footer{padding:12px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);flex-shrink:0}.detail-footer small{color:#9ba4a9;font-size:9px}.danger{color:#c76f71}.modal{width:min(440px,calc(100% - 32px));border:1px solid #dde4e1;border-radius:8px;padding:24px;color:#29343b;box-shadow:0 20px 80px #1a35222b;max-height:calc(100dvh - 60px)}.modal::backdrop{background:#25332f66}.modal header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.modal h2{font-size:18px;font-weight:600}.modal p{font-size:12px;color:#7c8983;margin:12px 0;overflow-wrap:anywhere}.modal-field{display:flex;flex-direction:column;gap:8px;font-size:12px}.modal-field input{width:100%}.swatches{display:flex;gap:13px;margin:20px 0}.swatches button{width:27px;height:27px;border-radius:50%;color:#fff;display:grid;place-items:center}.swatches button.selected{outline:2px solid #b6c6c0;outline-offset:3px}.swatches button:hover:not(:disabled){opacity:.8}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;flex-wrap:wrap}.modal-actions button{border:1px solid #dce3e0;border-radius:5px;padding:9px 14px;font-size:12px}.primary{background:var(--green);color:#fff}.primary:hover:not(:disabled){background:#186b57}.danger-fill{background:#b95a60;color:#fff}.danger-fill:hover:not(:disabled){background:#a54c52}.settings-section{padding:16px 0;border-bottom:1px solid var(--line)}.settings-section:first-of-type{padding-top:0}.settings-section h3{font-size:12px;font-weight:600;margin-bottom:13px}.setting-command{display:flex;align-items:center;gap:10px;padding:10px 8px;width:100%;text-align:left;font-size:12px;border-radius:4px}.setting-command svg{color:#7d9186}.modal p.account-email{color:#40544a}.setting-status{display:flex;align-items:center;gap:8px}.setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.settings-version{color:#a5ada9;font-size:10px;margin-top:22px}.toast{position:fixed;inset:auto auto 28px 50%;margin:0;border:0;transform:translate(-50%);background:#344b40;color:#fff;border-radius:6px;padding:12px 20px;font-size:12px;z-index:100;max-width:calc(100% - 30px);box-shadow:0 5px 20px #0002;overflow-wrap:anywhere}.reminder-banner,.update-banner{position:fixed;bottom:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #a7c8b7;padding:12px 16px;border-radius:6px;box-shadow:0 6px 30px #0002;z-index:70;max-width:calc(100% - 32px)}.reminder-banner>button:not(.icon-button){font-size:12px;overflow-wrap:anywhere;text-align:left}.update-banner{bottom:20px;font-size:12px}.update-banner button{display:flex;align-items:center;gap:5px;color:var(--green);font-size:12px}.mobile-only,.nav-backdrop{display:none}.loading{height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;font-size:13px;color:#75887d}.loading h1{font-size:22px}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1200px){.app.has-detail{grid-template-columns:230px minmax(0,1fr) 320px}.app{grid-template-columns:230px minmax(0,1fr)}.workspace-inner{padding:30px 28px}.workspace-top{padding:0 25px}.has-detail .save-status{display:none}}@media(max-width:1000px){.app.has-detail{grid-template-columns:230px minmax(0,1fr)}.detail{position:fixed;right:0;width:360px;max-width:100%;z-index:30;box-shadow:-8px 0 35px #26372b18}}@media(max-width:700px){.app,.app.has-detail{display:block}.sidebar{position:fixed;width:278px;z-index:50;inset:0 auto 0 0;transform:translate(-100%);transition:transform .2s;padding-top:25px}.sidebar.open{transform:translate(0)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#20342a55;z-index:40;width:100%;height:100%}.mobile-only{display:inline-flex}.workspace-top{height:58px;padding:0 14px;gap:7px}.workspace-label{flex:1;font-size:10px}.save-status{display:none}.workspace-inner{padding:27px 20px 28px}h1{font-size:28px}.page-heading{margin-bottom:25px;gap:8px}.page-eyebrow{font-size:8px}.page-heading p{font-size:15px}.heading-actions{max-width:125px;justify-content:flex-end}.task-row{min-height:70px;padding:12px;gap:12px}.task-title{font-size:13px}.icon-button{width:36px;height:36px}.composer-title input,.composer-fields input:not([type=checkbox]),.composer-fields select{font-size:16px}.search input,.modal input,.detail input,.detail textarea,.detail select{font-size:16px}.detail{width:100%;z-index:60}.detail-body{padding:22px}.detail-title textarea{font-size:18px}.detail-top{height:58px;padding:0 18px}.detail-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}.calendar-cell{height:56px;padding:5px 3px;align-items:center;gap:3px}.calendar-entries{display:none}.mobile-dot{display:block;width:4px;height:4px;border-radius:50%;background:#739e8a;flex-shrink:0}.calendar-toolbar h2{font-size:15px}.day-progress{gap:10px}.workspace-footer{padding-bottom:env(safe-area-inset-bottom)}.modal{padding:21px}}@media(max-width:380px){.composer-fields{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
