:root{--bg:#f5f1ea;--panel:rgba(255,252,248,0.86);--panel-strong:#fffaf3;--border:rgba(95,88,78,0.16);--text:#2e2a25;--muted:#72695e;--shadow:0 20px 60px rgba(84,69,55,0.08);--accent:#7c8b7a;--accent-soft:#edf2ea;--working:#809ac7;--working-soft:#edf3ff;--done:#7bb58d;--done-soft:#ebf7ee;--stuck:#c98f72;--stuck-soft:#fff0e6;--low:#8fa7c6;--medium:#a08fbc;--high:#c98f72}*{box-sizing:border-box}html{background:radial-gradient(circle at top left,rgba(255,255,255,.9),transparent 26%),linear-gradient(180deg,#f9f5ef,#f2ece4)}body{margin:0;color:var(--text);font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif}button,input,select{font:inherit}.app-shell{max-width:1360px;margin:0 auto;padding:32px 20px 64px}.hero-card,.panel{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:28px}.hero-card{display:flex;justify-content:space-between;gap:24px;padding:28px 30px;margin-bottom:24px}.eyebrow{margin:0 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}h1,h2,h3,p{margin:0}h1{font-size:clamp(2.2rem,4vw,4rem);line-height:.95;max-width:10ch}.hero-copy{color:var(--muted);max-width:40rem;margin-top:14px;font-size:1.02rem;line-height:1.6}.hero-meta{display:flex;flex-direction:column;justify-content:space-between;color:var(--muted);min-width:180px;text-align:right}.panel{padding:24px;margin-bottom:24px}.panel-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.panel-header-task{display:block}.panel-header-main{display:grid;grid-gap:12px;gap:12px;max-width:960px}.task-composer{display:flex;gap:12px;width:min(540px,100%)}.task-composer-shell{width:min(100%,960px)}.composer-card{width:100%;border:1px solid var(--border);border-radius:28px;background:rgba(255,251,245,.97);box-shadow:0 14px 38px rgba(84,69,55,.08);padding:24px;margin-top:18px}.composer-actions,.composer-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.composer-head{margin-bottom:18px}.composer-close{min-height:38px}.composer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:14px}.composer-grid-dual{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-field{display:flex;flex-direction:column;gap:8px;color:var(--muted)}.composer-actions{margin-top:20px;justify-content:flex-end}.row-input,.row-select,.task-composer-input{width:100%;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.72);color:var(--text);min-height:44px;padding:10px 14px}.date-range-field{position:relative}.date-range-trigger{width:100%;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.76);color:var(--text);min-height:44px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer}.date-range-field.is-compact .date-range-trigger{min-height:40px;padding:8px 10px}.date-range-field.is-minimal .date-range-trigger{justify-content:center}.date-range-field.is-minimal .date-range-icon{display:none}.date-range-title{display:inline-flex;align-items:center;gap:8px}.date-range-sep{color:var(--muted);font-size:.9rem}.date-range-icon{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.date-range-popover{position:absolute;top:calc(100% + 10px);left:0;width:min(520px,95vw);border:1px solid var(--border);border-radius:18px;background:rgba(255,251,245,.99);box-shadow:0 20px 52px rgba(84,69,55,.18);padding:14px;z-index:25}.date-range-actions,.date-range-nav,.date-range-popover-head,.date-range-summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.date-range-popover-head span,.date-range-summary{color:var(--muted)}.date-range-summary{border:1px solid var(--border);border-radius:12px;padding:8px 10px;margin-top:8px}.date-range-nav{margin-top:10px}.date-nav-btn{min-height:34px;padding:0 12px}.date-grid,.date-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.date-weekdays{margin-top:10px;color:var(--muted);font-size:.85rem}.date-weekdays span{text-align:center}.date-grid{margin-top:8px}.date-cell{border:1px solid transparent;border-radius:10px;background:transparent;min-height:36px;cursor:pointer;color:var(--text)}.date-cell.is-muted{color:rgba(114,105,94,.42)}.date-cell.is-selected{background:rgba(128,154,199,.22)}.date-cell.is-due,.date-cell.is-start{background:#7f98c3;color:#fefcf7}.date-range-actions{margin-top:12px}.row-title{min-width:220px}.row-title::placeholder{color:rgba(114,105,94,.65)}.ghost-button,.primary-button{border-radius:999px;border:1px solid transparent;min-height:44px;padding:0 18px;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.icon-button{width:34px;height:34px;border-radius:999px;border:1px solid rgba(154,87,68,.18);background:rgba(201,143,114,.08);color:#9a5744;cursor:pointer;display:inline-grid;place-items:center;font-size:1.2rem;line-height:1}.primary-button{background:var(--accent);color:#fffdf8}.ghost-button{background:rgba(255,255,255,.7);border-color:var(--border);color:var(--text)}.danger-button{color:#9a5744}.ghost-button:hover,.primary-button:hover{transform:translateY(-1px)}.task-section+.task-section{margin-top:28px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.section-heading h3{font-size:1.65rem}.section-heading span{color:var(--muted)}.table-scroll,.timeline-panel{overflow-x:auto}.task-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0}.task-table td,.task-table th{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}.task-table th{color:var(--muted);font-weight:500;text-align:left}.task-row{transition:background-color .14s ease,transform .14s ease,box-shadow .14s ease}.task-row.is-dragging{opacity:.5}.task-row:hover{background:rgba(255,255,255,.46)}.drag-cell{width:38px;color:var(--muted)}.drag-handle{letter-spacing:-.18em}.drag-handle-button{border:0;background:transparent;color:inherit;cursor:-webkit-grab;cursor:grab;padding:0;width:100%}.drag-handle-button:active{cursor:-webkit-grabbing;cursor:grabbing}.priority-chip,.status-chip{text-transform:capitalize}.status-working{background:var(--working-soft);color:#516896}.status-done{background:var(--done-soft);color:#447757}.status-stuck{background:var(--stuck-soft);color:#9a5d41}.priority-low{background:rgba(143,167,198,.14);color:var(--low)}.priority-medium{background:rgba(160,143,188,.14);color:var(--medium)}.priority-high{background:rgba(201,143,114,.16);color:var(--high)}.timeline-inputs{display:block;margin-top:6px}.due-pill{display:inline-flex;align-items:center;min-height:40px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.52);color:var(--muted)}.timeline-stack{display:grid;grid-gap:16px;gap:16px}.timeline-mini{display:grid;grid-gap:14px;gap:14px}.timeline-mini-trigger{border:0;background:transparent;padding:0;width:100%;text-align:left;cursor:pointer}.timeline-mini-track{position:relative;height:10px;border-radius:999px;background:rgba(95,88,78,.08);overflow:hidden}.timeline-mini-fill{height:100%;border-radius:inherit}.row-meta,.timeline-mini-label,.timeline-separator{color:var(--muted);line-height:1.25}.row-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.row-meta-compact{min-width:96px}.empty-section-row td{padding:10px 12px 16px}.empty-section-drop{border:1px dashed rgba(95,88,78,.24);border-radius:14px;min-height:54px;display:grid;place-items:center;color:var(--muted);font-size:.95rem}.timeline-header{align-items:end}.timeline-caption{max-width:26rem;color:var(--muted);line-height:1.5}.timeline-shell{min-width:1180px}.timeline-axis{background:linear-gradient(180deg,rgba(255,251,245,.96),rgba(255,251,245,.88));border-bottom:1px solid var(--border);margin-bottom:2px}.timeline-axis-row{display:grid;grid-template-columns:320px 1fr;align-items:end}.timeline-axis-spacer{width:320px}.timeline-axis-track{min-width:0}.timeline-days,.timeline-months{display:flex}.timeline-cell,.timeline-day,.timeline-month{flex:0 0 auto}.timeline-month{padding:0 0 8px 8px;color:var(--muted)}.timeline-day{padding:10px 0 12px;text-align:center;color:var(--muted);border-right:1px solid rgba(95,88,78,.08);border-left:1px solid rgba(95,88,78,.03)}.timeline-grid{position:relative}.timeline-row{display:grid;grid-template-columns:320px 1fr;border-bottom:1px solid var(--border);min-height:86px}.timeline-row-label{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px 16px 14px 0;color:var(--muted)}.timeline-row-label strong{color:var(--text)}.timeline-track{display:none}.timeline-track-grid{position:relative;display:flex;align-items:stretch}.timeline-cell{height:86px;border-right:1px solid rgba(95,88,78,.08)}.timeline-cell.is-today,.timeline-day.is-today{background:rgba(124,139,122,.08)}.timeline-bar{position:absolute;height:34px;border-radius:999px;top:26px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;color:#fffef9;box-shadow:0 12px 22px rgba(84,69,55,.12);touch-action:none;cursor:-webkit-grab;cursor:grab;overflow:hidden;border:1px solid rgba(255,255,255,.32)}.timeline-working{background:linear-gradient(90deg,#7e96bd,#8aa3cf)}.timeline-done{background:linear-gradient(90deg,#76af88,#88bf97)}.timeline-stuck{background:linear-gradient(90deg,#c48c71,#d29e83)}.timeline-handle{width:10px;height:18px;border:0;border-radius:999px;background:rgba(255,255,255,.55);cursor:ew-resize;padding:0;z-index:2}.timeline-bar-progress{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.2),rgba(255,255,255,.06) 55%,rgba(0,0,0,.06))}.timeline-bar-copy{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;white-space:nowrap;overflow:hidden}.timeline-bar-copy span{overflow:hidden;text-overflow:ellipsis}.timeline-bar-copy small{color:rgba(255,254,249,.82);flex-shrink:0}.timeline-empty{padding:28px 0 8px}.loading-panel,.timeline-empty{color:var(--muted)}@media (max-width:900px){.app-shell{padding:20px 14px 48px}.hero-card,.panel,.panel-header,.timeline-row{display:block}.hero-meta{margin-top:18px;text-align:left;min-width:0;gap:6px}.primary-button{width:100%;margin-top:10px}.composer-grid{grid-template-columns:1fr}.date-range-popover{width:min(420px,92vw)}.timeline-row-label{padding-right:0}.task-table,.timeline-shell{min-width:980px}.timeline-axis-row,.timeline-row{grid-template-columns:260px 1fr}.timeline-axis-spacer{width:260px}}