:root{--paper:#f6f5f2;--card:#fff;--border:#e8e6e1;--ink:#28352f;--muted:#888c87;--green:#405e4b;--green-light:#e8eee8;--terra:#a9624c;--terra-light:#f7ede8;--shadow:0 10px 34px rgba(40,53,47,.045)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}body{margin:0;background:var(--paper)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.app{display:flex;min-height:100vh}.sidebar{width:258px;background:#fefefd;border-right:1px solid var(--border);padding:36px 23px;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:58px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;background:var(--green);border-radius:13px;color:#fff;font-size:26px}.brand strong{font-size:14px;letter-spacing:.01em}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:6px;line-height:1.3}.sidebar nav{display:grid;gap:8px}.nav{width:100%;border:0;border-radius:11px;padding:14px 16px;text-align:left;background:transparent;color:#69746e;font-size:14px}.nav span{margin-right:12px;font-size:18px}.nav.active{background:var(--green-light);color:var(--green);font-weight:650}.sidebar-footer{margin-top:auto;font-size:11px;color:#aaa9a3;line-height:1.8;padding:15px 8px}.content{width:100%;max-width:1660px;margin:auto;padding:48px clamp(24px,4vw,72px) 100px}.topbar{display:flex;gap:28px;justify-content:space-between;align-items:end;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:.1em;color:var(--muted);margin:0 0 12px}h1{margin:0;font-size:35px;letter-spacing:-.035em;font-weight:550}h2{font-size:17px;font-weight:600;letter-spacing:-.01em;margin:0}.toolbar{display:flex;gap:10px;align-items:center}.toolbar input{min-width:200px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;outline-color:var(--green)}button.primary{background:var(--green);border:1px solid var(--green);color:#fff;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:650}button.primary:hover{background:#324d3b}.status{padding:12px 17px;font-size:12px;background:var(--green-light);color:var(--green);border-radius:10px;margin-bottom:23px}.status.error{background:var(--terra-light);color:#88442d}.sectionhead{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px}.small,.hint{color:var(--muted);font-size:12px}.hint{margin-top:23px}.meetings{display:flex;flex-wrap:wrap;gap:12px;min-height:80px;margin-bottom:38px}.meeting{padding:15px 20px;border:1px solid var(--border);background:#fff;border-radius:12px;min-width:210px}.meeting-time{color:var(--green);font-size:12px;margin-bottom:8px}.meeting-name{font-size:13px}.empty{padding:20px;font-size:12px;color:var(--muted);margin:0}.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.panel{min-height:380px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:22px 18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:0 3px 18px;margin-bottom:4px;border-bottom:1px solid var(--border)}.panel-heading h2{display:flex;align-items:center;gap:10px}.count{font-size:11px;color:var(--muted);background:#f4f5f2;padding:4px 9px;border-radius:99px}.accent-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.fire{background:var(--terra)}.doing{background:var(--green)}.remember{background:#d4af6f}.task{display:flex;align-items:flex-start;gap:10px;padding:15px 5px;border-bottom:1px solid #f0eeeb}.task input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;margin-top:2px}.task-body{flex:1;min-width:0}.task-name{font-size:13px;line-height:1.55;word-break:break-word}.task.done .task-name{text-decoration:line-through;color:#aaa}.task-comment{color:#999;font-size:11px;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}.task-due{font-size:11px;color:#9a9c97;margin-top:7px}.task.overdue .task-name{color:var(--terra)}.icon-btn{background:transparent;border:0;padding:2px 5px;color:#b2b8b2;font-size:14px}.icon-btn:hover{color:var(--green)}.hidden{display:none!important}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.note{border:1px solid var(--border);border-radius:14px;background:#fff;padding:24px;min-height:174px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.note-header{display:flex;gap:14px;justify-content:space-between;align-items:flex-start}.note h3{font-size:15px;font-weight:650;line-height:1.4;margin:0}.note-text{font-size:12px;line-height:1.7;color:#747970;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:15px}.note-foot{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;align-items:center;color:#a2a39e;font-size:11px}.note-actions{display:flex;gap:8px}.note-actions button,.week-controls button,.tabs button{background:transparent;border:0;color:#738076;padding:6px}.note-actions button:hover{color:var(--green)}.important{color:var(--terra);font-weight:650;font-size:11px}.archive-list{display:grid;gap:8px}.archive-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 20px;background:white;border:1px solid var(--border);border-radius:10px}.archive-item span{font-size:13px}.archive-item .meta{font-size:11px;color:var(--muted);margin-top:6px}.archive-item button{background:transparent;border:1px solid var(--border);border-radius:7px;padding:7px 11px;color:var(--green);font-size:12px}.tabs{background:#fff;padding:4px;border-radius:9px}.tabs .selected{background:var(--green-light);border-radius:7px;color:var(--green)}.week-controls{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted)}.week-controls button{font-size:16px}.calendar-wrap{overflow-x:auto;border-radius:13px;border:1px solid var(--border);background:#fff}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:910px}.week-day{min-height:450px;border-right:1px solid var(--border)}.week-day:last-child{border:0}.week-day-head{text-align:center;padding:15px 8px;border-bottom:1px solid var(--border);color:var(--muted);font-size:12px}.week-day-head.today{color:var(--green);font-weight:700;background:var(--green-light)}.event{margin:10px 7px;padding:10px;border-left:3px solid var(--green);background:#f2f6f2;border-radius:5px;font-size:11px;line-height:1.5}.event time{display:block;font-weight:700;margin-bottom:6px;color:var(--green)}dialog{border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 100px #1d241f40;width:min(520px,92vw);padding:26px}dialog::backdrop{background:#17221c66}.dialog-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.dialog-title button{font-size:22px;background:transparent;border:0;color:var(--muted)}dialog label{display:block;font-size:12px;color:#626d64;margin:15px 0 8px}dialog input:not([type=hidden]):not([type=checkbox]),dialog textarea{width:100%;border:1px solid #dde3db;border-radius:9px;padding:11px;outline-color:var(--green)}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-actions{display:flex;gap:14px;justify-content:end;margin-top:25px}.dialog-actions button:not(.primary){background:transparent;border:0;color:var(--muted)}.check-row{display:flex;align-items:center;gap:10px}.check-row input{accent-color:var(--green)}@media(max-width:1150px){.task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel:last-child{grid-column:span 2;min-height:170px}}@media(max-width:760px){.app{display:block}.sidebar{position:static;width:auto;height:auto;padding:20px 18px 14px;border-right:0;border-bottom:1px solid var(--border)}.brand{margin-bottom:18px}.sidebar nav{display:flex;overflow:auto;gap:5px}.nav{width:auto;white-space:nowrap;padding:10px 12px}.nav span{margin-right:4px}.sidebar-footer{display:none}.content{padding:27px 16px 70px}.topbar{display:block}.toolbar{margin-top:21px}.toolbar input{min-width:0;flex:1}.task-grid,.notes-grid{grid-template-columns:1fr}.panel:last-child{grid-column:auto}.panel{min-height:170px}.sectionhead{gap:12px;flex-wrap:wrap}h1{font-size:29px}}

/* Approved visual direction: dark forest sidebar, warm textured canvas,
   compact 40/60 workspace and serif editorial headings. */
:root{
  --paper:#ece7de; --card:#fbf9f5; --border:#e2d9cd; --ink:#1b3128;
  --muted:#807d73; --green:#294b37; --green-light:#e5e9df;
  --terra:#ac644d; --terra-light:#f5ded6;
  --shadow:0 5px 24px rgba(63,51,37,.065);
}
body{background:radial-gradient(ellipse 1100px 650px at 70% 11%,#f8f5ef 0%,transparent 68%),linear-gradient(110deg,#ece7de,#f4efe8 65%,#e9e2d7);color:var(--ink)}
.sidebar{
  width:257px; background:radial-gradient(circle at 0% 23%,#335541,#1b392b 62%,#142b21 100%);
  color:#f5f1e8;border-right:0;padding:35px 19px 25px;box-shadow:3px 0 20px #18312719;
}
.brand{margin:2px 0 42px;align-items:flex-start;gap:12px;padding:0 7px}
.brand-mark{width:38px;height:45px;flex:0 0 38px;background:transparent;color:#95a87a;box-shadow:none;border-radius:0;font-family:Georgia,serif;font-size:42px;line-height:1}
.brand strong{font-family:Georgia,"Times New Roman",serif;color:#f6f2eb;font-size:25px;font-weight:500;line-height:1.05;letter-spacing:0}
.nav{color:#e3e9df;font-family:Georgia,serif;font-size:17px;border-radius:10px;padding:15px 16px;display:flex;align-items:center;gap:12px}
.nav span{font-family:system-ui;font-size:23px;display:inline-block;width:26px;margin:0;font-weight:400;color:#d7e4d4}
.nav:hover{background:#e6eec41a;color:#fff}
.nav.active{background:#b4caa43f;color:#fff;font-weight:550}
.sidebar-footer{color:#e0e5d6ba;font:italic 17px/1.35 Georgia,serif;width:155px;letter-spacing:.01em;margin-top:auto;padding:25px 16px 0}
.sidebar-footer::before{content:"❧";color:#94a87c;font:34px Georgia;display:block;margin-bottom:20px}
.content{max-width:none;padding:16px clamp(15px,1.2vw,25px) 65px}
.day-overview{background:linear-gradient(130deg,#fffdfaee,#f7f3ecf5);border:1px solid #e3d9ca;border-radius:18px;padding:26px 28px 23px;box-shadow:var(--shadow);margin-bottom:13px}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 21px}
.heading-row{display:flex;align-items:start;justify-content:space-between;flex:1;gap:16px;min-width:0}
h1{font:normal 43px/1.08 Georgia,"Times New Roman",serif;color:#183729;letter-spacing:-.025em}
.eyebrow{margin:10px 0 0;color:#443f37;text-transform:none;white-space:nowrap;letter-spacing:0;font:16px Georgia,serif}
.toolbar{gap:9px;align-self:flex-start}
.toolbar input{width:164px;min-width:120px;border:1px solid #e4ded3;background:#faf8f2;padding:11px 12px;font-size:12px}
button.primary{background:#34543e;border-color:#34543e;padding:12px 14px}
#day-only{display:block}
.meetings{min-height:72px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0 0 17px}
.meeting{min-width:0;background:#edeee5;border:1px solid #e4e3d7;border-radius:9px;padding:12px 18px;min-height:70px;box-shadow:none}
.meeting-time{font:14px Georgia,serif;color:#333a2f;margin:0 0 7px}
.meeting-name{font:15px Georgia,serif;color:#202e25}
.meetings>.empty{grid-column:1/-1;align-self:center;padding:12px;font-size:12px;color:#8f8b7f}
.progress-info{display:flex;align-items:center;justify-content:space-between;gap:20px;font:14px Georgia,serif;color:#6e6e63;margin-top:8px;margin-bottom:8px}
#progress-percent{font-size:12px}
.progress-track{height:8px;background:#e2dfd6;border-radius:99px;overflow:hidden}
.progress-fill{background:#698873;height:100%;width:0;transition:width .3s}
.status{border-radius:7px;margin:0 0 13px;padding:8px 16px;color:#677167;background:#e9eee78c;font-size:11px}
.status.error{background:#f2e9df;color:#85604d}
.task-grid{grid-template-columns:minmax(285px,2fr) minmax(0,3fr);gap:13px;align-items:start}
.left-task-column{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
.panel{border:1px solid #e2dacd;background:linear-gradient(145deg,#fffdfa,#f9f6f0);padding:16px 16px 20px;border-radius:18px;min-height:185px;box-shadow:var(--shadow)}
.panel:last-child{grid-column:auto;min-height:0}
.panel-doing{min-height:530px}
.panel-heading{padding:3px 3px 15px;margin:0 0 6px;border-bottom:1px solid #e6e0d5}
.panel-heading h2{font:600 29px/1.25 Georgia,"Times New Roman",serif;letter-spacing:-.04em;color:#171b18;display:flex;align-items:center;gap:14px;text-transform:lowercase}
.panel-tools{display:flex;align-items:center;gap:13px}
.count{font:15px Georgia,serif;background:transparent;color:#403a35;padding:0}
.add-section{display:grid;place-items:center;background:#e9ecdf;color:var(--green);font-size:26px;font-weight:400;width:40px;height:40px;border:0;border-radius:50%;padding:0;line-height:1}
.add-section:hover{background:#d7e4d3}
.task-heading-icon{display:grid;place-items:center;font:28px Georgia,serif;width:30px;height:30px}
.task-heading-icon.flame{color:#d76b35}
.task-heading-icon.check{color:white;background:#234533;width:30px;height:30px;border-radius:50%;font:22px system-ui}
.task-heading-icon.bookmark{color:#355640}
.task{padding:12px 12px;gap:13px;border:1px solid #e9e4da;border-radius:9px;background:#fdfbf7;margin-top:7px;align-items:start}
.panel-doing .task{border:0;border-radius:0;border-bottom:1px solid #e8e0d7;margin-top:0;background:transparent}
.task input[type=checkbox]{width:19px;height:19px;margin-top:1px;accent-color:#405e4b}
.task-name{font:16px/1.35 Georgia,"Times New Roman",serif;color:#2b2a28}
.task-comment{font-size:12px;color:#999287;margin-top:5px}
.task.overdue{background:#f3ded7;border-color:#efd3c8}
.task.overdue .task-name{color:#713b32}
.panel-doing .task.overdue{border-radius:8px;border-bottom:0;margin:6px 0;background:#f3ded7}
.icon-btn{font-size:18px}
.task-due{color:#81796c}
.panel .empty{padding:22px 9px;color:#9f9a91;font-style:italic}
.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.note{background:#fffcf8;border-color:#e7dfd3;border-radius:17px;box-shadow:var(--shadow);min-height:200px}
.note h3{font:600 22px Georgia,serif;color:#1e3428}
.note-text{color:#6d766c;font-size:14px}
.note-foot{border-top:1px solid #eee7dd;margin-top:auto;color:#827f72}
.archive-list.notes-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.archive-list.notes-layout .archive-item{display:flex;flex-direction:column;align-items:stretch;min-height:204px;justify-content:space-between;border-radius:17px;box-shadow:var(--shadow);background:#fffdfa;padding:25px}
.archive-list.notes-layout .archive-item span{font:600 21px Georgia,serif;display:block;margin:8px 0}
.archive-list.notes-layout .archive-item .meta{margin-top:auto;padding-top:18px}
.archive-list.notes-layout .archive-item button{align-self:flex-end}
.archive-list.notes-layout .archived-status{font-size:11px;font-weight:600;color:#557960;background:#e5eee5;display:inline-block;padding:5px 8px;border-radius:6px}
.archive-list.notes-layout .archive-item .note-preview{font:13px/1.6 system-ui;color:#73786f;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px}
.sectionhead h2{font:normal 28px Georgia,serif;color:var(--ink)}
.week-day-head{font-family:Georgia,serif}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1160px){
 .task-grid{grid-template-columns:minmax(250px,2fr) minmax(0,3fr)}
 .panel:last-child{grid-column:auto}
 .toolbar input{width:140px}
 .heading-row{flex-direction:column;gap:0}
 .eyebrow{margin:5px 0 0}
 h1{font-size:36px}
}
@media(max-width:760px){
 .sidebar{width:auto;height:auto;position:static;padding:16px;border-bottom:0}
 .brand{margin:0 0 14px}
 .brand strong{font-size:19px}
 .brand-mark{font-size:28px;width:26px;height:30px;flex-basis:26px}
 .sidebar nav{display:flex;gap:4px}
 .nav{font:14px Georgia,serif;padding:9px 12px}
 .nav span{font-size:18px;width:auto}
 .sidebar-footer{display:none}
 .content{padding:12px 10px 50px}
 .day-overview{padding:18px 14px 16px;border-radius:14px}
 .topbar{display:block}
 .heading-row{display:flex;flex-direction:row;align-items:start}
 .toolbar{margin-top:15px;display:flex}
 .toolbar input{flex:1;width:auto}
 .meetings{grid-template-columns:1fr;gap:7px}
 .meeting{min-height:54px}
 .task-grid,.notes-grid,.archive-list.notes-layout{grid-template-columns:minmax(0,1fr)}
 .panel-doing{min-height:210px}
 .panel-heading h2{font-size:25px}
 h1{font-size:30px}
 .eyebrow{font-size:12px}
}

/* Ensure tall right work column; the original generic last-child rule is intentionally overridden. */
.task-grid > .panel-doing{min-height:530px}
@media(max-width:760px){.task-grid > .panel-doing{min-height:210px}}
.date-group-label{font:600 16px/1.45 Georgia,"Times New Roman",serif;color:#352e27;margin:15px 4px 7px;padding-top:7px;border-top:1px solid #eae2d8}
.date-group-label:first-child{margin-top:4px;border-top:0}

/* Full planner controls: notes, archival filters, time-axis calendar. */
.dialog-grid > div{min-width:0}
#task-fields select,#task-fields > input,.archive-tools input,.archive-tools select{
 background:#fffefa;border:1px solid #e1ddd2;border-radius:9px;padding:11px 12px;color:#304137;
 width:100%;font:13px system-ui;
}
#task-fields label{display:block;margin:12px 0 7px}
.notes-actions{display:flex;gap:11px;align-items:center;margin:-2px 0 22px}
.notes-actions .primary{padding:12px 21px}
.soft-button{padding:12px 18px;border:1px solid #c9d1c6;border-radius:9px;color:#315643;background:#e6ebe3;font:13px system-ui}
.soft-button:hover{background:#d8e4d6}
.archive-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.archive-tools input{flex:1;min-width:240px}
.archive-tools select{width:auto;min-width:150px}
.archive-tools #archive-back{flex-shrink:0}
.archive-tools [hidden]{display:none}
.archive-list.notes-layout .archive-item .note-preview{font-size:13px;white-space:pre-wrap}
#view-calendar{background:#fffdfa;border:1px solid #e7dfd5;border-radius:17px;padding:21px}
#view-calendar .sectionhead{padding-bottom:14px}
.week-grid{grid-template-columns:60px repeat(7,minmax(124px,1fr));min-width:1020px}
.calendar-hours{display:grid;grid-template-rows:56px repeat(15,48px);background:#fbf9f4;border-right:1px solid #e8e1d7}
.cal-top-pad{border-bottom:1px solid #e8e1d7}
.hour-label{font:11px/1 system-ui;color:#999287;text-align:center;transform:translateY(-5px)}
.week-day{min-height:0}
.week-day-head{height:56px;display:flex;align-items:center;justify-content:center;font-size:12px}
.day-hour-grid{height:720px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,#ede8dd 47px,#ede8dd 48px)}
.day-hour-grid .event{position:absolute;left:4px;right:4px;margin:0;box-sizing:border-box;overflow:hidden;padding:4px 6px;z-index:1;border-left:3px solid #698876;word-break:break-word}
.day-hour-grid .event time{font-size:10px;margin:0 0 3px}
.week-controls{gap:9px}
.week-controls button{background:#e9eee5;border-radius:7px;padding:8px 11px;color:#2d583d}
.week-controls .text-btn{font-size:12px}
@media(max-width:1060px){
 .archive-tools input{width:100%;flex-basis:100%}
 .day-overview .heading-row{flex-direction:column}
}
@media(max-width:760px){
 .notes-actions{flex-wrap:wrap}
 .archive-tools input{flex:1 1 100%;min-width:0}
 .archive-tools select{min-width:0;flex:1}
 #view-calendar{padding:12px}
 .week-controls{flex-wrap:wrap}
 .task-grid>.panel-doing{min-height:180px}
}

.calendar-all-day{position:relative;z-index:2;background:#e9eee2;border-radius:5px;color:#305443;padding:5px 7px;margin:3px 3px 0;font:11px/1.3 system-ui;box-shadow:0 2px 4px #10281816}
