@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');

:root{color-scheme:light}
body{background:#f5f7fb;color:#25263a}

:root{font-family:'DM Sans','Noto Sans KR',sans-serif;color:#25263a;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400;--muted:#8c90a4;--line:#eceef4;--purple:#7367e8;--ink:#25263a}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#fff;border-right:1px solid #eef0f5;padding:30px 19px 20px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:11px;color:#25263a;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.8px;padding:0 9px 44px}.brand-mark{width:33px;height:33px;border-radius:11px;background:#7367e8;color:#fff;display:grid;place-items:center;font-size:20px;box-shadow:0 5px 12px #7367e842}.brand-light{font-weight:500;color:#85889b}.workspace-label{font-size:10px;font-weight:700;letter-spacing:1.3px;color:#a5a7b5;padding:0 11px 12px}.side-nav{display:grid;gap:5px}.nav-link{height:42px;padding:0 12px;display:flex;align-items:center;gap:12px;text-decoration:none;color:#74788c;border-radius:9px;font-size:13px;font-weight:500;transition:background .18s,color .18s}.nav-link:hover{background:#f7f6ff;color:#6358d5}.nav-link.active{background:#f0efff;color:#6358d5;font-weight:700}.nav-icon{width:17px;text-align:center;font-size:16px}.sidebar-note{margin-top:auto;margin-bottom:18px;padding:17px 14px;background:linear-gradient(140deg,#f5f3ff,#faf9ff);border:1px solid #efedff;border-radius:12px;color:#6860bf;font-size:12px;line-height:1.7}.note-icon{font-size:18px}.sidebar-note p{margin:6px 0 0}.profile{padding:15px 4px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.avatar,.top-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#eae8ff;color:#665bd1;font-size:12px;font-weight:700}.profile strong,.profile span{display:block}.profile strong{font-size:12px}.profile div:nth-child(2) span{font-size:10px;color:var(--muted);margin-top:3px}.profile-menu{margin-left:auto;color:#a2a4b2;font-weight:bold}.main-content{max-width:1440px;margin-left:250px;padding:0 54px 25px}.topbar{height:75px;border-bottom:1px solid #e9ebf2;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:12px;color:#777b8d}.breadcrumb span{padding:0 8px;color:#c5c7d0}.topbar-right{display:flex;align-items:center;gap:17px}.today-label{font-size:11px;color:#9295a5}.top-avatar{width:31px;height:31px}.page-intro{position:relative;overflow:hidden;padding:39px 0 27px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:700;color:#8178dc;margin-bottom:8px}h1{font-size:27px;letter-spacing:-1px;margin:0;font-weight:700}.subtitle{margin:8px 0 0;color:#8a8d9d;font-size:12px}.intro-decoration{position:absolute;right:35px;top:10px;color:#e9e6ff;font-size:105px;line-height:1;transform:rotate(-12deg);pointer-events:none}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.summary-card{padding:16px 17px 15px;border:1px solid #eceef4;border-radius:12px;background:#fff;min-height:119px;box-shadow:0 3px 12px #292b4010}.summary-top{display:flex;justify-content:space-between;align-items:center;color:#85889a;font-size:11px}.summary-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:14px}.lavender{background:#f0efff;color:#7468df}.blue{background:#edf5ff;color:#5998e8}.amber{background:#fff5e7;color:#e5a346}.green{background:#eaf8f0;color:#54ad79}.summary-value{font-size:25px;font-weight:700;letter-spacing:-.8px;margin-top:8px;line-height:1.1}.summary-caption{margin-top:5px;color:#a0a2ae;font-size:10px}.task-panel{background:#fff;border:1px solid #eceef4;border-radius:13px;box-shadow:0 3px 12px #292b400c;padding:22px 22px 8px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading h2{font-size:16px;letter-spacing:-.4px;margin:0}.panel-heading p{font-size:11px;color:#9799a8;margin:6px 0 0}.add-button,.save-button,.empty-add{border:0;background:#7166e3;color:#fff;border-radius:8px;font-family:inherit;font-weight:600;cursor:pointer;transition:background .18s,transform .18s}.add-button{font-size:11px;padding:10px 13px;display:flex;align-items:center;gap:5px;box-shadow:0 4px 9px #7166e333}.add-button span{font-size:16px;line-height:12px}.add-button:hover,.save-button:hover,.empty-add:hover{background:#6055d0;transform:translateY(-1px)}.task-form{background:#fafaff;border:1px solid #eeecff;border-radius:10px;padding:13px;margin-top:18px}.task-form[hidden]{display:none}.task-form label{display:block;font-size:11px;font-weight:700;margin-bottom:8px}.form-row{display:flex;gap:8px}.form-row input{height:37px;flex:1;min-width:100px;border:1px solid #dedfeb;border-radius:7px;padding:0 11px;font:inherit;font-size:12px;outline:none}.form-row input:focus{border-color:#8278e7;box-shadow:0 0 0 3px #8278e71c}.save-button,.cancel-button{font-family:inherit;font-size:11px;padding:0 13px;border-radius:7px}.cancel-button{border:1px solid #e3e4ec;background:#fff;color:#777a8d;cursor:pointer}.toolbar{border-bottom:1px solid #eff0f4;margin-top:19px;display:flex;align-items:center;justify-content:space-between;min-height:44px}.filter-tabs{height:44px;display:flex;gap:20px}.filter-tab{position:relative;border:0;background:none;padding:0;color:#9395a4;font:inherit;font-size:11px;cursor:pointer}.filter-tab.selected{color:#6358d5;font-weight:700}.filter-tab.selected:after{content:'';height:2px;background:#766be4;position:absolute;bottom:-1px;left:0;right:0;border-radius:2px}.filter-tab span{margin-left:4px;font-size:10px;color:#a3a5b2}.filter-tab.selected span{color:#766be4}.list-hint{font-size:10px;color:#b0b2bd}.task-list{min-height:72px}.task-row{min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) 120px 32px;align-items:center;gap:12px;border-bottom:1px solid #f0f1f5;animation:appear .2s ease}.task-row:last-child{border-bottom:0}.task-title{font-size:12px;color:#393a4c;overflow-wrap:anywhere}.task-title.is-done{color:#a2a4ae;text-decoration:line-through}.task-status{justify-self:start;appearance:none;border:0;border-radius:6px;padding:6px 8px;font:inherit;font-size:10px;font-weight:600;cursor:pointer;outline-offset:2px}.task-status.todo{color:#5688cf;background:#edf5ff}.task-status.doing{color:#c28a39;background:#fff5e7}.task-status.done{color:#4b9c6c;background:#eaf8f0}.delete-button{width:29px;height:29px;border:0;border-radius:7px;background:transparent;color:#b8bac5;font-size:17px;cursor:pointer}.delete-button:hover{background:#fff0f0;color:#dc7272}.empty-state,.no-results{padding:39px 10px 42px;text-align:center;color:#9799a8}.empty-icon{width:40px;height:40px;border-radius:13px;background:#f2f0ff;color:#8176e0;display:grid;place-items:center;margin:0 auto 12px;font-size:20px}.empty-state strong{font-size:13px;color:#5a5c6e}.empty-state p{font-size:11px;margin:7px 0 16px}.empty-add{font-size:11px;padding:9px 13px}.no-results{font-size:12px;padding:28px 0}.page-footer{text-align:center;color:#a4a6b3;font-size:10px;padding:22px 0}.page-footer span{color:#8e84e6;margin-left:4px}@keyframes appear{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.main-content{margin:0 auto;padding-left:304px;padding-right:70px}.sidebar{width:250px}}@media(max-width:1050px){.main-content{padding-left:30px;padding-right:30px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-decoration{right:8px}}@media(max-width:720px){.sidebar{position:static;width:auto;height:auto;padding:15px 16px 10px;border-right:0;border-bottom:1px solid #eef0f5}.brand{padding:0 4px 14px}.workspace-label,.sidebar-note,.profile{display:none}.side-nav{display:flex;overflow:auto;gap:5px}.nav-link{flex:0 0 auto;padding:0 10px;height:36px;font-size:11px}.main-content{margin:0;padding:0 16px 20px}.topbar{height:55px}.today-label{font-size:10px}.page-intro{padding:27px 0 20px}.intro-decoration{font-size:74px;right:3px;top:9px}h1{font-size:23px}.summary-grid{gap:9px;margin-bottom:15px}.summary-card{min-height:104px;padding:13px}.summary-caption{font-size:9px}.task-panel{padding:17px 14px 5px}.panel-heading p{max-width:210px;line-height:1.5}.add-button{padding:9px;font-size:10px}.toolbar{align-items:flex-start;flex-direction:column;padding-top:10px;gap:2px}.filter-tabs{gap:18px;height:36px}.list-hint{display:none}.task-row{grid-template-columns:minmax(0,1fr) 96px 27px;gap:6px}.task-status{font-size:9px;padding:6px}.task-title{font-size:11px}.form-row{flex-wrap:wrap}.form-row input{flex-basis:100%}.save-button,.cancel-button{height:34px}.profile-menu{display:none}}

/* Calendar and date controls */
.view-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px}.view-switch{display:flex;gap:3px;padding:3px;background:#f3f4f8;border-radius:8px}.view-button{border:0;background:transparent;color:#8d90a0;border-radius:6px;padding:7px 14px;font:inherit;font-size:11px;cursor:pointer}.view-button.active{background:#fff;color:#655bd0;font-weight:700;box-shadow:0 1px 4px #292b4014}.calendar-controls{display:flex;align-items:center;gap:8px}.calendar-controls[hidden]{display:none}.calendar-controls strong{min-width:124px;text-align:center;font-size:12px}.calendar-controls select,.today-button,.calendar-nav{height:30px;border:1px solid #e8e9f0;border-radius:7px;background:#fff;color:#686b7c;font:inherit;font-size:11px}.calendar-controls select{padding:0 9px;cursor:pointer}.today-button{padding:0 10px;cursor:pointer}.calendar-nav{width:30px;font-size:20px;line-height:1;cursor:pointer}.calendar-nav:hover,.today-button:hover{background:#f6f5ff;color:#6459d1}.date-label{align-self:center;font-size:11px;font-weight:600;white-space:nowrap}.date-label span{color:#a3a5b2;font-weight:400}.form-row input[type=date]{flex:0 1 145px;font-size:11px}.task-row{grid-template-columns:minmax(0,1fr) 145px 108px 32px}.task-date{width:140px;border:1px solid transparent;border-radius:6px;background:transparent;color:#85889a;padding:6px 4px;font:inherit;font-size:10px}.task-date:hover,.task-date:focus{border-color:#e3e1f8;background:#faf9ff;outline:none}.task-date.empty-date{color:#a7a9b5}.calendar-view{margin-top:15px}.calendar-view[hidden],.unscheduled[hidden]{display:none}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #eff0f4;border-left:1px solid #eff0f4;border-radius:8px;overflow:hidden}.weekday{background:#fafaff;color:#8c8ea0;text-align:center;padding:10px 4px;font-size:10px;font-weight:600;border-right:1px solid #eff0f4;border-bottom:1px solid #eff0f4}.day-cell{min-height:105px;padding:7px 6px;border-right:1px solid #eff0f4;border-bottom:1px solid #eff0f4;background:#fff;overflow:hidden}.day-cell.outside-month{background:#fafbfc}.day-number{font-size:10px;color:#777a8d;margin-bottom:5px}.outside-month .day-number{color:#c2c4cd}.day-cell.today{background:#fbfaff}.day-cell.today .day-number{color:#665bd1;font-weight:700}.calendar-task{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:4px;margin:3px 0;padding:4px 5px;text-align:left;font:inherit;font-size:9px;cursor:pointer}.calendar-task.todo{background:#edf5ff;color:#5485c7}.calendar-task.doing{background:#fff5e7;color:#bd8536}.calendar-task.done{background:#eaf8f0;color:#4d996b;text-decoration:line-through}.more-tasks{font-size:9px;color:#8d90a0;padding:3px}.week-view{display:grid;gap:8px}.week-day{display:grid;grid-template-columns:100px minmax(0,1fr);min-height:66px;border:1px solid #eff0f4;border-radius:8px;overflow:hidden}.week-day-label{padding:12px;background:#fafaff;color:#777a8c;font-size:11px}.week-day.today .week-day-label{color:#665bd1;font-weight:700}.week-day-tasks{padding:8px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.week-day-tasks .calendar-task{width:auto;max-width:220px;margin:0}.day-view{border:1px solid #eff0f4;border-radius:9px;min-height:115px;padding:12px}.day-view h3{font-size:12px;font-weight:600;color:#777a8c;margin:0 0 8px}.day-view .calendar-task{font-size:11px;padding:8px}.calendar-empty{padding:22px;text-align:center;font-size:11px;color:#a0a2ae}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.year-month{border:1px solid #eff0f4;border-radius:9px;padding:13px;background:#fff;text-align:left;cursor:pointer;font:inherit;transition:border .15s,box-shadow .15s}.year-month:hover{border-color:#d9d5ff;box-shadow:0 3px 10px #5146bc10}.year-month-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.year-month-head strong{font-size:12px}.year-month-head span{font-size:9px;color:#898c9d}.mini-weekdays,.mini-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.mini-weekdays{color:#a3a5b0;font-size:8px;margin-bottom:4px}.mini-day{height:19px;display:grid;place-items:center;font-size:8px;color:#777a8a;position:relative}.mini-day.has-tasks:after{content:'';position:absolute;width:3px;height:3px;bottom:1px;border-radius:50%;background:#786ce1}.mini-day.today{color:#fff;background:#776ce2;border-radius:50%}.unscheduled{border-top:1px solid #eff0f4;padding:14px 0 3px;margin-top:10px}.unscheduled-heading{font-size:10px;color:#8d90a0;margin-bottom:7px}.unscheduled .calendar-task{display:inline-block;width:auto;max-width:240px;font-size:10px}.no-results{padding:28px 0}@media(max-width:720px){.view-toolbar{align-items:flex-start;flex-direction:column}.calendar-controls{width:100%;gap:5px}.calendar-controls strong{flex:1;min-width:0}.calendar-controls select{padding:0 5px}.task-row{grid-template-columns:minmax(0,1fr) 103px 85px 26px}.task-date{width:100px;font-size:9px}.date-label{font-size:10px}.form-row input[type=date]{flex:1 1 130px}.day-cell{min-height:72px;padding:5px 3px}.calendar-task{font-size:8px;padding:3px}.week-day{grid-template-columns:72px minmax(0,1fr)}.week-day-label{font-size:9px;padding:10px 6px}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.year-month{padding:9px}.mini-day{height:16px}}

/* Monthly work report page */
.side-nav{margin-bottom:24px}.weekly-page[hidden]{display:none}.report-panel{padding:22px}.report-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px}.report-toolbar label{display:block;font-size:11px;color:#85889a;margin-bottom:8px}.month-picker{display:flex;align-items:center;gap:8px}.month-picker input{height:32px;border:1px solid #e8e9f0;border-radius:7px;padding:0 9px;color:#55586b;font:inherit;font-size:11px}.report-caption{margin:18px 0 9px;color:#9a9cab;font-size:10px}.report-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#fafaff;border:1px solid #efedff;border-radius:9px;padding:20px;color:#444558;font:500 12px/2 'DM Sans','Noto Sans KR',sans-serif;min-height:190px;margin:0}.report-empty{padding:60px 12px;text-align:center;color:#9a9cab;font-size:12px}.report-empty[hidden],.report-text[hidden]{display:none}.copy-feedback{height:20px;padding-top:7px;color:#5d9d73;font-size:10px}.report-toolbar>.add-button{height:36px}.@media(max-width:720px){.report-panel{padding:15px}.report-text{padding:14px;font-size:11px}.report-toolbar{align-items:flex-end}}

/* Projects and project based tasks */
.panel-actions{display:flex;align-items:center;gap:8px}.secondary-button,.project-add-task{border:1px solid #e5e4f3;background:#fff;color:#6d63cf;border-radius:8px;padding:9px 12px;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.secondary-button:hover,.project-add-task:hover{background:#f7f6ff}.project-form{background:#fafaff;border:1px solid #eeecff;border-radius:10px;padding:13px;margin-top:16px}.project-form[hidden]{display:none}.project-form>label{display:block;font-size:11px;font-weight:700;margin-bottom:8px}.project-form .form-row input:first-child{flex:1 1 280px}.project-form .form-row input:nth-child(2){flex:0 1 170px}.task-form .form-row{flex-wrap:wrap}.task-form .form-row>input:first-child{flex:1 1 260px}.task-form .form-row select{height:37px;min-width:160px;border:1px solid #dedfeb;border-radius:7px;background:#fff;padding:0 9px;color:#55586b;font:inherit;font-size:11px}.project-list{display:grid;gap:13px;margin-top:17px}.project-group{border:1px solid #eceef4;border-radius:10px;overflow:hidden}.project-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;background:#fafaff;border-bottom:1px solid #eff0f4}.project-heading-text{display:flex;align-items:center;gap:9px;min-width:0}.project-heading h3{font-size:12px;margin:0;overflow-wrap:anywhere}.project-heading-text span{font-size:10px;color:#85889a;background:#f0efff;border-radius:99px;padding:4px 8px;white-space:nowrap}.project-add-task{font-size:10px;padding:7px 10px;white-space:nowrap}.project-task-list{padding:0 13px}.project-task-list .task-row{grid-template-columns:minmax(0,1fr) 145px 108px 32px}.project-empty{padding:17px 3px;color:#a2a4b0;font-size:11px}.project-list:empty{display:none}.day-cell{cursor:pointer}.day-cell:hover{background:#faf9ff}.day-cell:focus-visible,.week-day-label:focus-visible{outline:2px solid #8176e0;outline-offset:-2px}.week-day-label{cursor:pointer}.week-day-label:hover{background:#f2f0ff}.day-view{position:relative}.calendar-add-day{border:1px solid #e7e5f7;background:#fff;color:#6b61d2;border-radius:6px;padding:5px 8px;font:inherit;font-size:10px;cursor:pointer;margin:0 0 8px}.calendar-add-day:hover{background:#f6f5ff}.calendar-controls strong{min-width:165px}@media(max-width:720px){.panel-actions{gap:5px}.panel-actions .add-button,.secondary-button{font-size:9px;padding:8px}.project-heading{padding:11px 9px}.project-heading h3{font-size:10px}.project-heading-text{align-items:flex-start;flex-direction:column;gap:5px}.project-task-list{padding:0 7px}.project-task-list .task-row{grid-template-columns:minmax(0,1fr) 100px 82px 25px}.project-form .form-row input:first-child,.project-form .form-row input:nth-child(2){flex:1 1 100%}.task-form .form-row select{flex:1 1 130px}}
.task-row,.project-task-list .task-row{grid-template-columns:minmax(0,1fr) 145px 130px 108px 32px}.task-project-select{width:130px;max-width:100%;height:29px;border:1px solid transparent;border-radius:6px;background:transparent;color:#777a8c;padding:0 4px;font:inherit;font-size:10px}.task-project-select:hover,.task-project-select:focus{border-color:#e3e1f8;background:#faf9ff;outline:none}@media(max-width:720px){.task-row,.project-task-list .task-row{grid-template-columns:minmax(100px,1fr) 90px 94px 77px 25px}.task-project-select{width:90px;font-size:9px}.project-task-list .task-row{gap:3px}}

/* Project editing, deletion and project colors */
.project-heading{border-left:4px solid var(--project-color,#7468df)}.project-heading-text h3{position:relative}.project-actions{display:flex;align-items:center;gap:5px}.project-edit,.project-delete{border:1px solid #e8e9f0;border-radius:6px;background:#fff;padding:6px 8px;color:#74778a;font:inherit;font-size:10px;cursor:pointer}.project-edit:hover{background:#f4f2ff;color:#655bd0}.project-delete:hover{background:#fff1f1;color:#c85e64;border-color:#f4d4d5}.color-label{align-self:center;font-size:11px;color:#777a8c}.project-form .form-row input[type=color]{flex:0 0 39px;width:39px;height:37px;padding:3px;border:1px solid #dedfeb;border-radius:7px;background:#fff;cursor:pointer}.calendar-task.todo,.calendar-task.doing,.calendar-task.done{background:color-mix(in srgb,var(--project-color,#7468df) 14%,#fff);color:color-mix(in srgb,var(--project-color,#7468df) 78%,#25263a);border-left:2px solid var(--project-color,#7468df);text-decoration:none}.calendar-task.done>span:last-child{text-decoration:line-through}.calendar-task-status{font-weight:700;margin-right:4px;opacity:.8}.mini-day.has-tasks:after{background:var(--project-color,#7468df)}@media(max-width:720px){.project-actions{gap:3px}.project-edit,.project-delete{font-size:9px;padding:6px 5px}.project-add-task{font-size:9px;padding:6px}.color-label{font-size:10px}}

/* Separate project dashboard */
.project-page[hidden]{display:none}.project-page .page-intro{align-items:center}.project-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-overview-card{min-width:0;padding:18px 18px 14px;background:#fff;border:1px solid #eceef4;border-top:3px solid var(--project-color,#7468df);border-radius:12px;box-shadow:0 3px 12px #292b400c}.project-overview-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-identity{display:flex;align-items:flex-start;gap:10px;min-width:0}.project-swatch{flex:0 0 12px;width:12px;height:12px;margin-top:4px;border-radius:4px;background:var(--project-color,#7468df)}.project-identity h2{font-size:13px;line-height:1.45;margin:0;overflow-wrap:anywhere}.project-owner{display:block;margin-top:4px;color:#8d90a0;font-size:10px}.project-deadline-line{display:flex;align-items:center;gap:9px;margin:18px 0 16px}.project-deadline-input{height:31px;max-width:160px;border:1px solid #e9eaf0;border-radius:7px;padding:0 8px;color:#777a8c;font:inherit;font-size:10px}.deadline-countdown{font-size:11px;color:var(--project-color,#7468df);font-weight:700}.deadline-countdown.overdue{color:#ce6262}.project-progress-labels{display:flex;justify-content:space-between;align-items:center;color:#8a8d9d;font-size:10px;margin-bottom:7px}.project-progress-labels strong{color:var(--project-color,#7468df);font-size:12px}.project-progress-track{height:7px;border-radius:99px;background:#f0f1f5;overflow:hidden}.project-progress-track span{display:block;height:100%;min-width:0;border-radius:99px;background:var(--project-color,#7468df);transition:width .2s}.project-progress-stats{display:flex;justify-content:space-between;gap:8px;margin-top:12px;color:#9295a5;font-size:10px}.project-progress-stats strong{color:#444658;margin-left:3px}.project-open-tasks{width:100%;margin-top:15px;padding:8px;border:1px solid #e7e5f7;border-radius:7px;background:#fff;color:#6b61d2;font:inherit;font-size:10px;cursor:pointer}.project-open-tasks:hover{background:#f7f6ff}.project-page-empty{padding:55px 15px;border:1px dashed #dedfeb;border-radius:12px;background:#fff;color:#9295a5;text-align:center;font-size:12px}.project-page-empty[hidden]{display:none}@media(max-width:900px){.project-cards{grid-template-columns:1fr}}@media(max-width:720px){.project-page .page-intro{align-items:flex-start}.project-page .page-intro .add-button{font-size:9px;padding:8px}.project-overview-card{padding:15px}.project-progress-stats{font-size:9px}.project-deadline-line{flex-wrap:wrap}}

/* Selected date work details above the full calendar */
.selected-day-panel{margin:16px 0 14px;padding:14px 15px 8px;border:1px solid #e9e7f8;border-radius:10px;background:#fcfbff}.selected-day-panel[hidden]{display:none}.selected-day-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.selected-day-heading h3{margin:0;font-size:13px}.selected-day-heading p{margin:4px 0 0;color:#9295a5;font-size:10px}.selected-day-heading .secondary-button{white-space:nowrap}.selected-day-panel .task-row{grid-template-columns:minmax(0,1fr) 130px 135px 108px 32px;border-top:1px solid #efedf8}.selected-day-empty{padding:13px 0;color:#a0a2ae;font-size:11px}.day-cell.selected{box-shadow:inset 0 0 0 2px #756be0}.week-day.selected{border-color:#8b81e5;box-shadow:0 0 0 1px #8b81e522}.mini-day.selected{outline:1px solid #756be0;border-radius:50%}@media(max-width:720px){.selected-day-panel{padding:11px 9px 6px}.selected-day-heading h3{font-size:11px}.selected-day-heading .secondary-button{font-size:9px;padding:7px}.selected-day-panel .task-row{grid-template-columns:minmax(100px,1fr) 78px 86px 72px 24px;gap:2px}}

/* Home calendar, task controls, and wide project overview rows */
#home-page[hidden],#task-page[hidden]{display:none}.shared-task-form{margin:14px 0}.home-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.home-calendar-panel{padding:18px}.home-calendar-toolbar .filter-tabs{height:34px;gap:16px}.home-calendar-toolbar .filter-tab{height:34px}.home-calendar-toolbar .calendar-controls[hidden]{display:flex}.project-cards{display:flex;flex-direction:column;gap:12px}.project-overview-card{display:grid;grid-template-columns:minmax(250px,1.1fr) minmax(200px,.8fr) minmax(310px,1.4fr);align-items:center;gap:20px;width:100%;min-height:128px;padding:16px 20px;border-top:1px solid #eceef4;border-left:4px solid var(--project-color,#7468df)}.project-overview-heading{min-width:0;align-items:center}.project-actions{flex:0 0 auto}.project-identity h2{font-size:14px}.project-deadline-line{margin:0;flex-wrap:wrap}.project-progress-info{min-width:0}.project-progress-stats{flex-wrap:wrap;justify-content:flex-start;column-gap:14px;row-gap:5px;margin-top:8px}.project-open-tasks{width:auto;margin:0;padding:6px 8px;font-size:9px}.project-actions .project-edit,.project-actions .project-delete{padding:6px 8px}.task-row{grid-template-columns:minmax(0,1fr) 130px 135px 105px 48px 32px}.edit-task-button{border:1px solid #e8e9f0;border-radius:6px;background:#fff;color:#74778a;padding:6px 7px;font:inherit;font-size:10px;cursor:pointer}.edit-task-button:hover{background:#f5f4ff;color:#655bd0}.project-task-list .task-row{grid-template-columns:minmax(0,1fr) 130px 135px 105px 48px 32px}.selected-day-panel .task-row.selected-day-task-row{grid-template-columns:minmax(0,1fr) 180px 80px;border-top:1px solid #efedf8}.selected-day-project{display:inline-block;justify-self:start;border-left:3px solid var(--project-color,#7468df);padding-left:7px;color:#777a8c;font-size:10px}.selected-day-status{justify-self:start;border-radius:6px;padding:5px 8px;font-size:10px}.selected-day-status.todo{color:#5688cf;background:#edf5ff}.selected-day-status.doing{color:#c28a39;background:#fff5e7}.selected-day-status.done{color:#4b9c6c;background:#eaf8f0}.home-calendar-panel .calendar-view{margin-top:16px}
@media(max-width:1050px){.project-overview-card{grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);gap:12px}.project-progress-info{grid-column:1/-1}.project-progress-stats{margin-top:7px}}
@media(max-width:720px){.home-calendar-toolbar{align-items:flex-start;flex-direction:column}.home-calendar-toolbar .calendar-controls{width:100%;gap:4px}.home-calendar-toolbar .calendar-controls strong{min-width:0;flex:1}.project-overview-card{grid-template-columns:1fr;gap:10px;padding:13px;border-top:1px solid #eceef4}.project-progress-info{grid-column:auto}.project-deadline-line{margin:0}.project-actions{gap:3px}.project-actions .project-open-tasks{font-size:9px;padding:6px 7px}.task-row,.project-task-list .task-row{grid-template-columns:minmax(80px,1fr) 78px 82px 68px 37px 24px;gap:2px}.task-project-select{width:78px;font-size:8px}.task-date{width:82px;font-size:8px}.task-status{font-size:8px;padding:5px 3px}.edit-task-button{font-size:8px;padding:5px 3px}.delete-button{width:24px}.selected-day-panel .task-row.selected-day-task-row{grid-template-columns:minmax(90px,1fr) 100px 67px}.selected-day-project,.selected-day-status{font-size:8px}}

/* Give task names room; stack project and date in one metadata column */
.task-row,.project-task-list .task-row{grid-template-columns:minmax(0,1fr) 170px 100px 76px;align-items:center;gap:10px;padding:7px 0}.task-metadata-stack{min-width:0;display:flex;flex-direction:column;gap:2px}.task-project-select{width:100%;height:23px;padding:0 3px;font-size:9px}.task-date{width:100%;height:23px;padding:2px 3px;font-size:9px}.task-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:3px}.edit-task-button{padding:5px 6px;font-size:9px}.delete-button{flex:0 0 27px}.selected-day-panel .task-row.selected-day-task-row{grid-template-columns:minmax(0,1fr) 180px 80px;padding:8px 0}.selected-day-panel .task-metadata-stack,.selected-day-panel .task-row-actions{display:none}@media(max-width:720px){.task-row,.project-task-list .task-row{grid-template-columns:minmax(0,1fr) 72px 60px;gap:3px 6px;padding:8px 0}.task-title{grid-column:1;grid-row:1}.task-metadata-stack{grid-column:1;grid-row:2;flex-direction:row;align-items:center;gap:7px}.task-project-select{flex:1;min-width:0;width:100%;font-size:8px}.task-date{flex:0 0 105px;width:105px;font-size:8px}.task-status{grid-column:2;grid-row:1;width:72px;font-size:8px;padding:5px 3px}.task-row-actions{grid-column:3;grid-row:1}.edit-task-button{font-size:8px;padding:5px 3px}.delete-button{width:23px;flex-basis:23px}.selected-day-panel .task-row.selected-day-task-row{grid-template-columns:minmax(0,1fr) 100px 67px}}

/* Predictable ISO date entry: type YYYY-MM-DD without segmented browser fields */
.date-entry{height:37px;min-width:122px;flex:0 1 140px!important;border:1px solid #dedfeb;border-radius:7px;background:#fff;padding:0 8px;color:#55586b;font:inherit;font-size:11px}.date-entry::placeholder,.task-date::placeholder{color:#a3a5b2;font-size:9px}.project-form .date-entry{width:130px;min-width:130px;flex:0 1 130px!important}.project-deadline-input{width:132px;min-width:132px;max-width:132px}.task-row .task-date{font-size:9px;letter-spacing:-.2px}.task-row .task-date::placeholder{font-size:8px;letter-spacing:-.4px}@media(max-width:720px){.date-entry{min-width:122px;font-size:10px}.project-form .date-entry{width:100%;flex:1 1 122px!important}.project-deadline-input{width:132px;min-width:132px}}

/* Quick notes and meeting minutes */
.notes-page[hidden]{display:none}.quick-notes-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;min-height:560px}.notes-sidebar,.note-editor-panel{background:#fff;border:1px solid #eceef4;border-radius:12px;box-shadow:0 3px 12px #292b400c}.notes-sidebar{overflow:hidden}.notes-sidebar-heading{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid #eff0f4;color:#55586a;font-size:12px}.notes-sidebar-heading span{color:#999bab;font-size:10px}.notes-list{padding:7px;max-height:70vh;overflow-y:auto}.note-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;width:100%;padding:11px 10px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;font:inherit}.note-list-item:hover{background:#f8f7ff}.note-list-item.selected{background:#f0efff}.note-list-item strong{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#393a4c;font-size:11px}.note-list-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9799a8;font-size:10px}.note-list-item small{color:#a5a7b3;font-size:9px;white-space:nowrap}.notes-list-empty{padding:20px 11px;color:#a0a2ae;font-size:10px;line-height:1.6}.note-editor-panel{padding:22px 25px}.note-editor[hidden],.note-empty[hidden]{display:none}.note-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#a0a2ae;font-size:10px;border-bottom:1px solid #f0f1f5;padding-bottom:12px}.note-editor-toolbar>div{display:flex;align-items:center;gap:14px}.note-delete-button{border:0;background:transparent;color:#bc7378;font:inherit;font-size:10px;cursor:pointer}.note-delete-button:hover{color:#a8424b}.note-title-input{display:block;width:100%;margin:16px 0 10px;padding:8px 0;border:0;outline:0;color:#303144;font:700 21px 'DM Sans','Noto Sans KR',sans-serif}.note-title-input::placeholder{color:#c2c3ce}.note-body-input{display:block;width:100%;min-height:430px;resize:vertical;border:0;outline:0;padding:10px 0;color:#4a4c5e;font:400 13px/1.9 'DM Sans','Noto Sans KR',sans-serif}.note-body-input::placeholder{color:#b0b2bd}.note-empty{display:flex;min-height:500px;align-items:center;justify-content:center;flex-direction:column;text-align:center}.note-empty strong{margin-top:10px;color:#56586b;font-size:13px}.note-empty p{color:#9a9cab;font-size:11px}.note-empty .empty-icon{margin:0}.@media(max-width:760px){.quick-notes-layout{grid-template-columns:1fr;min-height:0}.notes-list{display:flex;max-height:155px;overflow-x:auto;overflow-y:hidden;gap:5px}.note-list-item{flex:0 0 180px;align-self:flex-start}.note-editor-panel{min-height:400px;padding:16px}.note-body-input{min-height:330px}.note-title-input{font-size:18px}.note-empty{min-height:330px}}

/* Keep editable controls readable when the browser or OS prefers dark mode. */
input,textarea,select{color-scheme:light;background-color:#fff;color:#25263a}
.task-date,.date-entry,.note-title-input,.note-body-input{background-color:#fff!important;color:#25263a!important}
.note-title-input::placeholder,.note-body-input::placeholder{color:#85889b}
.calendar-task[draggable="true"]{cursor:grab}
.calendar-task.dragging{opacity:.45;cursor:grabbing}
.day-cell.drop-target,.week-day.drop-target,.day-view.drop-target,.mini-day.drop-target{background:#eeedff;box-shadow:inset 0 0 0 2px #796fe0}

[hidden]{display:none!important}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top left,#f0edff 0,transparent 48%),#f5f7fb}
.auth-card{width:min(100%,420px);padding:38px;background:#fff;border:1px solid #ebeaf3;border-radius:20px;box-shadow:0 20px 60px rgba(59,54,101,.09)}
.auth-brand{display:inline-flex;margin-bottom:36px;text-decoration:none}
.auth-card h1{margin:9px 0 7px;color:#292a3d;font-size:26px;letter-spacing:-.6px}
.auth-card .subtitle{margin:0 0 26px;color:#85869a;font-size:13px}
.auth-form{display:grid;gap:9px}
.auth-form label{margin-top:7px;color:#55576b;font-size:12px;font-weight:650}
.auth-form input{width:100%;height:44px;padding:0 13px;border:1px solid #e4e4ee;border-radius:9px;font:400 13px 'DM Sans','Noto Sans KR',sans-serif;outline:none}
.auth-form input:focus{border-color:#8278e5;box-shadow:0 0 0 3px rgba(130,120,229,.13)}
.auth-submit{height:45px;margin-top:7px;border:0;border-radius:9px;background:#7468df;color:#fff;font:650 13px 'DM Sans','Noto Sans KR',sans-serif;cursor:pointer}
.auth-submit:hover{background:#6559d0}
.auth-submit:disabled{opacity:.65;cursor:wait}
.auth-message{min-height:18px;margin:2px 0 0;color:#6257c7;font-size:12px;line-height:1.6}
.auth-switch{margin:22px 0 0;text-align:center;color:#85869a;font-size:12px}
.auth-switch button{padding:2px 4px;border:0;background:none;color:#6257c7;font:650 12px 'DM Sans','Noto Sans KR',sans-serif;cursor:pointer}
.profile{min-width:0}
.profile-copy{min-width:0;flex:1}
.profile-copy strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-copy span[data-state="saving"]{color:#b47b27}
.profile-copy span[data-state="saved"]{color:#328562}
.profile-copy span[data-state="error"]{color:#c14f60}
.sign-out-button{padding:6px 8px;border:0;border-radius:7px;background:#f2f1fb;color:#68647e;font:600 10px 'DM Sans','Noto Sans KR',sans-serif;cursor:pointer}
.sign-out-button:hover{background:#e8e6f8;color:#554bb7}
@media(max-width:480px){.auth-card{padding:28px 23px}}
