.tasks-layout { max-width: 880px; margin: 0 auto; padding: 1.5rem 2rem 4rem; display: grid; grid-template-columns: 1fr 270px; gap: 2rem; align-items: start; }
.task-input-row { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; align-items: center; }
.task-input { flex: 1; background: white; border: 1px solid var(--aged); border-radius: var(--radius-sm); padding: 0.7rem 1rem; font-size: 0.82rem; color: var(--ink); outline: none; transition: border-color var(--transition); }
.task-input:focus { border-color: var(--rust); }
.priority-select { background: white; border: 1px solid var(--aged); border-radius: var(--radius-sm); padding: 0.7rem 0.6rem; font-size: 0.72rem; color: var(--warm-gray); cursor: pointer; outline: none; }

.task-item { display: flex; align-items: center; gap: 0.7rem; background: white; border: 1px solid var(--aged); border-radius: 5px; padding: 0.75rem 0.9rem; transition: all var(--transition); cursor: pointer; margin-bottom: 0.45rem; }
.task-item:hover { border-color: var(--warm-gray); }
.task-item.done { background: var(--aged); opacity: 0.6; }
.task-item.done .task-text { text-decoration: line-through; color: var(--warm-gray); }
.task-check { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--aged); flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all var(--transition); font-size: 0.65rem; }
.task-item.done .task-check { background: var(--sage); border-color: var(--sage); color: white; }
.task-text { flex: 1; font-size: 0.85rem; line-height: 1.4; }
.task-priority-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.p-high { background: var(--rust); }
.p-med  { background: var(--gold); }
.p-low  { background: var(--mist); }
.task-delete { opacity: 0; background: none; border: none; color: var(--mist); font-size: 0.8rem; padding: 0.15rem; transition: all var(--transition); }
.task-item:hover .task-delete { opacity: 1; }
.task-delete:hover { color: var(--rust); }

/* SIDEBAR */
.timer-widget { background: var(--ink); border-radius: var(--radius-lg); padding: 1.6rem; text-align: center; color: var(--paper); margin-bottom: 1rem; }
.timer-label { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mist); }
.timer-display { font-family: var(--font-mono); font-size: 2.6rem; letter-spacing: 0.1em; margin: 0.6rem 0; }
.timer-controls { display: flex; gap: 0.5rem; justify-content: center; margin-top: 0.8rem; }
.timer-btn { padding: 0.45rem 1rem; border-radius: var(--radius-sm); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; border: 1px solid rgba(255,255,255,0.15); background: rgba(255,255,255,0.07); color: var(--paper); transition: all var(--transition); }
.timer-btn:hover { background: var(--rust); border-color: var(--rust); }

.stats-card { background: var(--ink); border-radius: var(--radius-lg); padding: 1.4rem; color: var(--paper); margin-bottom: 1rem; }
.stats-title { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mist); margin-bottom: 0.9rem; }
.stat-row { display: flex; justify-content: space-between; align-items: baseline; padding: 0.35rem 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
.stat-row:last-child { border-bottom: none; }
.stat-label { font-size: 0.75rem; color: rgba(245,240,232,0.6); }
.stat-val { font-family: var(--font-serif); font-size: 1.3rem; color: var(--gold); }
.progress-wrap { margin-top: 0.8rem; }
.progress-label { display: flex; justify-content: space-between; font-size: 0.65rem; color: rgba(245,240,232,0.5); margin-bottom: 0.4rem; }
.progress-bar-bg { height: 5px; background: rgba(255,255,255,0.1); border-radius: var(--radius-sm); overflow: hidden; }
.progress-bar-fill { height: 100%; background: linear-gradient(90deg, var(--sage), var(--gold)); border-radius: var(--radius-sm); transition: width 0.6s ease; width: 0%; }

.focus-card { background: linear-gradient(135deg, #f8f3ea, #ede4cf); border: 1px solid var(--aged); border-radius: var(--radius-lg); padding: 1.3rem; }
.focus-card-title { font-family: var(--font-serif); font-size: 1rem; margin-bottom: 0.3rem; }
.focus-card-sub { font-size: 0.72rem; color: var(--warm-gray); margin-bottom: 1rem; line-height: 1.5; }
.focus-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.55rem 0.7rem; background: white; border-radius: var(--radius-sm); margin-bottom: 0.4rem; font-size: 0.8rem; border-left: 3px solid var(--rust); cursor: pointer; transition: all var(--transition); }
.focus-item:hover { box-shadow: 0 2px 8px var(--shadow); }

@media (max-width: 700px) { .tasks-layout { grid-template-columns: 1fr; } }
