:root{color:#262522;font-synthesis:none;--color-bg:#f7f6f2;--color-surface:#fffefa;--color-muted:#76736b;--color-border:#dedbd2;--color-accent:#285943;background:#f7f6f2;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;min-height:100dvh;margin:0}.app-shell{min-height:100dvh}.primary-nav{z-index:10;background:var(--color-surface);border-color:var(--color-border);position:fixed}.brand{letter-spacing:.02em;font-weight:700;display:none}.nav-links{display:flex}.nav-link{color:var(--color-muted);justify-content:center;align-items:center;min-height:3.5rem;font-size:.92rem;text-decoration:none;display:flex}.nav-link.active{color:var(--color-accent);font-weight:700}.capture-link{color:var(--color-accent);font-size:1.4rem}.main-content{padding:1.25rem 1rem calc(5rem + env(safe-area-inset-bottom))}.today-page,.placeholder-page{max-width:48rem;margin:0 auto;padding-top:1.5rem}.projects-page,.project-page{max-width:72rem;margin:0 auto;padding-top:1.5rem}.eyebrow{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}h1{margin:.5rem 0 1rem;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15}h2{margin:0;line-height:1.2}.muted{color:var(--color-muted)}.auth-page{max-width:28rem;margin:0 auto;padding:4rem 1.25rem}.auth-form{gap:1rem;display:grid}.auth-form label{color:var(--color-muted);gap:.35rem;display:grid}.auth-form input,.task-create input,.task-row input{border:1px solid var(--color-border);background:var(--color-surface);min-height:2.75rem;color:inherit;border-radius:.65rem;padding:0 .75rem}button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:.65rem;min-height:2.5rem;padding:0 .8rem}button:disabled{cursor:not-allowed;opacity:.5}.auth-form button{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.error-text{color:#a23d34}.offline-banner{background:#fff7df;border:1px solid #d9b978;border-radius:.65rem;padding:.7rem .8rem}.task-create,.task-toolbar{align-items:center;gap:.6rem;margin:1.5rem 0 .8rem;display:flex}.task-create input{flex:1}.task-toolbar{justify-content:space-between}.task-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.conflict-card{background:#fff7df;border:1px solid #d9b978;border-radius:.75rem;margin:1rem 0;padding:1rem}.conflict-card p{margin:.4rem 0}.conflict-actions{gap:.6rem;margin-top:.75rem;display:flex}.task-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.75rem;grid-template-columns:1fr auto auto;align-items:center;gap:.6rem;padding:.75rem;display:grid}.sync-badge{color:var(--color-muted);white-space:nowrap;font-size:.78rem}.sync-badge.synced{color:var(--color-accent)}.sync-badge.conflict,.sync-badge.rejected{color:#a23d34}.page-header,.project-header,.section-heading,.project-card-top,.project-card-footer,.page-actions,.form-actions,.form-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header,.project-header{margin-bottom:2rem}.page-actions{justify-content:flex-end}.project-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;display:grid}.project-card{color:inherit;border:1px solid var(--color-border);background:var(--color-surface);border-radius:.9rem;min-height:9rem;padding:1.15rem;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.project-card:hover,.project-card:focus-visible{border-color:var(--color-accent);transform:translateY(-1px)}.project-card h2{font-size:1.1rem}.project-card p{margin:1.2rem 0}.project-card-footer{color:var(--color-muted);border-top:1px solid var(--color-border);padding-top:.7rem;font-size:.82rem}.status-pill{color:var(--color-accent);white-space:nowrap;background:#edf0e9;border-radius:999px;padding:.25rem .55rem;font-size:.78rem}.status-pill.completed,.status-pill.accepted{background:#e3efe7}.panel,.panel-form,.milestone-section,.milestone-tasks,.other-tasks{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.9rem;padding:1.25rem}.panel-form{max-width:32rem;margin-bottom:1.25rem}.panel-form label,.task-form label{color:var(--color-muted);gap:.4rem;font-size:.9rem;display:grid}.panel-form input,.task-form input,.task-form select,.inline-form input{border:1px solid var(--color-border);background:var(--color-surface);min-height:2.65rem;color:inherit;font:inherit;border-radius:.6rem;padding:0 .7rem}.panel-form .form-actions{justify-content:flex-start;margin-top:1rem}.page-back{margin-bottom:1rem}.page-back a{color:var(--color-muted);text-decoration:none}.project-header h1{margin-bottom:.35rem}.project-header p{margin:0}.project-header .primary-button{align-self:flex-start}.milestone-section,.milestone-tasks,.other-tasks{margin-bottom:1.25rem}.section-heading{margin-bottom:1rem}.section-heading h2{font-size:1.1rem}.section-heading p{margin:.35rem 0 0;font-size:.88rem}.milestone-track{align-items:flex-start;gap:0;padding:.75rem .2rem .5rem;display:flex;overflow-x:auto}.milestone-node{justify-items:center;gap:.45rem;min-width:9.5rem;padding:.25rem .5rem;display:grid;position:relative}.milestone-node:not(:last-child):after{content:"";background:var(--color-border);width:calc(100% - 2.5rem);height:2px;position:absolute;top:1rem;left:calc(50% + 1.25rem)}.milestone-button{z-index:1;min-height:2.1rem;color:inherit;background:0 0;border:0;justify-items:center;gap:.25rem;padding:0;display:grid}.milestone-button span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;overflow:hidden}.milestone-node.selected .milestone-button{color:var(--color-accent);font-weight:700}.milestone-icon{background:var(--color-surface);width:2rem;height:2rem;color:var(--color-muted);border:2px solid #a8b3a3;border-radius:50%;place-items:center;display:grid}.milestone-icon.in_progress{color:#b68a35;border-color:#b68a35}.milestone-icon.accepted{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.milestone-node select{max-width:7.5rem;color:var(--color-muted);background:0 0;border:0;font-size:.75rem}.milestone-detail-actions{flex-wrap:wrap;gap:.5rem;display:flex}.milestone-rename-form{margin-bottom:.85rem}.success-text{color:var(--color-accent)}.text-button{background:0 0;border:0;min-height:auto;padding:0;font-size:.75rem}.danger-text{color:#a23d34}.inline-form{flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 1rem;display:flex}.inline-form input{flex:14rem}.empty-state{color:var(--color-muted);margin:.5rem 0 0}.task-row-compact{grid-template-columns:minmax(0,1fr) auto}.completed-text{color:var(--color-muted);text-decoration:line-through}.task-meta{color:var(--color-muted);text-align:right;font-size:.8rem}.modal-backdrop{z-index:20;background:#26252259;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:1rem;width:min(100%,34rem);max-height:min(90dvh,42rem);padding:1.25rem;overflow:auto;box-shadow:0 1rem 3rem #0000002e}.task-form{gap:1rem;display:grid}.task-form h2{font-size:1.25rem}.quiet-button{color:var(--color-muted);background:0 0;border:0}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.primary-button{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.calendar-page{max-width:88rem;margin:0 auto;padding-top:1.5rem}.calendar-header{align-items:flex-end}.calendar-header h1{margin-bottom:.35rem}.calendar-header p{margin:0}.calendar-nav{align-items:center;gap:.85rem;display:flex}.calendar-nav strong{text-align:center;min-width:6rem;font-size:1.1rem}.calendar-nav button{width:2.5rem;padding:0;font-size:1.5rem;line-height:1}.calendar-layout{grid-template-columns:minmax(0,1fr) minmax(19rem,24rem);align-items:start;gap:1.25rem;display:grid}.calendar-grid{border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday{min-height:2.25rem;color:var(--color-muted);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);place-items:center;font-size:.82rem;display:grid}.calendar-day{border:0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);min-height:6.4rem;color:inherit;text-align:left;border-radius:0;justify-content:space-between;align-items:flex-start;gap:.35rem;padding:.55rem;display:flex}.calendar-day:hover,.calendar-day:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent);background:#f0f4ef;outline:none}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--color-accent);background:#eaf1eb}.calendar-day.outside-month{color:#aaa69d;background:#faf9f5}.calendar-day time{font-size:.9rem}.calendar-markers{align-items:center;gap:.2rem;padding-top:.1rem;display:flex}.calendar-marker{border-radius:50%;place-items:center;width:.48rem;height:.48rem;font-size:.62rem;line-height:1;display:inline-grid}.calendar-marker.scheduled_task{color:#407eb5;background:#407eb5}.calendar-marker.deadline{color:#bd554d;background:#bd554d}.calendar-marker.fixed_arrangement{color:#bd8b32;background:#bd8b32}.calendar-details{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.9rem;padding:1.25rem}.calendar-details .section-heading{align-items:flex-start}.calendar-details h2{font-size:1.25rem}.calendar-detail-actions{flex-wrap:wrap;gap:.55rem;margin-bottom:1.25rem;display:flex}.calendar-detail-group{border-top:1px solid var(--color-border);padding-top:1rem}.calendar-detail-group+.calendar-detail-group{margin-top:1rem}.calendar-detail-group h3{margin:0 0 .55rem;font-size:.92rem}.calendar-detail-group ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.calendar-detail-group li{background:#f7f6f2;border-radius:.55rem;justify-content:space-between;gap:.75rem;padding:.55rem .65rem;display:flex}.calendar-detail-group p{margin:0;font-size:.86rem}.detail-time{color:var(--color-muted);white-space:nowrap;font-size:.8rem}.arrangement-form{gap:1rem;display:grid}.arrangement-form label{color:var(--color-muted);gap:.4rem;font-size:.9rem;display:grid}.arrangement-form input{border:1px solid var(--color-border);background:var(--color-surface);min-height:2.65rem;color:inherit;font:inherit;border-radius:.6rem;padding:0 .7rem}.capture-page{max-width:42rem;margin:0 auto;padding-top:1.5rem}.capture-header{margin:1.75rem 0 1.5rem}.capture-header h1{margin-bottom:.45rem}.capture-header p{margin-top:0}.capture-choice-grid{gap:.75rem;display:grid}.capture-choice{text-align:left;background:var(--color-surface);border-radius:.9rem;align-items:center;gap:1rem;width:100%;min-height:5.5rem;padding:1rem 1.15rem;display:flex}.capture-choice:hover,.capture-choice:focus-visible{border-color:var(--color-accent);background:#f0f4ef;outline:none}.capture-choice>span:last-child{gap:.3rem;display:grid}.capture-choice strong{font-size:1rem}.capture-choice small{color:var(--color-muted);font-size:.85rem}.capture-choice-icon{width:2rem;height:2rem;color:var(--color-accent);background:#e8f0e9;border-radius:50%;place-items:center;font-size:1.25rem;display:grid}.capture-form-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.9rem;padding:1.25rem}.capture-back{margin-bottom:.75rem}@media (width<=767px){.primary-nav{padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-border);inset:auto 0 0}.nav-links{justify-content:space-around}.nav-link{flex:1}.page-header,.project-header{flex-direction:column;align-items:flex-start}.page-actions{justify-content:flex-start;width:100%}.project-header .primary-button{align-self:auto}.task-row-compact{grid-template-columns:1fr;gap:.35rem}.task-meta{text-align:left}.calendar-header{align-items:flex-start}.calendar-nav{justify-content:space-between;align-self:stretch}.calendar-layout{display:block}.calendar-grid{margin-bottom:1rem}.calendar-day{min-height:3.8rem;padding:.45rem}.calendar-details{padding:1rem}}@media (width>=768px){.primary-nav{border-right:1px solid var(--color-border);width:15rem;padding:2rem 1rem;inset:0 auto 0 0}.brand{padding:0 .75rem 2rem;display:block}.nav-links{flex-direction:column;gap:.25rem}.nav-link{border-radius:.75rem;justify-content:flex-start;padding:0 .75rem}.nav-link.active{background:#e8f0e9}.main-content{margin-left:15rem;padding:2rem}}
