@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap";:root{--olive:#3d4a2c;--olive-light:#5a6b42;--clay:#a67c52;--clay-dark:#8a6240;--tan:#c4a574;--cream:#ede4d4;--white:#fffaf4;--text:#2b2f22;--text-soft:#5c5e4f;--priority-high:#8b5a3c;--priority-medium:#c4a574;--priority-low:#8a9a6b;--radius:16px;--shadow:0 2px 10px #3d4a2c14}*{box-sizing:border-box}body{background:var(--cream);color:var(--text);margin:0;font-family:Nunito,system-ui,sans-serif}h1,h2,h3{color:var(--olive);margin:0 0 .4em;font-weight:800}p{color:var(--text-soft);line-height:1.6}.app-shell{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%}.site-header{background:var(--olive);color:var(--white);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.brand{color:var(--white);align-items:center;gap:.5rem;font-size:1.3rem;font-weight:800;text-decoration:none;display:flex}.nav-links{gap:1.6rem;display:flex}.nav-links a{color:var(--cream);opacity:.85;padding-bottom:2px;font-weight:600;text-decoration:none}.nav-links a:hover,.nav-links a.active{opacity:1;border-bottom:2px solid var(--tan)}.site-footer{background:var(--olive);color:var(--tan);text-align:center;padding:1.2rem;font-size:.9rem}.btn{cursor:pointer;border:none;border-radius:999px;padding:.7rem 1.5rem;font-family:inherit;font-weight:700;transition:transform .1s,box-shadow .15s;display:inline-block}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--clay);color:var(--white)}.btn-primary:hover{background:var(--clay-dark)}.btn-ghost{color:var(--olive);border:2px solid var(--olive);background:0 0}.btn-small{padding:.35rem .9rem;font-size:.85rem}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.section{max-width:1100px;margin:0 auto;padding:3rem 2rem}.hero{background:linear-gradient(180deg, var(--tan) 0%, var(--cream) 100%);padding:4rem 2rem}.hero-inner{grid-template-columns:1.2fr .9fr;align-items:center;gap:2.5rem;max-width:1100px;margin:0 auto;display:grid}.hero h1{font-size:2.6rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--clay-dark);font-size:.8rem;font-weight:700}.feature-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;display:grid}.feature-grid .card h3{font-size:1.1rem}.input{border:1.5px solid var(--tan);background:var(--white);border-radius:10px;width:100%;padding:.7rem 1rem;font-family:inherit;font-size:1rem}.input:focus{outline:2px solid var(--clay)}.notice{border:1.5px dashed var(--clay);color:var(--text-soft);background:#f3ecdf;border-radius:12px;margin-top:1rem;padding:.9rem 1.1rem;font-size:.92rem}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.lists-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.4rem;margin-top:1.5rem;display:grid}.list-card{flex-direction:column;gap:.8rem;display:flex}.list-card-title{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.list-card-title h3{margin:0}.task-count{color:var(--text-soft);font-size:.8rem;font-weight:600}.task-row{background:var(--cream);border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .7rem;display:flex}.task-row.done .task-title{opacity:.55;text-decoration:line-through}.task-title{flex:1;font-size:.95rem;font-weight:600}.priority-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-pill{cursor:pointer;text-transform:capitalize;border:none;border-radius:999px;padding:.25rem .6rem;font-size:.72rem;font-weight:700}.status-todo{color:var(--text-soft);background:#e4ddc9}.status-in-progress{background:var(--tan);color:var(--white)}.status-done{background:var(--olive);color:var(--white)}.add-task-form{gap:.5rem;margin-top:.3rem;display:flex}.add-task-form select{border:1.5px solid var(--tan);border-radius:10px;font-family:inherit}.task-block{flex-direction:column;gap:.35rem;display:flex}.booking-row{padding-left:1.6rem}.booking-badge{color:var(--olive);cursor:pointer;background:#e9e1cd;border:none;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:700}.booking-form{background:var(--cream);border:1.5px solid var(--tan);border-radius:12px;margin:.2rem 0 .4rem 1.6rem;padding:.8rem}.booking-form-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.booking-form-grid label{color:var(--text-soft);flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:700;display:flex}.booking-form-grid select{border:1.5px solid var(--tan);border-radius:10px;padding:.6rem;font-family:inherit}.booking-form-actions{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.booking-hint{color:var(--text-soft);margin:.6rem 0 0;font-size:.78rem}.upcoming-card{margin-top:1.5rem}.upcoming-list{flex-direction:column;gap:.6rem;margin-top:.8rem;display:flex}.upcoming-row{background:var(--cream);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.6rem .8rem;display:flex}.upcoming-when{color:var(--olive);white-space:nowrap;font-size:.85rem;font-weight:800}.upcoming-title{flex:1;min-width:120px;font-weight:600}.upcoming-list-tag{color:var(--text-soft);font-size:.8rem;font-weight:600}.reminder-tag{background:var(--tan);color:var(--white);border-radius:999px;padding:.2rem .5rem;font-size:.75rem;font-weight:700}@media (width<=640px){.booking-form-grid{grid-template-columns:1fr}}.add-list-card{border:2px dashed var(--clay);border-radius:var(--radius);background:0 0;justify-content:center;align-items:center;min-height:180px;display:flex}@media (width<=800px){.hero-inner,.feature-grid{grid-template-columns:1fr}.nav-links{gap:1rem}}
