:root{color-scheme:light;--bg:#f5f7fa;--ink:#202833;--muted:#929dab;--line:rgba(42,52,67,.09);--glass:rgba(255,255,255,.68);--blue:#1578f6;--radius:22px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--ink);background:var(--bg);overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}.ambient{position:fixed;z-index:-1;width:38vw;height:38vw;border-radius:50%;filter:blur(75px);opacity:.44;pointer-events:none}.ambient-blue{top:-14vw;right:-10vw;background:rgba(146,197,255,.44)}.ambient-lilac{bottom:-19vw;left:-11vw;background:rgba(229,215,255,.45)}.app-shell{width:min(1160px,calc(100% - 48px));margin:0 auto;padding:26px 0 30px}.topbar{display:grid;grid-template-columns:44px minmax(240px,430px) 1fr;align-items:center;gap:18px;height:44px}.menu-button{display:grid;place-content:center;gap:4px;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:13px;background:rgba(255,255,255,.7);box-shadow:0 8px 20px rgba(43,59,81,.07)}.menu-button span{display:block;width:15px;height:1.5px;border-radius:9px;background:#526071}.global-search{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid rgba(255,255,255,.9);border-radius:14px;color:#a7b0bc;background:rgba(255,255,255,.68);box-shadow:0 8px 20px rgba(43,59,81,.035);backdrop-filter:blur(22px)}.global-search:focus-within{border-color:#9dbff0;box-shadow:0 0 0 4px rgba(21,120,246,.08)}.global-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:12px}.global-search input::placeholder{color:#aeb7c2}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:13px}.top-date{color:#9aa5b1;font-size:11px}.avatar{width:36px;height:36px;border:0;border-radius:50%;color:white;background:#273442;font-size:11px;font-weight:700;box-shadow:0 6px 15px rgba(30,44,61,.13)}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:72px 3px 42px}.eyebrow{margin:0 0 10px;color:#9da7b3;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.page-heading h1{max-width:650px;margin:0;letter-spacing:-.065em;font-size:clamp(38px,5.5vw,64px);line-height:1.05;font-weight:750}.heading-copy{max-width:460px;margin:18px 0 0;color:#7e8996;font-size:14px;line-height:1.65}.focus-chip{display:flex;align-items:center;gap:11px;min-width:185px;padding:12px 14px;border:1px solid rgba(255,255,255,.9);border-radius:16px;background:rgba(255,255,255,.67);box-shadow:0 12px 30px rgba(43,59,81,.055);backdrop-filter:blur(22px)}.focus-spark{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#187cf6;background:#e6f0ff}.focus-chip small,.focus-chip strong{display:block}.focus-chip small{margin-bottom:3px;color:#9da7b3;font-size:10px}.focus-chip strong{color:#4b5868;font-size:13px}.focus-chip em{margin-left:auto;align-self:start;color:#48a879;font-size:10px;font-style:normal;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:minmax(255px,.72fr) minmax(0,1.8fr);gap:20px;align-items:start}.day-column,.tasks-column{min-width:0}.day-column{display:grid;gap:14px}.glass-card{border:1px solid rgba(255,255,255,.87);background:var(--glass);box-shadow:0 16px 42px rgba(39,54,75,.065),inset 0 1px 0 rgba(255,255,255,.88);backdrop-filter:blur(26px) saturate(125%);-webkit-backdrop-filter:blur(26px) saturate(125%)}.date-card,.daily-card{border-radius:var(--radius);padding:22px}.date-card-top,.card-heading,.tasks-heading,.group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.weather-dot{width:7px;height:7px;border-radius:50%;background:#70a8e9;box-shadow:0 0 0 4px rgba(112,168,233,.14)}.date-number{margin:18px 0 1px;color:#2d3b4c;font-size:78px;font-weight:700;letter-spacing:-.1em;line-height:.88}.date-meta{display:flex;align-items:baseline;gap:8px}.date-meta strong{color:#667484;font-size:13px}.date-meta span{color:#a8b1bc;font-size:10px}.current-time{margin-top:34px;color:#3c4b5c;font-size:33px;letter-spacing:-.07em;font-weight:650}.current-time span{margin-left:4px;color:#a0abb7;font-size:11px;letter-spacing:.02em}.time-zone{margin-top:4px;color:#a7b0ba;font-size:10px}.daily-card h2,.tasks-heading h2{margin:0;letter-spacing:-.045em;font-size:21px}.counter{color:#7096c3;font-size:11px;font-weight:700}.daily-list{display:grid;gap:15px;margin:24px 0 20px}.daily-item{display:flex;align-items:center;gap:10px;color:#677484;font-size:12px}.daily-item input,.task-card input{position:absolute;opacity:0;pointer-events:none}.tiny-check{width:15px;height:15px;border:1.5px solid #c8d1dc;border-radius:50%;background:rgba(255,255,255,.5);transition:.18s}.daily-item input:checked+.tiny-check{border-color:#70b68d;background:#70b68d;box-shadow:inset 0 0 0 3px #f7fbf8}.daily-item input:checked~span:last-child{color:#a0a9b3;text-decoration:line-through;text-decoration-color:#b7c6bc}.daily-progress{height:4px;overflow:hidden;border-radius:99px;background:#e4ebf2}.daily-progress span{display:block;height:100%;border-radius:inherit;background:#72aaf0}.progress-caption{margin:12px 0 0;color:#a2acb7;font-size:10px;line-height:1.5}.small-link{width:max-content;padding:4px 3px;border:0;color:#83909e;background:transparent;font-size:11px}.small-link span{margin-left:4px;color:var(--blue)}.tasks-heading{padding:2px 3px 20px}.new-task-button{border:0;border-radius:11px;padding:10px 13px;color:#fff;background:#253442;font-size:11px;font-weight:700;box-shadow:0 7px 16px rgba(34,49,66,.15);transition:.2s}.new-task-button:hover{background:var(--blue)}.task-groups{display:grid;gap:17px}.task-group{padding:19px;border:1px solid rgba(255,255,255,.83);border-radius:18px;background:rgba(255,255,255,.43);box-shadow:0 10px 28px rgba(39,54,75,.038)}.group-heading{margin-bottom:14px}.group-heading h3{display:flex;align-items:center;gap:8px;margin:0;color:#5e6c7b;font-size:12px;letter-spacing:.02em}.group-heading>span{color:#a7b0bb;font-size:10px}.status-dot{width:7px;height:7px;border-radius:50%}.dot-open{background:#69a9f4;box-shadow:0 0 0 3px rgba(105,169,244,.14)}.dot-progress{background:#d7a866;box-shadow:0 0 0 3px rgba(215,168,102,.15)}.dot-done{background:#72b48d;box-shadow:0 0 0 3px rgba(114,180,141,.15)}.cards-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.task-card{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:75px;padding:13px 14px;border:1px solid rgba(225,231,238,.88);border-radius:14px;background:rgba(255,255,255,.74);box-shadow:0 5px 13px rgba(42,57,77,.035);transition:transform .2s,box-shadow .2s,opacity .2s}.task-card:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(42,57,77,.075)}.task-check{width:17px;height:17px;border:1.5px solid #c8d1dc;border-radius:5px;background:rgba(255,255,255,.56);transition:.18s}.task-card input:checked+.task-check{border-color:#71b58e;background:#71b58e;box-shadow:inset 0 0 0 3px #f6fbf7}.task-card-copy{min-width:0}.task-card-copy strong,.task-card-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-copy strong{color:#3f4c5b;font-size:12px;font-weight:700}.task-card-copy small{margin-top:5px;color:#a0aab5;font-size:9px}.task-card-copy b{padding:0 2px;color:#c2cbd4;font-weight:400}.task-tag{padding:4px 6px;border-radius:6px;font-size:9px;white-space:nowrap}.tag-high{color:#df7f7f;background:#fff1f0}.tag-blue{color:#6d9fd6;background:#edf5ff}.tag-yellow{color:#cf9a58;background:#fff7e8}.tag-purple{color:#9a8bd0;background:#f4f0ff}.tag-green{color:#6aaa84;background:#eef9f2}.task-card.is-done{opacity:.57}.task-card.is-done .task-card-copy strong{text-decoration:line-through;text-decoration-color:#a6b5ab}.footer-note{padding:26px 0 0;color:#a7b0bb;font-size:10px;text-align:center;letter-spacing:.06em}.task-dialog{width:min(420px,calc(100% - 32px));padding:0;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:rgba(250,252,255,.9);box-shadow:0 24px 80px rgba(35,49,67,.2);backdrop-filter:blur(24px)}.task-dialog::backdrop{background:rgba(46,57,70,.18);backdrop-filter:blur(4px)}.task-dialog form{display:grid;gap:15px;padding:27px}.task-dialog h2{margin:-2px 0 10px;font-size:25px;letter-spacing:-.04em}.dialog-close{position:absolute;top:14px;right:16px;border:0;color:#96a1ad;background:transparent;font-size:24px}.dialog-label{display:grid;gap:7px;color:#758191;font-size:11px}.dialog-label input{padding:12px 13px;border:1px solid #e2e8ef;border-radius:11px;outline:0;color:var(--ink);background:rgba(255,255,255,.7);font-size:13px}.dialog-label input:focus{border-color:#8eb8ef;box-shadow:0 0 0 3px rgba(22,119,255,.1)}.primary-button{margin-top:8px;padding:12px;border:0;border-radius:11px;color:white;background:#202b39;font-size:12px;font-weight:700}.toast{position:fixed;z-index:5;right:22px;bottom:22px;max-width:calc(100% - 44px);padding:11px 15px;border:1px solid rgba(255,255,255,.8);border-radius:12px;color:#44505e;background:rgba(255,255,255,.86);box-shadow:0 12px 30px rgba(38,55,77,.13);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s;font-size:12px}.toast.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:800px){.app-shell{width:min(100% - 30px,560px);padding-top:17px}.topbar{grid-template-columns:40px 1fr 40px;gap:10px}.top-date{display:none}.global-search{padding:10px 12px}.page-heading{display:block;padding:57px 2px 30px}.page-heading h1{font-size:clamp(36px,11vw,52px)}.heading-copy{margin-top:14px;font-size:13px}.focus-chip{margin-top:22px;width:max-content}.dashboard-grid{grid-template-columns:1fr;gap:14px}.day-column{grid-template-columns:1fr 1.2fr;align-items:start}.date-card,.daily-card{padding:19px}.date-number{font-size:65px}.current-time{margin-top:26px;font-size:28px}.small-link{grid-column:1/-1}.tasks-heading{padding-top:8px}.task-group{padding:15px}.cards-list{grid-template-columns:1fr}.task-card{min-height:70px}.footer-note{padding-top:21px}}@media (max-width:460px){.day-column{grid-template-columns:1fr}.date-card{min-height:272px}.daily-card{padding:18px}.topbar-right{justify-content:flex-end}.task-tag{display:none}.page-heading{padding-top:47px}.global-search input{font-size:11px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-reduced-transparency:reduce){.glass-card,.global-search,.focus-chip,.task-dialog{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Three vertical task lanes: Open, In-progress, Done. */
.task-groups{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.cards-list{grid-template-columns:1fr}
@media (max-width:800px){.task-groups{grid-template-columns:1fr}}
.task-card{cursor:grab}.task-card:active{cursor:grabbing}.task-card.is-dragging{opacity:.42;transform:scale(.98)}.task-group.is-drag-target{border-color:#83b4f1;background:rgba(231,242,255,.72);box-shadow:0 0 0 3px rgba(21,120,246,.08)}
.task-card,.task-card *{cursor:grab!important}.task-card:active,.task-card.is-dragging,.task-card.is-dragging *{cursor:grabbing!important}.task-drop-placeholder{border:1px dashed #8dbaf0;border-radius:14px;background:rgba(226,240,255,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);transition:height .14s ease,margin .14s ease}
.task-card,.task-card *,.task-drop-placeholder{cursor:pointer!important}.task-card.is-dragging,.task-card.is-dragging *{cursor:pointer!important}.task-card input{cursor:pointer!important}
.dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.optional{color:#a8b1bc;font-size:9px;font-weight:400}.tag-field{margin:0;padding:0;border:0}.tag-field legend{padding:0 0 9px;color:#758191;font-size:11px}.tag-field legend span{color:#a8b1bc;font-size:9px}.tag-options{display:flex;flex-wrap:wrap;gap:7px}.tag-option{position:relative}.tag-option input{position:absolute;opacity:0}.tag-option span{display:block;padding:7px 9px;border:1px solid #e2e8ef;border-radius:8px;color:#7a8795;background:rgba(255,255,255,.64);font-size:10px;transition:.18s}.tag-option input:checked+span{border-color:currentColor;background:#eef5ff;color:#4b8dd8;box-shadow:0 0 0 2px rgba(21,120,246,.08)}.tag-option.personal input:checked+span{color:#9a83cf;background:#f5f0ff}.tag-option.priority input:checked+span{color:#dd7c7c;background:#fff0ef}.tag-option.calm input:checked+span{color:#6bab88;background:#eef9f2}.tag-option.meeting input:checked+span{color:#c99153;background:#fff7e8}.tag-option.attendance input:checked+span{color:#6b9fd2;background:#edf5ff}.task-labels{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.task-label{display:inline-block;padding:3px 5px;border-radius:5px;font-size:8px;line-height:1}.label-work{color:#4c8ed8;background:#edf5ff}.label-personal{color:#927bcc;background:#f4efff}.label-priority{color:#dd7b7b;background:#fff0ef}.label-calm{color:#68a982;background:#eef9f2}.label-meeting{color:#c78e51;background:#fff7e8}.label-attendance{color:#5c99c9;background:#eaf5ff}.task-due{display:block;margin-top:5px;color:#8d9aa8!important;font-size:9px!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}
@media (max-width:460px){.dialog-fields{grid-template-columns:1fr}.tag-option span{padding:6px 8px}}
.task-card{grid-template-columns:18px minmax(0,1fr)}
.picker-field{position:relative;min-width:0}.picker-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #e2e8ef;border-radius:11px;color:#5e6c7b;background:rgba(255,255,255,.7);font-size:12px;text-align:left;transition:border-color .2s,box-shadow .2s}.picker-trigger:hover,.picker-trigger:focus-visible{border-color:#9bbff0;box-shadow:0 0 0 3px rgba(21,120,246,.08);outline:0}.picker-icon{color:#7fa9d8;font-size:15px}.picker-popover{position:absolute;z-index:4;top:calc(100% + 9px);left:0;width:250px;padding:13px;border:1px solid rgba(255,255,255,.92);border-radius:16px;background:rgba(251,253,255,.96);box-shadow:0 18px 42px rgba(36,52,73,.16),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(20px);animation:picker-in .16s ease-out}.picker-popover[hidden]{display:none}.picker-top,.time-picker-head{display:flex;align-items:center;justify-content:space-between}.picker-top strong,.time-picker-head strong{color:#435163;font-size:12px}.picker-top button{width:26px;height:26px;border:0;border-radius:8px;color:#6f8eaf;background:#eef5fd;font-size:18px;line-height:1}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px;text-align:center}.calendar-week span{color:#a7b0bc;font-size:9px}.calendar-days button,.calendar-days span{display:grid;place-items:center;min-height:28px;border:0;border-radius:8px;background:transparent;color:#526172;font-size:10px}.calendar-days button:hover{background:#edf5ff;color:#3e88d8}.calendar-days button.is-selected{color:#fff;background:#4d94df;box-shadow:0 4px 10px rgba(77,148,223,.2)}.clear-picker{width:100%;margin-top:10px;padding:7px;border:0;border-radius:8px;color:#8d99a6;background:#f3f6f9;font-size:10px}.clear-picker:hover{color:#4f8fd1;background:#edf5ff}.time-picker-head{margin-bottom:14px}.time-picker-head span{color:#a3adb8;font-size:9px}.time-selects{display:flex;align-items:center;justify-content:center;gap:8px}.time-selects select{min-width:75px;padding:10px;border:1px solid #e2e8ef;border-radius:10px;color:#536273;background:#fff;font-size:13px;text-align:center;outline:0}.time-selects select:focus{border-color:#94b9e8;box-shadow:0 0 0 3px rgba(21,120,246,.08)}.time-confirm{width:100%;margin-top:12px;padding:8px;border:0;border-radius:9px;color:#fff;background:#253442;font-size:10px}.time-confirm:hover{background:#1578f6}@keyframes picker-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.task-dialog{width:min(640px,calc(100vw - 32px));max-width:none;max-height:none;height:auto;overflow:visible}
.eyebrow{font-size:14px;color:#748193;letter-spacing:.11em}.top-date,.time-zone,.progress-caption,.small-link{font-size:14px;color:#687789}.global-search input{font-size:14px}.date-meta strong{font-size:17px;color:#566577}.date-meta span{font-size:14px;color:#7f8c9b}.current-time span{font-size:14px;color:#718092}.daily-item{font-size:16px;color:#566577}.counter,.group-heading>span{font-size:14px;color:#5f7fa6}.daily-card h2,.tasks-heading h2{font-size:24px}.group-heading h3{font-size:16px;color:#4e5d6e}.task-card-copy strong{font-size:16px;color:#334354}.task-card-copy small{font-size:13px;color:#718092}.task-label{font-size:12px}.progress-caption{line-height:1.6}.dialog-label{font-size:14px;color:#5d6b7b}.optional,.tag-field legend span{font-size:12px;color:#7d8997}.tag-field legend{font-size:14px;color:#5d6b7b}.tag-option span{font-size:13px}.picker-trigger{font-size:14px;color:#536274}.picker-top strong,.time-picker-head strong{font-size:14px}.calendar-week span{font-size:12px}.calendar-days button,.calendar-days span{font-size:13px}.clear-picker,.time-confirm{font-size:12px}.time-picker-head span{font-size:12px}.task-dialog h2{font-size:29px}
@media (max-width:460px){.picker-popover{width:min(250px,calc(100vw - 68px))}}

/* Date card: keep only the useful date, weekday, year, and time. */
.date-number{margin:14px 0 8px;font-size:clamp(34px,8vw,56px);letter-spacing:-.08em;line-height:.98;white-space:nowrap}
.date-meta{gap:18px}
.date-meta strong{font-size:clamp(20px,2.5vw,28px);letter-spacing:-.04em}
.date-meta span{font-size:clamp(20px,2.5vw,28px);letter-spacing:-.04em}
.current-time{margin-top:34px;font-size:clamp(34px,8vw,56px);letter-spacing:-.08em;line-height:.98;white-space:nowrap}
.current-time span{margin-left:8px;font-size:clamp(20px,2.5vw,28px);letter-spacing:-.04em;line-height:1}
@media (max-width:800px){.date-number,.current-time{font-size:45px}.current-time{margin-top:26px}}

/* Keep the drag affordance visible inside the whole card, with a clear drop preview. */
.task-card,.task-card *{cursor:grab!important}
.task-card input{cursor:pointer!important}
.task-card.is-dragging,.task-card.is-dragging *{cursor:grabbing!important}
.task-drop-placeholder{min-height:70px;border:1.5px dashed #8dbaf0;border-radius:14px;background:rgba(226,240,255,.58);box-shadow:inset 0 0 0 1px rgba(255,255,255,.82),0 4px 12px rgba(68,137,215,.08);transition:height .14s ease,margin .14s ease}

/* Never hide the native pointer. Controls remain clickable, cards remain draggable. */
html,body{cursor:default!important}
button,a,label,input,select,[role="button"]{cursor:pointer!important}
.task-card,.task-card *{cursor:grab!important}
.task-card input{cursor:pointer!important}
.task-card.is-dragging,.task-card.is-dragging *{cursor:grabbing!important}
.task-drop-placeholder{cursor:default!important}

/* One dark pointer for every page state, including drag interactions. */
html,body,body *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='24' viewBox='0 0 18 24'%3E%3Cpath d='M2 2v19l5-5 4 7 3-2-4-7h6L2 2z' fill='%231f2937'/%3E%3C/svg%3E") 2 2,auto!important}

.date-card{cursor:pointer!important;transition:transform .2s,box-shadow .2s}.date-card:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(39,54,75,.1),inset 0 1px 0 rgba(255,255,255,.9)}
.calendar-dialog{width:min(1040px,calc(100vw - 32px));max-width:none;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:26px;background:rgba(248,251,255,.94);box-shadow:0 30px 100px rgba(29,44,63,.24);backdrop-filter:blur(26px);color:var(--ink)}.calendar-dialog::backdrop{background:rgba(25,39,55,.2);backdrop-filter:blur(5px)}.calendar-shell{display:grid;grid-template-columns:minmax(0,1fr) 245px;min-height:620px}.calendar-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px 18px;border-bottom:1px solid var(--line)}.calendar-header h2{margin:0;font-size:28px;letter-spacing:-.05em}.calendar-header-actions{display:flex;align-items:center;gap:7px}.calendar-header-actions button{min-width:32px;height:32px;padding:0;border:1px solid #e2e9f1;border-radius:9px;color:#617183;background:rgba(255,255,255,.68);font-size:18px}.calendar-header-actions .today-button{padding:0 12px;font-size:11px}.calendar-close{margin-left:8px;border:0!important;background:transparent!important;color:#9aa5b1!important;font-size:24px!important}.calendar-toolbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 28px;border-bottom:1px solid var(--line)}.view-tabs{display:flex;gap:4px}.view-tabs button{border:0;border-radius:8px;padding:7px 11px;color:#9aa5b1;background:transparent;font-size:11px}.view-tabs button.is-active{color:#3d75b4;background:#e8f2ff;font-weight:700}.planner-hint{color:#a4aeb9;font-size:11px}.planner-body{grid-column:1;padding:18px 28px 26px;min-width:0}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border:1px solid #e3eaf1;border-radius:14px;background:rgba(255,255,255,.55)}.month-weekday{padding:10px 9px;color:#a2adb9;font-size:10px;text-align:right;border-bottom:1px solid #e9eef3}.month-day{min-height:76px;padding:8px;border-right:1px solid #e9eef3;border-bottom:1px solid #e9eef3;background:rgba(255,255,255,.46)}.month-day:nth-child(7n){border-right:0}.month-day:nth-last-child(-n+7){border-bottom:0}.month-day.is-muted{background:rgba(243,247,251,.52)}.month-day-number{display:grid;place-items:center;width:24px;height:24px;margin-left:auto;border-radius:50%;color:#637184;font-size:11px}.month-day.is-muted .month-day-number{color:#c0c8d0}.month-day.is-today .month-day-number{color:#fff;background:var(--blue);box-shadow:0 4px 10px rgba(21,120,246,.22)}.planner-events{display:grid;gap:4px;margin-top:5px}.planner-event{overflow:hidden;padding:5px 6px;border-radius:6px;border-left:3px solid #70a8eb;background:#edf5ff;color:#4e6f97}.planner-event strong,.planner-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-event strong{font-size:9px}.planner-event small{margin-top:2px;color:#8fa4bb;font-size:8px}.event-yellow{border-color:#ddb16a;background:#fff6e7;color:#9d7c45}.event-purple{border-color:#a796e2;background:#f3f0ff;color:#806fae}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border:1px solid #e3eaf1;border-radius:14px;background:rgba(255,255,255,.55)}.week-day{min-height:430px;padding:12px 8px;border-right:1px solid #e9eef3}.week-day:last-child{border-right:0}.week-day-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;color:#a2adb9;font-size:10px;border-bottom:1px solid #e9eef3}.week-day-heading strong{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#637184;font-size:12px}.week-day.is-today .week-day-heading strong{color:#fff;background:var(--blue)}.day-grid{overflow:hidden;border:1px solid #e3eaf1;border-radius:14px;background:rgba(255,255,255,.55)}.day-hour{display:grid;grid-template-columns:58px 1fr;min-height:50px;border-bottom:1px solid #e9eef3}.day-hour:last-child{border-bottom:0}.day-hour time{padding:12px 10px;color:#a2adb9;font-size:10px;text-align:right}.day-slot{padding:5px 10px;border-left:1px solid #e9eef3}.event-form{grid-column:2;grid-row:3 / span 1;display:grid;align-content:start;gap:12px;padding:22px;border-left:1px solid var(--line);background:rgba(255,255,255,.3)}.event-form-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.event-form-title input{min-width:0}.event-dot{width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(21,120,246,.12)}.event-form label{display:grid;gap:6px;color:#7b8896;font-size:11px}.event-form input{width:100%;padding:10px 11px;border:1px solid #e2e9f0;border-radius:10px;outline:0;color:#3f4c5b;background:rgba(255,255,255,.7);font-size:12px}.event-form input:focus{border-color:#8eb8ef;box-shadow:0 0 0 3px rgba(21,120,246,.08)}.event-form-title input{padding:7px 0;border:0;border-bottom:1px solid #e2e9f0;border-radius:0;background:transparent;font-size:14px}.event-form .primary-button{margin-top:5px}
@media (max-width:800px){.calendar-shell{display:block;min-height:0}.calendar-header{padding:20px 18px 14px}.calendar-header h2{font-size:23px}.calendar-toolbar{padding:12px 18px}.planner-body{padding:14px 18px 18px}.month-day{min-height:58px;padding:6px 4px}.planner-event small{display:none}.event-form{border-top:1px solid var(--line);border-left:0;padding:18px;grid-template-columns:1fr 1fr}.event-form-title,.event-form .primary-button{grid-column:1/-1}.week-day{min-height:300px;padding:8px 4px}.week-day-heading span{font-size:9px}.day-hour{min-height:44px}}

/* Day view uses one continuous block per scheduled task. */
.day-grid{--day-hour-height:50px;position:relative}
.day-grid .day-hour{height:var(--day-hour-height);min-height:var(--day-hour-height);box-sizing:border-box}
.day-event-layer{position:absolute;inset:0 0 0 58px;z-index:2;pointer-events:none}
.day-event{position:absolute;top:calc(var(--event-start) * var(--day-hour-height) + 5px);right:10px;left:10px;height:max(30px,calc(var(--event-duration) * var(--day-hour-height) - 10px));min-height:30px;pointer-events:auto;cursor:default;box-sizing:border-box;padding:8px 10px;border-radius:9px;box-shadow:0 6px 14px rgba(70,103,139,.08)}
.day-event strong{font-size:11px}.day-event small{font-size:10px}
@media (max-width:800px){.day-grid{--day-hour-height:44px}.day-event-layer{left:58px}.day-event{right:6px;left:6px;padding:7px 8px}}

/* The calendar uses the shared task dialog, so the planner can use the full width. */
.calendar-shell{display:block}.planner-body{grid-column:1/-1}.event-form{display:none}.calendar-new-task{margin:0;padding:8px 13px;font-size:11px;white-space:nowrap}
.month-day,.week-day{cursor:pointer!important;transition:background .18s ease,box-shadow .18s ease}.month-day:hover,.week-day:hover{background:rgba(233,243,255,.72);box-shadow:inset 0 0 0 1px rgba(115,170,232,.28)}.month-day:focus-visible,.week-day:focus-visible{outline:2px solid #8eb8ef;outline-offset:-2px}

.task-create-dialog{width:min(590px,calc(100vw - 32px));max-width:none}.task-create-dialog form{gap:15px}.task-create-dialog h2{margin:0 0 7px}.required-mark{margin-left:5px;color:#d48787;font-size:10px;font-weight:500}.task-create-dialog select,.task-create-dialog textarea{width:100%;border:1px solid #e2e8ef;border-radius:11px;outline:0;color:var(--ink);background:rgba(255,255,255,.72);font-size:13px}.task-create-dialog select{padding:11px 12px}.task-create-dialog textarea{resize:vertical;min-height:96px;padding:12px 13px;line-height:1.55}.task-create-dialog select:focus,.task-create-dialog textarea:focus,.task-create-dialog input:focus{border-color:#8eb8ef;box-shadow:0 0 0 3px rgba(22,119,246,.08)}.task-create-dialog .dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-create-dialog .dialog-label{font-size:12px}.task-create-dialog .dialog-label input{margin-top:7px}.task-create-dialog .tag-field{margin-top:2px}.task-create-dialog .tag-field legend{font-size:12px}.task-create-dialog .tag-option span{font-size:11px;padding:8px 10px}.task-create-dialog .tag-option input:checked+span{color:#4b8dd8;background:#edf5ff;border-color:#a5c9f1}.task-create-dialog .task-tag-attendance input:checked+span{color:#5a9b78;background:#eef9f2;border-color:#a6d5b8}.task-create-dialog .task-tag-task input:checked+span{color:#cf9455;background:#fff7e8;border-color:#f0d0a0}.task-create-dialog .task-tag-research input:checked+span{color:#917bc9;background:#f4f0ff;border-color:#cfc2ef}.task-create-dialog .task-tag-life input:checked+span{color:#d27979;background:#fff0ef;border-color:#f1b6b6}
@media (max-width:560px){.task-create-dialog .dialog-fields{grid-template-columns:1fr}.task-create-dialog .tag-options{gap:6px}}

.field-error{min-height:16px;margin:-6px 0 0;color:#c86f6f;font-size:12px;line-height:1.4}
.task-content-preview{color:#8996a4!important;white-space:nowrap!important;text-overflow:ellipsis!important}
.task-content-preview[hidden]{display:none!important}
.daily-list{gap:16px}
.daily-date-group{display:grid;gap:10px}
.daily-date-heading{margin:0;color:#506174;font-size:12px;font-weight:750;letter-spacing:.01em}
.daily-date-group+.daily-date-group{padding-top:4px;border-top:1px solid rgba(126,145,166,.14)}
.daily-item{display:grid;grid-template-columns:15px minmax(0,1fr) auto;align-items:center;gap:10px}
.daily-task-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.daily-task-time{color:#8a9aae;font-size:11px;white-space:nowrap}
.daily-item input:checked~.daily-task-title{color:#a0a9b3;text-decoration:line-through;text-decoration-color:#b7c6bc}
.daily-item input:checked~.daily-task-time{color:#aeb8c2;text-decoration:line-through;text-decoration-color:#b7c6bc}
@media (max-width:460px){.daily-task-time{font-size:10px}}
.task-countdown{margin-top:4px;color:#7891ad!important;font-size:11px!important}
.task-card.is-done .task-countdown{color:#8ba496!important}
.task-card.is-urgent .task-countdown,.task-card.is-expired .task-countdown{color:#d4565f!important;font-weight:750}
.task-card.has-delete{grid-template-columns:18px minmax(0,1fr) 28px}
.task-delete{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;color:#a5afb9;background:transparent}
.task-delete svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.task-delete:hover{color:#c7656c;background:#fff0f1}
.task-delete:focus-visible{color:#c7656c}
.task-label{border:1px solid transparent;font-weight:650}
.task-label.label-meeting{color:#a85c23;background:#fff0e4;border-color:#f0b17e}
.task-label.label-attendance{color:#246b9a;background:#e7f4ff;border-color:#86c2ee}
.task-label.label-task{color:#8b5b14;background:#fff5d9;border-color:#e5bf61}
.task-label.label-research{color:#63449b;background:#f1eaff;border-color:#b59be8}
.task-label.label-life{color:#28734b;background:#e4f7eb;border-color:#8bc9a2}
.task-create-dialog .task-tag-life input:checked+span{color:#28734b;background:#e4f7eb;border-color:#8bc9a2}
.task-label.label-default{color:#53677d;background:#edf2f7;border-color:#c5d0dc}
.restore-task{display:grid;place-items:center;width:28px;height:28px;margin-left:auto;padding:0;border:0;border-radius:8px;color:#7d9abb;background:transparent}
.restore-task svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.restore-task:hover:not(:disabled){color:#347fca;background:#eaf4ff}
.restore-task:disabled{opacity:.3}
[data-group="open"] .task-check{border-color:#8bb9ef;background:#f2f7ff}
[data-group="in-progress"] .task-check{border-color:#e3bb76;background:#fff9ed}
[data-group="done"] .task-check{border-color:#8bc5a2;background:#f1faf4}
[data-group="open"] .task-card input:checked+.task-check{border-color:#5e9fe9;background:#5e9fe9;box-shadow:inset 0 0 0 3px #edf5ff}
[data-group="in-progress"] .task-card input:checked+.task-check{border-color:#dba354;background:#dba354;box-shadow:inset 0 0 0 3px #fff7e8}
[data-group="done"] .task-card input:checked+.task-check{border-color:#65ae83;background:#65ae83;box-shadow:inset 0 0 0 3px #f1faf4}
[data-group="open"]{border-color:rgba(92,157,235,.48);background:linear-gradient(180deg,rgba(235,245,255,.78),rgba(255,255,255,.55));box-shadow:0 12px 32px rgba(71,135,207,.08),inset 0 1px 0 rgba(255,255,255,.92)}
[data-group="open"] .group-heading h3,[data-group="open"] .group-heading>span{color:#4b82bb}
[data-group="in-progress"]{border-color:rgba(224,176,91,.52);background:linear-gradient(180deg,rgba(255,248,232,.82),rgba(255,255,255,.55));box-shadow:0 12px 32px rgba(198,149,67,.08),inset 0 1px 0 rgba(255,255,255,.92)}
[data-group="in-progress"] .group-heading h3,[data-group="in-progress"] .group-heading>span{color:#ae8244}
[data-group="done"]{border-color:rgba(104,183,137,.5);background:linear-gradient(180deg,rgba(238,249,241,.82),rgba(255,255,255,.55));box-shadow:0 12px 32px rgba(74,154,106,.08),inset 0 1px 0 rgba(255,255,255,.92)}
[data-group="done"] .group-heading h3,[data-group="done"] .group-heading>span{color:#548d6c}

/* Status color belongs to the lane frame only; the card interiors stay neutral. */
[data-group="open"],[data-group="in-progress"],[data-group="done"]{background:rgba(255,255,255,.54);box-shadow:0 12px 32px rgba(39,54,75,.04),inset 0 1px 0 rgba(255,255,255,.92)}
[data-group="open"]{border-color:#79aef0}
[data-group="in-progress"]{border-color:#e2b365}
[data-group="done"]{border-color:#78b995}
[data-group="open"] .group-heading h3,[data-group="open"] .group-heading>span,[data-group="in-progress"] .group-heading h3,[data-group="in-progress"] .group-heading>span,[data-group="done"] .group-heading h3,[data-group="done"] .group-heading>span{color:#435164}
.task-detail-dialog{width:min(620px,calc(100vw - 32px))}
.task-detail-dialog h2{margin:0 0 8px}
.detail-countdown{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #e2e8ef;border-radius:11px;color:#718092;background:rgba(255,255,255,.62);font-size:12px}
.detail-countdown strong{color:#3f6f9f;font-size:14px}
.task-detail-dialog .field-error{margin:0}

/* Impeccable polish pass: calmer hierarchy, stronger touch targets, and mobile-safe planning. */
:root{
  --surface:rgba(255,255,255,.76);
  --surface-solid:#fff;
  --ink-strong:#243244;
  --ink-soft:#667487;
  --ink-faint:#8d9aaa;
  --focus:#2f80ed;
  --space-1:6px;
  --space-2:10px;
  --space-3:14px;
  --space-4:18px;
  --space-5:24px;
}

.eyebrow{display:none!important}

html{background:var(--bg);text-rendering:optimizeLegibility}
body{min-height:100vh;background:linear-gradient(145deg,#f7f9fc 0%,#f3f6fa 54%,#f7f5fb 100%)}
::selection{color:#17385f;background:#cfe4ff}
.ambient{opacity:.3;filter:blur(88px)}
.app-shell{width:min(1180px,calc(100% - 56px));padding:24px 0 42px}
.topbar{height:48px;grid-template-columns:46px minmax(260px,520px) 1fr;gap:14px}
.menu-button,.avatar{width:44px;height:44px}
.menu-button{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.82);box-shadow:0 8px 24px rgba(43,59,81,.06)}
.global-search{min-height:44px;padding:10px 16px;border-color:rgba(255,255,255,.78);background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(43,59,81,.04)}
.global-search input{font-size:14px}
.dashboard-grid{grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:24px;margin-top:28px}
.day-column{gap:16px}
.date-card,.daily-card{padding:24px;border-radius:20px;background:var(--surface)}
.date-number{margin-top:12px;color:var(--ink-strong);font-size:clamp(40px,5vw,56px)}
.date-meta{gap:20px}
.date-meta strong,.date-meta span,.current-time span{color:var(--ink-soft)}
.current-time{margin-top:30px;color:var(--ink-strong);font-size:clamp(40px,5vw,56px)}
.time-zone{margin-top:8px;color:var(--ink-soft)}
.daily-card h2,.tasks-heading h2{color:var(--ink-strong);font-size:25px}
.daily-list{gap:13px;margin:22px 0 18px}
.daily-item{min-height:25px;color:var(--ink-soft)}
.small-link{padding:8px 2px;color:var(--ink-soft);text-decoration:underline;text-decoration-color:#c3cfdb;text-underline-offset:4px}
.tasks-heading{padding:0 2px 18px}
.tasks-heading h2{font-size:30px;letter-spacing:-.05em}
.new-task-button,.calendar-new-task{min-height:40px;padding:10px 15px;border-radius:12px;background:#253442;transition:background-color .16s ease}
.new-task-button:hover,.calendar-new-task:hover{background:#1578f6}
.task-groups{gap:14px}
.task-group{min-width:0;padding:16px;border-color:rgba(255,255,255,.72);border-radius:18px;background:rgba(255,255,255,.54);box-shadow:0 12px 32px rgba(39,54,75,.04)}
.group-heading{margin-bottom:12px}
.group-heading h3{color:#435164;font-size:16px}
.cards-list{gap:9px}
.task-card{min-width:0;min-height:82px;padding:14px 13px;border-color:#e3e9ef;border-radius:14px;background:rgba(255,255,255,.86);box-shadow:0 5px 14px rgba(42,57,77,.035)}
.task-card-copy strong{color:#304052;font-size:14px;line-height:1.3}
.task-card-copy small{font-size:11px;line-height:1.35}
.task-content-preview{margin-top:3px;color:#8290a0!important}
.task-labels{margin-top:6px}
.task-label{font-size:10px}
.task-group.is-drag-target{border-color:#82b3ee;background:rgba(232,243,255,.72)}
.task-drop-placeholder{min-height:82px;border-color:#8dbaf0;background:rgba(226,240,255,.58)}
.field-error{color:#b95f68}

/* All controls keep the user's requested native default pointer, with focus doing the affordance work. */
button,a,label,input,select,textarea,[role="button"]{cursor:default!important}
.date-card,.month-day,.week-day{cursor:default!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role="button"]:focus-visible{outline:3px solid rgba(47,128,237,.35);outline-offset:3px}
.task-card:focus-within,.daily-item:focus-within,.tag-option:focus-within{box-shadow:0 0 0 3px rgba(47,128,237,.16),0 5px 14px rgba(42,57,77,.035)}
.task-card input,.daily-item input,.tag-option input{cursor:default!important}
.task-card:hover{box-shadow:0 5px 14px rgba(42,57,77,.035)!important}

.calendar-dialog{width:min(1120px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto}
.calendar-header{padding:24px 28px 18px}
.calendar-header h2{color:var(--ink-strong);font-size:30px}
.calendar-toolbar{padding:14px 28px}
.calendar-toolbar{justify-content:space-between}
.calendar-toolbar .planner-hint{display:none!important}
.planner-hint{color:var(--ink-soft)}
.planner-body{padding:20px 28px 30px}
.month-grid,.week-grid,.day-grid{border-color:#dfe7ef;box-shadow:0 8px 24px rgba(43,59,81,.03)}
.month-day{min-height:86px;background:rgba(255,255,255,.62)}
.month-day-number,.week-day-heading strong{font-weight:700}
.day-hour{min-height:56px}
.planner-event{padding:6px 7px;border-radius:7px}
.planner-event strong{font-size:10px}
.planner-event small{font-size:9px}

@media (max-width:800px){
  .app-shell{width:min(100% - 28px,620px);padding-top:14px}
  .topbar{grid-template-columns:42px minmax(0,1fr) 42px;gap:9px}
  .menu-button,.avatar{width:42px;height:42px}
  .dashboard-grid{grid-template-columns:1fr;gap:16px;margin-top:20px}
  .day-column{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}
  .date-card,.daily-card{padding:20px}
  .small-link{grid-column:1/-1}
  .tasks-heading{align-items:center;padding-top:4px}
  .tasks-heading h2{font-size:27px}
  .task-groups{grid-template-columns:1fr;gap:12px}
  .task-group{padding:15px}
  .task-card{min-height:78px}
  .calendar-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:20px}
  .calendar-header{padding:18px 16px 14px}
  .calendar-header h2{font-size:24px}
  .calendar-header-actions{gap:4px}
  .calendar-header-actions button{min-width:36px;height:36px}
  .calendar-toolbar{flex-wrap:wrap;padding:12px 16px}
  .planner-hint{order:3;width:100%;font-size:10px}
  .planner-body{padding:14px 16px 20px;overflow-x:auto}
  .month-grid{min-width:620px}
  .week-grid{min-width:720px}
  .day-grid{min-width:0}
}

@media (max-width:460px){
  .app-shell{width:calc(100% - 20px)}
  .global-search{padding-inline:11px}
  .global-search input{font-size:13px}
  .day-column{grid-template-columns:1fr}
  .date-card{min-height:0}
  .date-number,.current-time{font-size:42px}
  .date-meta strong,.date-meta span,.current-time span{font-size:21px}
  .current-time{margin-top:24px}
  .tasks-heading{gap:12px}
  .tasks-heading h2{font-size:24px}
  .new-task-button{padding-inline:11px;font-size:10px}
  .task-card{grid-template-columns:18px minmax(0,1fr);padding:13px 12px}
  .task-card-copy strong{font-size:14px}
  .task-tag{display:inline-block}
  .calendar-header-actions .today-button{padding-inline:8px}
  .view-tabs{width:100%}
  .view-tabs button{flex:1}
}

@media (prefers-reduced-transparency:reduce){
  body{background:#f5f7fa}
  .ambient{display:none}
  .date-card,.daily-card,.task-group,.task-card,.global-search{background:#fff}
}

/* One consistent native black arrow across the entire workspace. */
html,body,body *{cursor:default!important}
.task-card,.task-card:hover,.task-card:active,.task-card.is-dragging,.task-card *,.task-drop-placeholder{cursor:default!important;transform:none!important;transition:none!important}
.task-card:hover{box-shadow:0 5px 13px rgba(42,57,77,.035)!important}
