:root{--sage:#8fa58d;--dark:#58705a;--cream:#fbf8f0;--beige:#eee7d9;--ink:#334038;--muted:#788279;--white:#fffdf9} *{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#f5f0e5,#e8eee5);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif} button,input,select{font:inherit}.app{max-width:760px;margin:auto;min-height:100vh;padding:18px 16px 92px} header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.brand{display:flex;gap:11px;align-items:center}.logo{width:48px;height:48px;border-radius:16px;background:var(--sage);display:grid;place-items:center;font-size:24px}.brand h1{font-size:23px;margin:0}.tag,.small{font-size:12px;color:var(--muted)}.date{font-size:12px;background:#fff8;padding:9px 11px;border-radius:13px} .page{display:none}.page.active{display:block}.card,.hero{background:#fffdf9ed;border:1px solid #fff;border-radius:24px;padding:19px;margin:13px 0;box-shadow:0 12px 32px #566b5a18}.hero h2{margin:0 0 5px;font-size:25px}.hero p{margin:0 0 17px;color:var(--muted)} .progress-row{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-bottom:8px}.bar{height:12px;background:#e9e6dc;border-radius:99px;overflow:hidden}.fill{height:100%;width:0;background:linear-gradient(90deg,var(--sage),#b5c89c);transition:.25s} .card-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.card-title h3{margin:0;font-size:18px} button{border:0;border-radius:13px;padding:10px 13px;font-weight:700;cursor:pointer;background:var(--sage);color:#fff}button.secondary{background:var(--beige);color:var(--ink)} .tasks{display:grid;gap:9px}.task{display:flex;align-items:center;gap:11px;background:var(--cream);border-radius:15px;padding:12px}.task input{width:20px;height:20px;accent-color:var(--dark)}.task.done span{text-decoration:line-through;opacity:.45} .room-grid,.stats-grid,.schedule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.room{background:var(--cream);padding:15px;border-radius:17px;position:relative;cursor:pointer}.room strong{display:block;margin-top:6px}.room .delete{position:absolute;right:7px;top:7px;background:transparent;color:#777;padding:2px 6px} .stat,.schedule-item{background:var(--cream);padding:15px;border-radius:16px}.stat b{font-size:23px} .nav{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:center;gap:3px;padding:8px;background:#fffdf9ed;backdrop-filter:blur(12px);border-top:1px solid #e6e0d4}.nav button{background:transparent;color:#657064;padding:8px 11px}.nav button.active{background:var(--beige);color:var(--ink)} .modal{position:fixed;inset:0;background:#26302755;display:none;align-items:center;justify-content:center;padding:20px;z-index:10}.modal.open{display:flex}.box{background:var(--white);border-radius:24px;padding:21px;width:min(450px,100%);box-shadow:0 20px 50px #0002}.box h3{margin-top:0}label{font-size:13px;font-weight:700}input,select{width:100%;padding:12px;border:1px solid #ddd7c9;border-radius:12px;margin:7px 0 14px;background:#fff}.actions{display:flex;justify-content:flex-end;gap:8px}.empty{text-align:center;background:var(--cream);padding:17px;border-radius:15px;color:var(--muted)} .toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 14px;border-radius:13px;display:none;z-index:20;font-size:13px} @media(max-width:430px){.date{display:none}.nav button{font-size:11px;padding:8px 7px}}